00001 <?php 00002 # $Id: SiteStatsUpdate.php,v 1.6 2004/06/09 16:15:25 midom Exp $ 00003 # See deferred.doc 00004 00005 class SiteStatsUpdate { 00006 00007 var $mViews, $mEdits, $mGood; 00008 00009 function SiteStatsUpdate( $views, $edits, $good ) 00010 { 00011 $this->mViews = $views; 00012 $this->mEdits = $edits; 00013 $this->mGood = $good; 00014 } 00015 00016 function doUpdate() 00017 { 00018 global $wgIsMySQL; 00019 $a = array(); 00020 00021 if ( $this->mViews < 0 ) { $m = "-1"; } 00022 else if ( $this->mViews > 0 ) { $m = "+1"; } 00023 else $m = ""; 00024 array_push( $a, "ss_total_views=(ss_total_views$m)" ); 00025 00026 if ( $this->mEdits < 0 ) { $m = "-1"; } 00027 else if ( $this->mEdits > 0 ) { $m = "+1"; } 00028 else $m = ""; 00029 array_push( $a, "ss_total_edits=(ss_total_edits$m)" ); 00030 00031 if ( $this->mGood < 0 ) { $m = "-1"; } 00032 else if ( $this->mGood > 0 ) { $m = "+1"; } 00033 else $m = ""; 00034 array_push( $a, "ss_good_articles=(ss_good_articles$m)" ); 00035 $lowpri=$wgIsMySQL?"LOW_PRIORITY":""; 00036 $sql = "UPDATE $lowpri site_stats SET " . implode ( ",", $a ) . 00037 " WHERE ss_row_id=1"; 00038 wfQuery( $sql, DB_WRITE, "SiteStatsUpdate::doUpdate" ); 00039 } 00040 } 00041 00042 ?>