×
Create a new article
Write your page title here:
We currently have 3,189 articles on s23. Type your article name above or create one of the articles listed here!



    s23
    3,189Articles

    MediawikiExtensions/Top Categories

    An extension to display the "Top Categories" automatically ,ordered by number of pages in them.

    example[edit]

    <topcat>10</topcat>

    result[edit]

    <topcat>10</topcat>

    extension source[edit]

    <?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

    Cookies help us deliver our services. By using our services, you agree to our use of cookies.
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.