diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2006-10-11 18:12:39 +0000 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2006-10-11 18:12:39 +0000 |
commit | 183851b06bd6c52f3cae5375f433da720d410447 (patch) | |
tree | a477257decbf3360127f6739c2f9d0ec57a03d39 /includes/SpecialUnusedimages.php |
MediaWiki 1.7.1 wiederhergestellt
Diffstat (limited to 'includes/SpecialUnusedimages.php')
-rw-r--r-- | includes/SpecialUnusedimages.php | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/includes/SpecialUnusedimages.php b/includes/SpecialUnusedimages.php new file mode 100644 index 00000000..32a6f95a --- /dev/null +++ b/includes/SpecialUnusedimages.php @@ -0,0 +1,86 @@ +<?php +/** + * + * @package MediaWiki + * @subpackage SpecialPage + */ + +/** + * @package MediaWiki + * @subpackage SpecialPage + */ +class UnusedimagesPage extends QueryPage { + + function getName() { + return 'Unusedimages'; + } + + function sortDescending() { + return false; + } + function isSyndicated() { return false; } + + function getSQL() { + global $wgCountCategorizedImagesAsUsed; + $dbr =& wfGetDB( DB_SLAVE ); + + if ( $wgCountCategorizedImagesAsUsed ) { + extract( $dbr->tableNames( 'page', 'image', 'imagelinks', 'categorylinks' ) ); + + return 'SELECT img_name as title, img_user, img_user_text, img_timestamp as value, 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_IMAGE.' AND L.cl_from IS NULL AND P.il_to IS NULL'; + } else { + extract( $dbr->tableNames( 'image','imagelinks' ) ); + + return 'SELECT img_name as title, img_user, img_user_text, img_timestamp as value, img_description' . + ' FROM '.$image.' LEFT JOIN '.$imagelinks.' ON img_name=il_to WHERE il_to IS NULL '; + } + } + + function formatResult( $skin, $result ) { + global $wgLang, $wgContLang; + $title = Title::makeTitle( NS_IMAGE, $result->title ); + + $imageUrl = htmlspecialchars( Image::imageUrl( $result->title ) ); + $dirmark = $wgContLang->getDirMark(); // To keep text in correct order + + $return = + # The 'desc' linking to the image page + '('.$skin->makeKnownLinkObj( $title, wfMsg('imgdesc') ).') ' . $dirmark . + + # Link to the image itself + '<a href="' . $imageUrl . '">' . htmlspecialchars( $title->getText() ) . + '</a> . . ' . $dirmark . + + # Last modified date + $wgLang->timeanddate($result->value) . ' . . ' . $dirmark . + + # Link to username + $skin->makeLinkObj( Title::makeTitle( NS_USER, $result->img_user_text ), + $result->img_user_text) . $dirmark . + + # If there is a description, show it + $skin->commentBlock( $wgContLang->convert( $result->img_description ) ); + + return $return; + } + + function getPageHeader() { + return wfMsg( "unusedimagestext" ); + } + +} + +/** + * Entry point + */ +function wfSpecialUnusedimages() { + list( $limit, $offset ) = wfCheckLimits(); + $uip = new UnusedimagesPage(); + + return $uip->doQuery( $offset, $limit ); +} +?> |