[ Index ]
 

Code source de e107 0.7.8

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/e107_plugins/log/ -> log_update.php (source)

   1  <?php
   2  /*
   3  + ----------------------------------------------------------------------------+
   4  |     e107 website system
   5  |
   6  |     ©Steve Dunstan 2001-2002
   7  |     http://e107.org
   8  |     jalist@e107.org
   9  |
  10  |     Released under the terms and conditions of the
  11  |     GNU General Public License (http://gnu.org).
  12  |
  13  |     $Source: /cvsroot/e107/e107_0.7/e107_plugins/log/log_update.php,v $
  14  |     $Revision: 1.4 $
  15  |     $Date: 2006/01/12 12:42:36 $
  16  |     $Author: sweetas $
  17  +----------------------------------------------------------------------------+
  18  */
  19  
  20  if (!defined('e107_INIT')) { exit; }
  21  
  22  set_time_limit(300);
  23  
  24  $us = new updateStats;
  25  
  26  for ($i = 1; $i <= 7; $i++) {
  27      if (!$sql -> db_Select("generic", "*", "gen_type='stat_update' && gen_intdata=".$i)) {
  28          if (!$sql -> db_Select("stat_info", "*", "info_type='99' && info_count='".$i."'")) {
  29              $func = "stage".$i;
  30              $us -> $func();
  31              $sql -> db_Insert("stat_info", "'Stats Update Stage ".$i." Complete', '".$i."', '99'");
  32          }
  33      } else {
  34          $sql -> db_Insert("stat_info", "'Stats Update Stage ".$i." Complete', '".$i."', '99'");
  35          $sql -> db_Delete("generic", "gen_type='stat_update' && gen_intdata=".$i);
  36      }
  37  }
  38  
  39  if (!$sql -> db_Select("logstats", "*", "log_id='statQuery'")) {
  40      $sql -> db_Insert("logstats", "0, 'statQuery', ''");
  41  }
  42  
  43  class updateStats {
  44  
  45  	function stage1() {
  46          global $sql;
  47          // Converting stat_counter entries
  48      
  49          $stattotal = $sql -> db_Select("logstats", "*", "log_id='statTotal' ");
  50          $statunique = $sql -> db_Select("logstats", "*", "log_id='statUnique' ");
  51      
  52          if($sql -> db_Select("logstats", "*", "log_id='pageTotal' "))
  53          {
  54              $row = $sql -> db_Fetch();
  55              $pageTotal = unserialize($row['log_data']);
  56          }
  57          else
  58          {
  59              $pageTotal = array();
  60          }
  61      
  62          if(!$sql -> db_Select("stat_counter", "*", "ORDER BY counter_date, counter_url DESC", "nowhere"))
  63          {
  64              return;
  65          }
  66      
  67          $monthArray = array();
  68          $totalArray = array();
  69          while($stat = $sql -> db_Fetch())
  70          {
  71              extract($stat);
  72      
  73              /* collate pageTotal */
  74              $pagename = str_replace(".php", "", $counter_url);
  75              $totalArray[$pagename]['ttlv'] += $counter_total;
  76              $totalArray[$pagename]['unqv'] += $counter_unique;
  77              $stattotal += $counter_total;
  78              $statunique += $counter_unique;
  79                  
  80              /* done */
  81      
  82              /* collate monthly totals */
  83              list($year, $month, $day) = explode("-", $counter_date);
  84              $monthstore = $year."-".$month;
  85              if(strstr($pagename, "forum"))
  86              {
  87                  $pagename = "forum";
  88              }
  89      
  90              $monthArray[$monthstore]['TOTAL']['ttlv'] += $counter_total;
  91              $monthArray[$monthstore]['TOTAL']['unqv'] += $counter_unique;
  92              $monthArray[$monthstore][$counter_url]['ttlv'] += $counter_total;
  93              $monthArray[$monthstore][$counter_url]['unqv'] += $counter_unique;
  94  
  95              $dailyArray[$counter_date][$pagename] = array('url' => $counter_url, 'ttl' => $counter_total, 'unq' => $counter_unique);
  96              $dailyTotal[$counter_date]['ttl'] += $counter_total;
  97              $dailyTotal[$counter_date]['unq'] += $counter_unique;
  98          }
  99              
 100          if(!$sql -> db_Update("logstats", "log_data='$stattotal' WHERE log_id='statTotal' "))
 101          {
 102              $sql -> db_Insert("logstats", "0, 'statTotal', '$stattotal' ");
 103          }
 104          if(!$sql -> db_Update("logstats", "log_data='$statunique' WHERE log_id='statUnique' "))
 105          {
 106              $sql -> db_Insert("logstats", "0, 'statUnique', '$statunique' ");
 107          }
 108      
 109          $totalarray = serialize($totalArray);
 110      
 111          if(!$sql -> db_Update("logstats", "log_data='$totalarray' WHERE log_id='pageTotal' "))
 112          {
 113              $sql -> db_Insert("logstats", "0, 'pageTotal', '$totalarray' ");
 114          }
 115      
 116          foreach($monthArray as $key => $value)
 117          {
 118              $sql -> db_Insert("logstats", "0, '$key', '".serialize($value)."'");
 119          }
 120      
 121          foreach($dailyArray as $key => $value)
 122          {
 123              $data = "";
 124              foreach($value as $value2)
 125              {
 126                  $data .= $value2['url']."|".$value2['ttl']."|".$value2['unq'].chr(1);
 127              }
 128              $data = $dailyTotal[$key]['ttl'].chr(1).$dailyTotal[$key]['unq'].chr(1) . $data;
 129              $sql -> db_Insert("logstats", "0, '$key', '$data'");
 130          }
 131      }
 132  
 133  /* ----------------------------------------------------------------------------------------------------------------------- */
 134  
 135  	function stage2()
 136      {
 137          // Converting browser entries
 138          global $sql;
 139  
 140          if($sql -> db_Select("logstats", "*", "log_id='statBrowser' "))
 141          {
 142              $row = $sql -> db_Fetch();
 143              $browserTotal = unserialize($row['log_data']);
 144          }
 145          else
 146          {
 147              $browserTotal = array();
 148          }
 149  
 150          if(!$sql -> db_Select("stat_info", "*", "info_type='1'"))
 151          {
 152              return;
 153          }
 154      
 155          while($stat = $sql -> db_Fetch())
 156          {
 157              extract($stat);
 158              $browserTotal[$info_name] += $info_count;
 159          }
 160  
 161          $data = serialize($browserTotal);
 162  
 163          if(!$sql -> db_Update("logstats", "log_data='$data' WHERE log_id='statBrowser' "))
 164          {
 165              $sql -> db_Insert("logstats", "0, 'statBrowser', '$data' ");
 166          }
 167      }
 168  
 169  /* ----------------------------------------------------------------------------------------------------------------------- */
 170  
 171  	function stage3()
 172      {
 173          // Operating system entries
 174          global $sql;
 175          if($sql -> db_Select("logstats", "*", "log_id='statOs' "))
 176          {
 177              $row = $sql -> db_Fetch();
 178              $osTotal = unserialize($row['log_data']);
 179          }
 180          else
 181          {
 182              $osTotal = array();
 183          }
 184          if(!$sql -> db_Select("stat_info", "*", "info_type='2'"))
 185          {
 186              return;
 187          }
 188          while($stat = $sql -> db_Fetch())
 189          {
 190              extract($stat);
 191              $osTotal[$info_name] += $info_count;
 192          }
 193          $data = serialize($osTotal);
 194          if(!$sql -> db_Update("logstats", "log_data='$data' WHERE log_id='statOs' "))
 195          {
 196              $sql -> db_Insert("logstats", "0, 'statOs', '$data' ");
 197          }
 198      }
 199  
 200  /* ----------------------------------------------------------------------------------------------------------------------- */
 201  
 202  	function stage4()
 203      {
 204          // Domain entries to convert 
 205          global $sql;
 206          if($sql -> db_Select("logstats", "*", "log_id='statDomain' "))
 207          {
 208              $row = $sql -> db_Fetch();
 209              $domTotal = unserialize($row['log_data']);
 210          }
 211          else
 212          {
 213              $domTotal = array();
 214          }
 215          if(!$sql -> db_Select("stat_info", "*", "info_type='4'"))
 216          {
 217              return;
 218          }
 219          while($stat = $sql -> db_Fetch())
 220          {
 221              extract($stat);
 222              $domTotal[$info_name] += $info_count;
 223          }
 224          $data = serialize($domTotal);
 225          if(!$sql -> db_Update("logstats", "log_data='$data' WHERE log_id='statDomain' "))
 226          {
 227              $sql -> db_Insert("logstats", "0, 'statDomain', '$data' ");
 228          }
 229      }
 230  
 231  /* ----------------------------------------------------------------------------------------------------------------------- */
 232  
 233  	function stage5()
 234      {
 235          // Screen entries to convert
 236          global $sql;
 237          if($sql -> db_Select("logstats", "*", "log_id='statScreen' "))
 238          {
 239              $row = $sql -> db_Fetch();
 240              $screenTotal = unserialize($row['log_data']);
 241          }
 242          else
 243          {
 244              $screenTotal = array();
 245          }
 246          if(!$sql -> db_Select("stat_info", "*", "info_type='5'"))
 247          {
 248              return;
 249          }
 250          while($stat = $sql -> db_Fetch())
 251          {
 252              extract($stat);
 253              if(!strstr($info_name, "undefined") && !strstr($info_name, "res"))
 254              {
 255                  $info_name = str_replace(" @ ", "@", $info_name);
 256                  $screenTotal[$info_name] += $info_count;
 257              }
 258          }
 259  
 260          $data = serialize($screenTotal);
 261          if(!$sql -> db_Update("logstats", "log_data='$data' WHERE log_id='statScreen' "))
 262          {
 263              $sql -> db_Insert("logstats", "0, 'statScreen', '$data' ");
 264          }
 265      }
 266  
 267  /* ----------------------------------------------------------------------------------------------------------------------- */
 268  
 269  function stage6()
 270      {
 271          // Converting referrer entries
 272          global $sql;
 273          if($sql -> db_Select("logstats", "*", "log_id='statReferer' "))
 274          {
 275              $row = $sql -> db_Fetch();
 276              $refTotal = unserialize($row['log_data']);
 277          }
 278          else
 279          {
 280              $refTotal = array();
 281          }
 282          if(!$sql -> db_Select("stat_info", "*", "info_type='6'"))
 283          {
 284              return;
 285          }
 286          while($stat = $sql -> db_Fetch())
 287          {
 288              extract($stat);
 289              if(!strstr($info_name, "undefined") && !strstr($info_name, "'"))
 290              {
 291                  $refTotal[$info_name]['url'] = $info_name;
 292                  $refTotal[$info_name]['ttl'] += $info_count;
 293              }
 294          }
 295          $data = serialize($refTotal);
 296  
 297          if(!$sql -> db_Update("logstats", "log_data='$data' WHERE log_id='statReferer' "))
 298          {
 299              $sql -> db_Insert("logstats", "0, 'statReferer', '$data' ");
 300          }
 301      }
 302      
 303      
 304      /* ----------------------------------------------------------------------------------------------------------------------- */
 305  
 306  	function stage7()
 307      {
 308          // Correcting referrer entries
 309          global $sql;
 310          $sql -> db_Select("logstats", "*", "log_id='statReferer'");
 311          $row = $sql -> db_Fetch();
 312          $refTotal = unserialize($row['log_data']);
 313  
 314          foreach ($refTotal as $key => $ref) {
 315              if (!is_array($ref)){
 316                  unset($refTotal['key']);
 317                  $refTotal[$key]['url'] = $key;
 318                  $refTotal[$key]['ttl'] = $ref;
 319              }
 320          }
 321          $data = serialize($refTotal);
 322  
 323          if(!$sql -> db_Update("logstats", "log_data='$data' WHERE log_id='statReferer' "))
 324          {
 325              $sql -> db_Insert("logstats", "0, 'statReferer', '$data' ");
 326          }
 327      }
 328  }
 329  
 330  ?>


Généré le : Sun Apr 1 01:23:32 2007 par Balluche grâce à PHPXref 0.7