5 * @subpackage SpecialPage
11 function wfSpecialStatistics() {
12 global $wgUser, $wgOut, $wgLang;
13 $fname = 'wfSpecialStatistics';
15 $dbr =& wfGetDB( DB_SLAVE
);
16 extract( $dbr->tableNames( 'page', 'site_stats', 'user', 'user_rights' ) );
18 $sql = "SELECT COUNT(page_namespace) AS total FROM $page";
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( 'sitestats' ) . "==\n" ;
32 $text .= wfMsg( 'sitestatstext',
33 $wgLang->formatNum( $total ),
34 $wgLang->formatNum( $good ),
35 $wgLang->formatNum( $views ),
36 $wgLang->formatNum( $edits ),
37 $wgLang->formatNum( sprintf( '%.2f', $total ?
$edits / $total : 0 ) ),
38 $wgLang->formatNum( sprintf( '%.2f', $edits ?
$views / $edits : 0 ) ) );
40 $text .= "\n==" . wfMsg( 'userstats' ) . "==\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(ur_user) AS total FROM $user_rights WHERE ur_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 );