diff options
Diffstat (limited to 'includes/specials/SpecialMostimages.php')
-rw-r--r-- | includes/specials/SpecialMostimages.php | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/includes/specials/SpecialMostimages.php b/includes/specials/SpecialMostimages.php new file mode 100644 index 00000000..6cfeb7ad --- /dev/null +++ b/includes/specials/SpecialMostimages.php @@ -0,0 +1,54 @@ +<?php +/** + * @file + * @ingroup SpecialPage + * + * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com> + * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason + * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later + */ + +/** + * implements Special:Mostimages + * @ingroup SpecialPage + */ +class MostimagesPage extends ImageQueryPage { + + function getName() { return 'Mostimages'; } + function isExpensive() { return true; } + function isSyndicated() { return false; } + + function getSQL() { + $dbr = wfGetDB( DB_SLAVE ); + $imagelinks = $dbr->tableName( 'imagelinks' ); + return + " + SELECT + 'Mostimages' as type, + " . NS_IMAGE . " as namespace, + il_to as title, + COUNT(*) as value + FROM $imagelinks + GROUP BY il_to + HAVING COUNT(*) > 1 + "; + } + + function getCellHtml( $row ) { + global $wgLang; + return wfMsgExt( 'nlinks', array( 'parsemag', 'escape' ), + $wgLang->formatNum( $row->value ) ) . '<br />'; + } + +} + +/** + * Constructor + */ +function wfSpecialMostimages() { + list( $limit, $offset ) = wfCheckLimits(); + + $wpp = new MostimagesPage(); + + $wpp->doQuery( $offset, $limit ); +} |