diff options
Diffstat (limited to 'includes/SpecialUnusedcategories.php')
-rw-r--r-- | includes/SpecialUnusedcategories.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/includes/SpecialUnusedcategories.php b/includes/SpecialUnusedcategories.php new file mode 100644 index 00000000..270180ef --- /dev/null +++ b/includes/SpecialUnusedcategories.php @@ -0,0 +1,48 @@ +<?php +/** + * + * @package MediaWiki + * @subpackage SpecialPage + */ + +/** + * + * @package MediaWiki + * @subpackage SpecialPage + */ +class UnusedCategoriesPage extends QueryPage { + + function getName() { + return 'Unusedcategories'; + } + + function getPageHeader() { + return '<p>' . wfMsg('unusedcategoriestext') . '</p>'; + } + + function getSQL() { + $NScat = NS_CATEGORY; + $dbr =& wfGetDB( DB_SLAVE ); + extract( $dbr->tableNames( 'categorylinks','page' )); + return "SELECT 'Unusedcategories' as type, + {$NScat} as namespace, page_title as title, 1 as value + FROM $page + LEFT JOIN $categorylinks ON page_title=cl_to + WHERE cl_from IS NULL + AND page_namespace = {$NScat} + AND page_is_redirect = 0"; + } + + function formatResult( $skin, $result ) { + $title = Title::makeTitle( NS_CATEGORY, $result->title ); + return $skin->makeLinkObj( $title, $title->getText() ); + } +} + +/** constructor */ +function wfSpecialUnusedCategories() { + list( $limit, $offset ) = wfCheckLimits(); + $uc = new UnusedCategoriesPage(); + return $uc->doQuery( $offset, $limit ); +} +?> |