MediawikiExtensions/Top Categories
From S23Wiki
An extension to display the "Top Categories" automatically ,ordered by number of pages in them.
[edit] example
<topcat>10</topcat>
[edit] result
| Top 10 Categories | |
|---|---|
| category | # of pages |
| Jargon | 2460 |
| Jargon_File_4.0.0_entry | 1081 |
| German | 554 |
| Linux | 492 |
| Computer | 479 |
| Drugs | 410 |
| Jargon_File_4.4.7_entry | 382 |
| People | 295 |
| Manpages | 270 |
| Wiki | 240 |
[edit] extension source
<?php
# Top Categories Mediawiki extension
# display a list of the biggest categories on the wiki
# and the number of pages in them
# <topcat>23</topcat>
# where "23" would be the number of results to display
# by mutante 23.10.2005
$wgExtensionFunctions[] = "wfTopCatExtension";
function wfTopCatExtension() {
global $wgParser;
$wgParser->setHook( "topcat", "renderTopCat" );
}
function renderTopCat( $input ) {
$input = mysql_escape_string($input);
# check if input is integer else set to 5
if (is_int($input)){
$limit = $input;
} else {
$limit = 5;
}
$hd = mysql_connect("localhost", "wikiuser", "password") or die ("Unable to connect");
mysql_select_db ("wikidb", $hd) or die ("Unable to select database");
$res= mysql_query("SELECT cl_to , COUNT(*) AS total FROM categorylinks GROUP BY cl_to ORDER BY total DESC LIMIT $input", $hd) or die ("Unable to run query");
$output="<table border=\"1\"><tr><th colspan=\"2\" align=\"center\">Top $input Categories</th></tr><tr><th align=\"left\">category</th><th align=\"right\"># of pages</th></tr>";
while ($row = mysql_fetch_assoc($res))
{
$category = $row["cl_to"];
$pages = $row["total"];
$output.="<tr><td align=\"right\"><a href=\"http://s23.org/wiki/Category:$category\">$category</a></td><td align=\"right\">$pages</td></tr>";
}
$output.="</table>";
return $output;
}
also see: MediawikiExtensions/Top Pages

