5 * @subpackage SpecialPage
11 function wfSpecialStatistics() {
12 global $wgUser, $wgOut, $wgLang;
13 $fname = "wfSpecialStatistics";
15 $wgOut->addHTML( "<h2>" . wfMsg( "sitestats" ) . "</h2>\n" );
17 $dbr =& wfGetDB( DB_SLAVE
);
18 extract( $dbr->tableNames( 'cur', 'site_stats', 'user', 'user_rights' ) );
20 $sql = "SELECT COUNT(cur_id) AS total FROM $cur";
21 $res = $dbr->query( $sql, $fname );
22 $row = $dbr->fetchObject( $res );
25 $sql = "SELECT ss_total_views, ss_total_edits, ss_good_articles " .
26 "FROM $site_stats WHERE ss_row_id=1";
27 $res = $dbr->query( $sql, $fname );
28 $row = $dbr->fetchObject( $res );
29 $views = $row->ss_total_views
;
30 $edits = $row->ss_total_edits
;
31 $good = $row->ss_good_articles
;
33 $text = wfMsg( "sitestatstext",
34 $wgLang->formatNum( $total ),
35 $wgLang->formatNum( $good ),
36 $wgLang->formatNum( $views ),
37 $wgLang->formatNum( $edits ),
38 $wgLang->formatNum( sprintf( "%.2f", $total ?
$edits / $total : 0 ) ),
39 $wgLang->formatNum( sprintf( "%.2f", $edits ?
$views / $edits : 0 ) ) );
41 $wgOut->addWikiText( $text );
42 $wgOut->addHTML( "<h2>" . wfMsg( "userstats" ) . "</h2>\n" );
44 $sql = "SELECT COUNT(user_id) AS total FROM $user";
45 $res = $dbr->query( $sql, $fname );
46 $row = $dbr->fetchObject( $res );
49 $sql = "SELECT COUNT(user_id) AS total FROM $user_rights WHERE user_rights LIKE '%sysop%'";
50 $res = $dbr->query( $sql, $fname );
51 $row = $dbr->fetchObject( $res );
52 $admins = $row->total
;
54 $sk = $wgUser->getSkin();
55 $ap = "[[" . wfMsg( "administrators" ) . "]]";
57 $text = wfMsg( "userstatstext",
58 $wgLang->formatNum( $total ),
59 $wgLang->formatNum( $admins ), $ap );
60 $wgOut->addWikiText( $text );