* Added a test for a link with multiple pipes
[lhc/web/wiklou.git] / includes / SpecialStatistics.php
1 <?php
2 /**
3 *
4 * @package MediaWiki
5 * @subpackage SpecialPage
6 */
7
8 /**
9 * constructor
10 */
11 function wfSpecialStatistics() {
12 global $wgUser, $wgOut, $wgLang;
13 $fname = 'wfSpecialStatistics';
14
15 $wgOut->addHTML( '<h2>' . wfMsg( 'sitestats' ) . "</h2>\n" );
16
17 $dbr =& wfGetDB( DB_SLAVE );
18 extract( $dbr->tableNames( 'page', 'site_stats', 'user', 'user_rights' ) );
19
20 $sql = "SELECT COUNT(page_namespace) AS total FROM $page";
21 $res = $dbr->query( $sql, $fname );
22 $row = $dbr->fetchObject( $res );
23 $total = $row->total;
24
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;
32
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 ) ) );
40
41 $wgOut->addWikiText( $text );
42 $wgOut->addHTML( '<h2>' . wfMsg( 'userstats' ) . "</h2>\n" );
43
44 $sql = "SELECT COUNT(user_id) AS total FROM $user";
45 $res = $dbr->query( $sql, $fname );
46 $row = $dbr->fetchObject( $res );
47 $total = $row->total;
48
49 $sql = "SELECT COUNT(ur_user) AS total FROM $user_rights WHERE ur_rights LIKE '%sysop%'";
50 $res = $dbr->query( $sql, $fname );
51 $row = $dbr->fetchObject( $res );
52 $admins = $row->total;
53
54 $sk = $wgUser->getSkin();
55 $ap = '[[' . wfMsg( 'administrators' ) . ']]';
56
57 $text = wfMsg( 'userstatstext',
58 $wgLang->formatNum( $total ),
59 $wgLang->formatNum( $admins ), $ap );
60 $wgOut->addWikiText( $text );
61 }
62 ?>