9 function wfSpecialStatistics() {
10 global $wgUser, $wgOut, $wgLang;
11 $fname = "wfSpecialStatistics";
13 $wgOut->addHTML( "<h2>" . wfMsg( "sitestats" ) . "</h2>\n" );
15 $dbr =& wfGetDB( DB_SLAVE
);
16 extract( $dbr->tableNames( 'cur', 'site_stats', 'user', 'user_rights' ) );
18 $sql = "SELECT COUNT(cur_id) AS total FROM $cur";
19 $res = $dbr->query( $sql, $fname );
20 $row = $dbr->fetchObject( $res );
23 $sql = "SELECT ss_total_views, ss_total_edits, ss_good_articles " .
24 "FROM $site_stats WHERE ss_row_id=1";
25 $res = $dbr->query( $sql, $fname );
26 $row = $dbr->fetchObject( $res );
27 $views = $row->ss_total_views
;
28 $edits = $row->ss_total_edits
;
29 $good = $row->ss_good_articles
;
31 $text = wfMsg( "sitestatstext",
32 $wgLang->formatNum( $total ),
33 $wgLang->formatNum( $good ),
34 $wgLang->formatNum( $views ),
35 $wgLang->formatNum( $edits ),
36 $wgLang->formatNum( sprintf( "%.2f", $total ?
$edits / $total : 0 ) ),
37 $wgLang->formatNum( sprintf( "%.2f", $edits ?
$views / $edits : 0 ) ) );
39 $wgOut->addWikiText( $text );
40 $wgOut->addHTML( "<h2>" . wfMsg( "userstats" ) . "</h2>\n" );
42 $sql = "SELECT COUNT(user_id) AS total FROM $user";
43 $res = $dbr->query( $sql, $fname );
44 $row = $dbr->fetchObject( $res );
47 $sql = "SELECT COUNT(user_id) AS total FROM $user_rights WHERE user_rights LIKE '%sysop%'";
48 $res = $dbr->query( $sql, $fname );
49 $row = $dbr->fetchObject( $res );
50 $admins = $row->total
;
52 $sk = $wgUser->getSkin();
53 $ap = "[[" . wfMsg( "administrators" ) . "]]";
55 $text = wfMsg( "userstatstext",
56 $wgLang->formatNum( $total ),
57 $wgLang->formatNum( $admins ), $ap );
58 $wgOut->addWikiText( $text );