diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2011-12-03 13:29:22 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2011-12-03 13:29:22 +0100 |
commit | ca32f08966f1b51fcb19460f0996bb0c4048e6fe (patch) | |
tree | ec04cc15b867bc21eedca904cea9af0254531a11 /includes/specials/SpecialUnusedimages.php | |
parent | a22fbfc60f36f5f7ee10d5ae6fe347340c2ee67c (diff) |
Update to MediaWiki 1.18.0
* also update ArchLinux skin to chagnes in MonoBook
* Use only css to hide our menu bar when printing
Diffstat (limited to 'includes/specials/SpecialUnusedimages.php')
-rw-r--r-- | includes/specials/SpecialUnusedimages.php | 70 |
1 files changed, 36 insertions, 34 deletions
diff --git a/includes/specials/SpecialUnusedimages.php b/includes/specials/SpecialUnusedimages.php index 091ec3a3..6407de44 100644 --- a/includes/specials/SpecialUnusedimages.php +++ b/includes/specials/SpecialUnusedimages.php @@ -27,41 +27,53 @@ * @ingroup SpecialPage */ class UnusedimagesPage extends ImageQueryPage { + function __construct( $name = 'Unusedimages' ) { + parent::__construct( $name ); + } - function isExpensive() { return true; } - - function getName() { - return 'Unusedimages'; + function isExpensive() { + return true; } function sortDescending() { return false; } - function isSyndicated() { return false; } - - function getSQL() { - global $wgCountCategorizedImagesAsUsed; - $dbr = wfGetDB( DB_SLAVE ); + function isSyndicated() { + return false; + } - $epoch = $dbr->unixTimestamp( 'img_timestamp' ); + function getQueryInfo() { + global $wgCountCategorizedImagesAsUsed; + $retval = array ( + 'tables' => array ( 'image', 'imagelinks' ), + 'fields' => array ( "'" . NS_FILE . "' AS namespace", + 'img_name AS title', + 'img_timestamp AS value', + 'img_user', 'img_user_text', + 'img_description' ), + 'conds' => array ( 'il_to IS NULL' ), + 'join_conds' => array ( 'imagelinks' => array ( + 'LEFT JOIN', 'il_to = img_name' ) ) + ); if ( $wgCountCategorizedImagesAsUsed ) { - list( $page, $image, $imagelinks, $categorylinks ) = $dbr->tableNamesN( 'page', 'image', 'imagelinks', 'categorylinks' ); - - return "SELECT 'Unusedimages' as type, 6 as namespace, img_name as title, $epoch as value, - img_user, img_user_text, img_description - FROM ((($page AS I LEFT JOIN $categorylinks AS L ON I.page_id = L.cl_from) - LEFT JOIN $imagelinks AS P ON I.page_title = P.il_to) - INNER JOIN $image AS G ON I.page_title = G.img_name) - WHERE I.page_namespace = ".NS_FILE." AND L.cl_from IS NULL AND P.il_to IS NULL"; - } else { - list( $image, $imagelinks ) = $dbr->tableNamesN( 'image','imagelinks' ); - - return "SELECT 'Unusedimages' as type, 6 as namespace, img_name as title, $epoch as value, - img_user, img_user_text, img_description - FROM $image LEFT JOIN $imagelinks ON img_name=il_to WHERE il_to IS NULL "; + // Order is significant + $retval['tables'] = array ( 'image', 'page', 'categorylinks', + 'imagelinks' ); + $retval['conds']['page_namespace'] = NS_FILE; + $retval['conds'][] = 'cl_from IS NULL'; + $retval['conds'][] = 'img_name = page_title'; + $retval['join_conds']['categorylinks'] = array ( + 'LEFT JOIN', 'cl_from = page_id' ); + $retval['join_conds']['imagelinks'] = array ( + 'LEFT JOIN', 'il_to = page_title' ); } + return $retval; + } + + function usesTimestamps() { + return true; } function getPageHeader() { @@ -69,13 +81,3 @@ class UnusedimagesPage extends ImageQueryPage { } } - -/** - * Entry point - */ -function wfSpecialUnusedimages() { - list( $limit, $offset ) = wfCheckLimits(); - $uip = new UnusedimagesPage(); - - return $uip->doQuery( $offset, $limit ); -} |