2004-02-18 02:15:00 +00:00
|
|
|
<?php
|
2004-09-02 23:28:24 +00:00
|
|
|
/**
|
|
|
|
|
*
|
2004-09-03 23:00:01 +00:00
|
|
|
* @package MediaWiki
|
|
|
|
|
* @subpackage SpecialPage
|
2004-09-02 23:28:24 +00:00
|
|
|
*/
|
2003-07-11 07:02:22 +00:00
|
|
|
|
2004-09-02 23:28:24 +00:00
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
*/
|
2004-06-01 21:50:32 +00:00
|
|
|
require_once("QueryPage.php");
|
|
|
|
|
|
2004-09-02 23:28:24 +00:00
|
|
|
/**
|
|
|
|
|
*
|
2004-09-03 23:00:01 +00:00
|
|
|
* @package MediaWiki
|
|
|
|
|
* @subpackage SpecialPage
|
2004-09-02 23:28:24 +00:00
|
|
|
*/
|
2004-06-01 21:50:32 +00:00
|
|
|
class CategoriesPage extends QueryPage {
|
|
|
|
|
|
|
|
|
|
function getName() {
|
|
|
|
|
return "Categories";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function isExpensive() {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
2004-11-13 20:40:28 +00:00
|
|
|
function isSyndicated() { return false; }
|
|
|
|
|
|
2004-09-22 00:58:41 +00:00
|
|
|
function getPageHeader() {
|
2005-09-12 20:28:24 +00:00
|
|
|
return wfMsgWikiHtml('categoriespagetext') . "<br />\n";
|
2004-09-22 00:58:41 +00:00
|
|
|
}
|
2004-06-01 21:50:32 +00:00
|
|
|
function getSQL() {
|
2004-06-01 22:06:56 +00:00
|
|
|
$NScat = NS_CATEGORY;
|
2004-07-18 08:48:43 +00:00
|
|
|
$dbr =& wfGetDB( DB_SLAVE );
|
|
|
|
|
$categorylinks = $dbr->tableName( 'categorylinks' );
|
2006-01-07 13:09:30 +00:00
|
|
|
$s= "SELECT 'Categories' as type,
|
2004-06-01 21:50:32 +00:00
|
|
|
{$NScat} as namespace,
|
|
|
|
|
cl_to as title,
|
2005-11-24 03:11:22 +00:00
|
|
|
1 as value,
|
|
|
|
|
COUNT(*) as count
|
|
|
|
|
FROM $categorylinks
|
|
|
|
|
GROUP BY cl_to";
|
|
|
|
|
return $s;
|
2004-06-01 21:50:32 +00:00
|
|
|
}
|
2006-01-07 13:31:29 +00:00
|
|
|
|
2004-06-01 21:50:32 +00:00
|
|
|
function sortDescending() {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function formatResult( $skin, $result ) {
|
2004-06-01 22:06:56 +00:00
|
|
|
$title = Title::makeTitle( NS_CATEGORY, $result->title );
|
2005-11-24 03:11:22 +00:00
|
|
|
$plink = $skin->makeLinkObj( $title, $title->getText() );
|
|
|
|
|
$nlinks = wfMsg( 'nlinks', $result->count );
|
|
|
|
|
return "$plink ($nlinks)";
|
2004-06-01 21:50:32 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2004-09-02 23:28:24 +00:00
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
function wfSpecialCategories() {
|
2004-06-01 21:50:32 +00:00
|
|
|
list( $limit, $offset ) = wfCheckLimits();
|
|
|
|
|
|
|
|
|
|
$cap = new CategoriesPage();
|
|
|
|
|
|
|
|
|
|
return $cap->doQuery( $offset, $limit );
|
2003-07-11 07:02:22 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
?>
|