diff options
Diffstat (limited to 'includes/specials/SpecialUncategorizedimages.php')
-rw-r--r-- | includes/specials/SpecialUncategorizedimages.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/includes/specials/SpecialUncategorizedimages.php b/includes/specials/SpecialUncategorizedimages.php new file mode 100644 index 00000000..986ec967 --- /dev/null +++ b/includes/specials/SpecialUncategorizedimages.php @@ -0,0 +1,48 @@ +<?php +/** + * Special page lists images which haven't been categorised + * + * @file + * @ingroup SpecialPage + * @author Rob Church <robchur@gmail.com> + */ + +/** + * @ingroup SpecialPage + */ +class UncategorizedImagesPage extends ImageQueryPage { + + function getName() { + return 'Uncategorizedimages'; + } + + function sortDescending() { + return false; + } + + function isExpensive() { + return true; + } + + function isSyndicated() { + return false; + } + + function getSQL() { + $dbr = wfGetDB( DB_SLAVE ); + list( $page, $categorylinks ) = $dbr->tableNamesN( 'page', 'categorylinks' ); + $ns = NS_IMAGE; + + return "SELECT 'Uncategorizedimages' AS type, page_namespace AS namespace, + page_title AS title, page_title AS value + FROM {$page} LEFT JOIN {$categorylinks} ON page_id = cl_from + WHERE cl_from IS NULL AND page_namespace = {$ns} AND page_is_redirect = 0"; + } + +} + +function wfSpecialUncategorizedimages() { + $uip = new UncategorizedImagesPage(); + list( $limit, $offset ) = wfCheckLimits(); + return $uip->doQuery( $offset, $limit ); +} |