Disable Special:Sitesettings, as it is far far far from working.
[lhc/web/wiklou.git] / includes / SiteStatsUpdate.php
1 <?php
2 /**
3 * See deferred.txt
4 *
5 * @package MediaWiki
6 */
7
8 /**
9 *
10 * @package MediaWiki
11 */
12 class SiteStatsUpdate {
13
14 var $mViews, $mEdits, $mGood;
15
16 function SiteStatsUpdate( $views, $edits, $good ) {
17 $this->mViews = $views;
18 $this->mEdits = $edits;
19 $this->mGood = $good;
20 }
21
22 function doUpdate() {
23 $a = array();
24
25 if ( $this->mViews < 0 ) { $m = '-1'; }
26 else if ( $this->mViews > 0 ) { $m = '+1'; }
27 else $m = '';
28 array_push( $a, "ss_total_views=(ss_total_views$m)" );
29
30 if ( $this->mEdits < 0 ) { $m = '-1'; }
31 else if ( $this->mEdits > 0 ) { $m = '+1'; }
32 else $m = '';
33 array_push( $a, "ss_total_edits=(ss_total_edits$m)" );
34
35 if ( $this->mGood < 0 ) { $m = '-1'; }
36 else if ( $this->mGood > 0 ) { $m = '+1'; }
37 else $m = '';
38 array_push( $a, "ss_good_articles=(ss_good_articles$m)" );
39
40 $db =& wfGetDB( DB_MASTER );
41 $site_stats = $db->tableName( 'site_stats' );
42 $lowpri = $db->lowPriorityOption();
43
44 $sql = "UPDATE $lowpri $site_stats SET " . implode ( ',', $a ) .
45 ' WHERE ss_row_id=1';
46 $db->query( $sql, 'SiteStatsUpdate::doUpdate' );
47 }
48 }
49 ?>