3661dca4f61f3a47ada0d30063118cbc36dfdb8a
[lhc/web/wiklou.git] / includes / SiteStatsUpdate.php
1 <?
2 # See deferred.doc
3
4 class SiteStatsUpdate {
5
6 var $mViews, $mEdits, $mGood;
7
8 function SiteStatsUpdate( $views, $edits, $good )
9 {
10 $this->mViews = $views;
11 $this->mEdits = $edits;
12 $this->mGood = $good;
13 }
14
15 function doUpdate()
16 {
17 global $wgDisableCounters;
18 if ( $wgDisableCounters ) { return; }
19
20 $a = array();
21
22 if ( $this->mViews < 0 ) { $m = "-1"; }
23 else if ( $this->mViews > 0 ) { $m = "+1"; }
24 else $m = "";
25 array_push( $a, "ss_total_views=(ss_total_views$m)" );
26
27 if ( $this->mEdits < 0 ) { $m = "-1"; }
28 else if ( $this->mEdits > 0 ) { $m = "+1"; }
29 else $m = "";
30 array_push( $a, "ss_total_edits=(ss_total_edits$m)" );
31
32 if ( $this->mGood < 0 ) { $m = "-1"; }
33 else if ( $this->mGood > 0 ) { $m = "+1"; }
34 else $m = "";
35 array_push( $a, "ss_good_articles=(ss_good_articles$m)" );
36
37 $sql = "UPDATE LOW_PRIORITY site_stats SET " . implode ( ",", $a ) .
38 " WHERE ss_row_id=1";
39 wfQuery( $sql, "SiteStatsUpdate::doUpdate" );
40 }
41 }
42
43 ?>