Split user table into two parts: user and user_rights, for single login. BUG#57
[lhc/web/wiklou.git] / includes / SpecialStatistics.php
1 <?php
2
3 function wfSpecialStatistics()
4 {
5 global $wgUser, $wgOut, $wgLang;
6 $fname = "wfSpecialStatistics";
7
8 $wgOut->addHTML( "<h2>" . wfMsg( "sitestats" ) . "</h2>\n" );
9
10 $dbr =& wfGetDB( DB_SLAVE );
11 extract( $dbr->tableNames( 'cur', 'site_stats', 'user', 'user_rights' ) );
12
13 $sql = "SELECT COUNT(cur_id) AS total FROM $cur";
14 $res = $dbr->query( $sql, $fname );
15 $row = $dbr->fetchObject( $res );
16 $total = $row->total;
17
18 $sql = "SELECT ss_total_views, ss_total_edits, ss_good_articles " .
19 "FROM $site_stats WHERE ss_row_id=1";
20 $res = $dbr->query( $sql, $fname );
21 $row = $dbr->fetchObject( $res );
22 $views = $row->ss_total_views;
23 $edits = $row->ss_total_edits;
24 $good = $row->ss_good_articles;
25
26 $text = wfMsg( "sitestatstext",
27 $wgLang->formatNum( $total ),
28 $wgLang->formatNum( $good ),
29 $wgLang->formatNum( $views ),
30 $wgLang->formatNum( $edits ),
31 $wgLang->formatNum( sprintf( "%.2f", $total ? $edits / $total : 0 ) ),
32 $wgLang->formatNum( sprintf( "%.2f", $edits ? $views / $edits : 0 ) ) );
33
34 $wgOut->addWikiText( $text );
35 $wgOut->addHTML( "<h2>" . wfMsg( "userstats" ) . "</h2>\n" );
36
37 $sql = "SELECT COUNT(user_id) AS total FROM $user";
38 $res = $dbr->query( $sql, $fname );
39 $row = $dbr->fetchObject( $res );
40 $total = $row->total;
41
42 $sql = "SELECT COUNT(user_id) AS total FROM $user_rights WHERE user_rights LIKE '%sysop%'";
43 $res = $dbr->query( $sql, $fname );
44 $row = $dbr->fetchObject( $res );
45 $admins = $row->total;
46
47 $sk = $wgUser->getSkin();
48 $ap = "[[" . wfMsg( "administrators" ) . "]]";
49
50 $text = wfMsg( "userstatstext",
51 $wgLang->formatNum( $total ),
52 $wgLang->formatNum( $admins ), $ap );
53 $wgOut->addWikiText( $text );
54
55 }
56
57 ?>