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