22 parent::__construct( $query, $moduleName,
'ci' );
27 $alltitles = $this->
getPageSet()->getGoodAndMissingTitlesByNamespace();
33 $titles = $this->
getPageSet()->getGoodAndMissingPages();
35 foreach ( $categories as $c ) {
38 $cattitles[$c] = $t->getDBkey();
41 $this->
addTables( [
'category',
'page',
'page_props' ] );
43 'page' => [
'LEFT JOIN', [
44 'page_namespace' => NS_CATEGORY,
45 'page_title=cat_title' ] ],
46 'page_props' => [
'LEFT JOIN', [
48 'pp_propname' =>
'hiddencat' ] ],
56 'cat_hidden' =>
'pp_propname'
58 $this->
addWhere( [
'cat_title' => $cattitles ] );
60 if ( $params[
'continue'] !==
null ) {
61 $this->
addWhere( $this->
getDB()->expr(
'cat_title',
'>=', $params[
'continue'] ) );
63 $this->
addOption(
'ORDER BY',
'cat_title' );
65 $res = $this->
select( __METHOD__ );
67 $catids = array_flip( $cattitles );
68 foreach ( $res as $row ) {
70 $vals[
'size'] = (int)$row->cat_pages;
71 $vals[
'pages'] = $row->cat_pages - $row->cat_subcats - $row->cat_files;
72 $vals[
'files'] = (int)$row->cat_files;
73 $vals[
'subcats'] = (int)$row->cat_subcats;
74 $vals[
'hidden'] = (bool)$row->cat_hidden;
100 'action=query&prop=categoryinfo&titles=Category:Foo|Category:Bar'
101 =>
'apihelp-query+categoryinfo-example-simple',
107 return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Categoryinfo';
112class_alias( ApiQueryCategoryInfo::class,
'ApiQueryCategoryInfo' );