MediaWiki, how to add filters to the SpecialPages:Categories page?

Viewed 19
1 Answers

I've found the solution

The source code for the Special Pages is inside the folder includes/specials. There are many scripts here about categories and by comparing some of those files I could find out the syntax used to manipulate queries in mediawiki which is defined through the method getQueryInfo() inside each file.

I'm posting the queries defined each in a different Special Page related to categories

public function getQueryInfo() {
        return [
            'tables' => [ 'category' ],
            'fields' => [ 'title' => 'cat_title',
                'namespace' => NS_CATEGORY,
                'value' => 'cat_pages' ],
            'conds' => [ 'cat_pages > 0' ],
        ];
    }

public function getQueryInfo() {
        return [
            'tables' => [ 'categorylinks', 'page' ],
            'fields' => [
                'namespace' => 'page_namespace',
                'title' => 'page_title',
                'value' => 'COUNT(*)'
            ],
            'conds' => [
                'page_namespace' => $this->namespaceInfo->getContentNamespaces()
            ],
            'options' => [
                'HAVING' => 'COUNT(*) > 1',
                'GROUP BY' => [ 'page_namespace', 'page_title' ]
            ],
            'join_conds' => [
                'page' => [
                    'LEFT JOIN',
                    'page_id = cl_from'
                ]
            ]
        ];
    }

enter image description here

Related