[ Index ] |
|
Code source de e107 0.7.8 |
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 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Apr 1 01:23:32 2007 | par Balluche grâce à PHPXref 0.7 |