Refactored parser output handling slightly, and added a hook function, to allow exten...
[lhc/web/wiklou.git] / includes / SpecialCategories.php
1 <?php
2 /**
3 *
4 * @package MediaWiki
5 * @subpackage SpecialPage
6 */
7
8 /**
9 *
10 * @package MediaWiki
11 * @subpackage SpecialPage
12 */
13 class CategoriesPage extends QueryPage {
14
15 function getName() {
16 return "Categories";
17 }
18
19 function isExpensive() {
20 return false;
21 }
22
23 function isSyndicated() { return false; }
24
25 function getPageHeader() {
26 return wfMsgWikiHtml( 'categoriespagetext' );
27 }
28
29 function getSQL() {
30 $NScat = NS_CATEGORY;
31 $dbr =& wfGetDB( DB_SLAVE );
32 $categorylinks = $dbr->tableName( 'categorylinks' );
33 $s= "SELECT 'Categories' as type,
34 {$NScat} as namespace,
35 cl_to as title,
36 1 as value,
37 COUNT(*) as count
38 FROM $categorylinks
39 GROUP BY 1,2,3,4";
40 return $s;
41 }
42
43 function sortDescending() {
44 return false;
45 }
46
47 function formatResult( $skin, $result ) {
48 global $wgLang;
49 $title = Title::makeTitle( NS_CATEGORY, $result->title );
50 $plink = $skin->makeLinkObj( $title, $title->getText() );
51 $nlinks = wfMsgExt( 'nmembers', array( 'parsemag', 'escape'),
52 $wgLang->formatNum( $result->count ) );
53 return wfSpecialList($plink, $nlinks);
54 }
55 }
56
57 /**
58 *
59 */
60 function wfSpecialCategories() {
61 list( $limit, $offset ) = wfCheckLimits();
62
63 $cap = new CategoriesPage();
64
65 return $cap->doQuery( $offset, $limit );
66 }
67
68 ?>