Adjust UTF-8 generator for correctness. (Upper private use area, probably affects...
[mediawiki.git] / includes / SiteStatsUpdate.php
blob536908dba277ffc22d4a400a0ecd5a6d69f528d8
1 <?php
2 # $Id$
3 # See deferred.doc
5 class SiteStatsUpdate {
7 var $mViews, $mEdits, $mGood;
9 function SiteStatsUpdate( $views, $edits, $good )
11 $this->mViews = $views;
12 $this->mEdits = $edits;
13 $this->mGood = $good;
16 function doUpdate()
18 $a = array();
20 if ( $this->mViews < 0 ) { $m = '-1'; }
21 else if ( $this->mViews > 0 ) { $m = '+1'; }
22 else $m = '';
23 array_push( $a, "ss_total_views=(ss_total_views$m)" );
25 if ( $this->mEdits < 0 ) { $m = '-1'; }
26 else if ( $this->mEdits > 0 ) { $m = '+1'; }
27 else $m = '';
28 array_push( $a, "ss_total_edits=(ss_total_edits$m)" );
30 if ( $this->mGood < 0 ) { $m = '-1'; }
31 else if ( $this->mGood > 0 ) { $m = '+1'; }
32 else $m = '';
33 array_push( $a, "ss_good_articles=(ss_good_articles$m)" );
35 $db =& wfGetDB( DB_MASTER );
36 $site_stats = $db->tableName( 'site_stats' );
37 $lowpri = $db->lowPriorityOption();
39 $sql = "UPDATE $lowpri $site_stats SET " . implode ( ',', $a ) .
40 ' WHERE ss_row_id=1';
41 $db->query( $sql, 'SiteStatsUpdate::doUpdate' );