<?php
/**
*
+ * @package MediaWiki
+ * @subpackage SpecialPage
*/
/**
*
- */
-require_once("QueryPage.php");
-
-/**
- *
+ * @package MediaWiki
+ * @subpackage SpecialPage
*/
class CategoriesPage extends QueryPage {
return false;
}
+ function isSyndicated() { return false; }
+
+ function getPageHeader() {
+ return wfMsgWikiHtml( 'categoriespagetext' );
+ }
+
function getSQL() {
$NScat = NS_CATEGORY;
$dbr =& wfGetDB( DB_SLAVE );
$categorylinks = $dbr->tableName( 'categorylinks' );
- return "SELECT DISTINCT 'Categories' as type,
+ $implicit_groupby = $dbr->implicitGroupby() ? '1' : 'cl_to';
+ $s= "SELECT 'Categories' as type,
{$NScat} as namespace,
cl_to as title,
- 1 as value
- FROM $categorylinks";
+ $implicit_groupby as value,
+ COUNT(*) as count
+ FROM $categorylinks
+ GROUP BY 1,2,3,4";
+ return $s;
}
-
+
function sortDescending() {
return false;
}
function formatResult( $skin, $result ) {
global $wgLang;
$title = Title::makeTitle( NS_CATEGORY, $result->title );
- return $skin->makeLinkObj( $title, $title->getText() );
+ $plink = $skin->makeLinkObj( $title, $title->getText() );
+ $nlinks = wfMsgExt( 'nmembers', array( 'parsemag', 'escape'),
+ $wgLang->formatNum( $result->count ) );
+ return wfSpecialList($plink, $nlinks);
}
}