1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
statistic.php
См. документацию.
1<?php
2require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/statistic/classes/general/statistic.php");
3
4class CStatistics extends CAllStatistics
5{
6 public static function CleanUpTableByDate($cleanup_date, $table_name, $date_name)
7 {
8 $DB = CDatabase::GetModuleConnection('statistic');
9 if ($cleanup_date <> '')
10 {
11 $stmp = MkDateTime(ConvertDateTime($cleanup_date,"D.M.Y"),"d.m.Y");
12 if ($stmp)
13 {
14 $strSql = "DELETE FROM $table_name WHERE $date_name<FROM_UNIXTIME('$stmp')";
15 $DB->Query($strSql);
16 }
17 }
18 }
19
20 public static function GetSessionDataByMD5($GUEST_MD5)
21 {
22 $DB = CDatabase::GetModuleConnection('statistic');
23 $php_session_time = intval(ini_get("session.gc_maxlifetime"));
24 $strSql = "
25 SELECT
26 ID,
27 SESSION_DATA
28 FROM
29 b_stat_session_data
30 WHERE
31 GUEST_MD5 = '".$DB->ForSql($GUEST_MD5)."'
32 and DATE_LAST > DATE_ADD(now(), INTERVAL - $php_session_time SECOND)
33 LIMIT 1
34 ";
35 $res = $DB->Query($strSql);
36 return $res;
37 }
38
39 public static function CleanUpPathDynamic()
40 {
41 set_time_limit(0);
42 ignore_user_abort(true);
43 $DB = CDatabase::GetModuleConnection('statistic');
44 $DAYS = intval(COption::GetOptionString("statistic", "PATH_DAYS"));
45 //$STEPS = intval(COption::GetOptionString("statistic", "MAX_PATH_STEPS"));
46 if ($DAYS>=0)
47 {
48 $strSql = "
49 DELETE FROM b_stat_path
50 WHERE DATE_STAT <= DATE_SUB(CURDATE(),INTERVAL $DAYS DAY)
51 OR DATE_STAT is null
52 ";//STEPS removed due to insert check
53 $DB->Query($strSql);
54 $strSql = "
55 DELETE FROM b_stat_path_adv
56 WHERE DATE_STAT <= DATE_SUB(CURDATE(),INTERVAL $DAYS DAY)
57 OR DATE_STAT is null
58 ";//STEPS removed due to insert check
59 $DB->Query($strSql);
60 if(COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
61 {
62 $DB->Query("OPTIMIZE TABLE b_stat_path");
63 $DB->Query("OPTIMIZE TABLE b_stat_path_adv");
64 }
65 }
66 }
67
68 public static function CleanUpPathCache()
69 {
71 if (($_SESSION["SESS_NO_AGENT_STATISTIC"] ?? '') != "Y" && !defined("NO_AGENT_STATISTIC"))
72 {
73 set_time_limit(0);
74 ignore_user_abort(true);
75 $DB = CDatabase::GetModuleConnection('statistic');
76 $php_session_time = intval(ini_get("session.gc_maxlifetime"));
77 $strSql = "
78 DELETE FROM b_stat_path_cache WHERE
79 DATE_HIT < DATE_ADD(now(), INTERVAL - $php_session_time SECOND) or
80 DATE_HIT is null
81 ";
82 $DB->Query($strSql);
83 }
84 return "CStatistics::CleanUpPathCache();";
85 }
86
87 public static function CleanUpSessionData()
88 {
90 if (($_SESSION["SESS_NO_AGENT_STATISTIC"] ?? '') != "Y" && !defined("NO_AGENT_STATISTIC"))
91 {
92 set_time_limit(0);
93 ignore_user_abort(true);
94 $DB = CDatabase::GetModuleConnection('statistic');
95 $php_session_time = intval(ini_get("session.gc_maxlifetime"));
96 $strSql = "
97 DELETE FROM b_stat_session_data WHERE
98 DATE_LAST < DATE_ADD(now(), INTERVAL - $php_session_time SECOND) or
99 DATE_LAST is null
100 ";
101 $DB->Query($strSql);
102 }
103 return "CStatistics::CleanUpSessionData();";
104 }
105
106 public static function CleanUpSearcherDynamic()
107 {
108 set_time_limit(0);
109 ignore_user_abort(true);
110 $DB = CDatabase::GetModuleConnection('statistic');
111 $DAYS = intval(COption::GetOptionString("statistic", "SEARCHER_DAYS"));
112 $SID = 0;
113 if ($DAYS>=0)
114 {
115 $strSql = "
116 SELECT
117 ID,
118 ifnull(DYNAMIC_KEEP_DAYS,'$DAYS') as DYNAMIC_KEEP_DAYS
119 FROM
120 b_stat_searcher
121 ";
122 $w = $DB->Query($strSql);
123 while ($wr = $w->Fetch())
124 {
125 $SDAYS = intval($wr["DYNAMIC_KEEP_DAYS"]);
126 $SID = intval($wr["ID"]);
127 $strSql = "
128 SELECT
129 ID,
130 TOTAL_HITS
131 FROM
132 b_stat_searcher_day
133 WHERE
134 SEARCHER_ID = $SID
135 AND DATE_STAT <= DATE_SUB(CURDATE(),INTERVAL $SDAYS DAY)
136 ";
137 $z = $DB->Query($strSql);
138 while ($zr=$z->Fetch())
139 {
140 $ID = $zr["ID"];
141 if (intval($zr["TOTAL_HITS"])>0)
142 {
143 $arFields = Array(
144 "DATE_CLEANUP" => $DB->GetNowFunction(),
145 "TOTAL_HITS" => "TOTAL_HITS + ".intval($zr["TOTAL_HITS"]),
146 );
147 $DB->Update("b_stat_searcher",$arFields,"WHERE ID='$SID'");
148 }
149 $strSql = "DELETE FROM b_stat_searcher_day WHERE ID='$ID'";
150 $DB->Query($strSql);
151 }
152 }
153 if (intval($SID)>0 && COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
154 {
155 $DB->Query("OPTIMIZE TABLE b_stat_searcher_day");
156 }
157 }
158 }
159
160 public static function CleanUpEventDynamic()
161 {
162 set_time_limit(0);
163 ignore_user_abort(true);
164 $DB = CDatabase::GetModuleConnection('statistic');
165 $DAYS = intval(COption::GetOptionString("statistic", "EVENT_DYNAMIC_DAYS"));
166 $EID = 0;
167 if ($DAYS>=0)
168 {
169 $strSql = "
170 SELECT
171 ID,
172 ifnull(DYNAMIC_KEEP_DAYS,'".$DAYS."') as DYNAMIC_KEEP_DAYS
173 FROM
174 b_stat_event
175 ";
176 $w = $DB->Query($strSql);
177 while ($wr = $w->Fetch())
178 {
179 $EDAYS = intval($wr["DYNAMIC_KEEP_DAYS"]);
180 $EID = intval($wr["ID"]);
181 $strSql = "
182 SELECT
183 ID,
184 COUNTER,
185 MONEY
186 FROM
187 b_stat_event_day
188 WHERE
189 EVENT_ID = ".$EID."
190 AND DATE_STAT <= DATE_SUB(CURDATE(),INTERVAL ".$EDAYS." DAY)
191 ";
192 $z = $DB->Query($strSql);
193 while ($zr=$z->Fetch())
194 {
195 $ID = $zr["ID"];
196 if (intval($zr["COUNTER"])>0)
197 {
198 $arFields = Array(
199 "DATE_CLEANUP" => $DB->GetNowFunction(),
200 "COUNTER" => "COUNTER + ".intval($zr["COUNTER"]),
201 "MONEY" => "MONEY + ".doubleval($zr["MONEY"])
202 );
203 $DB->Update("b_stat_event",$arFields,"WHERE ID='$EID'");
204 }
205 $strSql = "DELETE FROM b_stat_event_day WHERE ID='$ID'";
206 $DB->Query($strSql);
207 }
208 }
209 if (intval($EID)>0 && COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
210 {
211 $DB->Query("OPTIMIZE TABLE b_stat_event_day");
212 }
213 }
214 }
215
216 public static function CleanUpAdvDynamic()
217 {
218 set_time_limit(0);
219 ignore_user_abort(true);
220 $DB = CDatabase::GetModuleConnection('statistic');
221 $DAYS = intval(COption::GetOptionString("statistic", "ADV_DAYS"));
222 if ($DAYS>=0)
223 {
224 $strSql = "
225 DELETE FROM b_stat_adv_day
226 WHERE DATE_STAT <= DATE_SUB(CURDATE(),INTERVAL $DAYS DAY)
227 OR DATE_STAT is null
228 ";
229 $DB->Query($strSql);
230 $strSql = "
231 DELETE FROM b_stat_adv_event_day
232 WHERE DATE_STAT <= DATE_SUB(CURDATE(),INTERVAL $DAYS DAY)
233 OR DATE_STAT is null
234 ";
235 $DB->Query($strSql);
236 if (COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
237 {
238 $DB->Query("OPTIMIZE TABLE b_stat_adv_day");
239 $DB->Query("OPTIMIZE TABLE b_stat_adv_event_day");
240 }
241 }
242 }
243
244 public static function CleanUpPhrases()
245 {
246 set_time_limit(0);
247 ignore_user_abort(true);
248 $DB = CDatabase::GetModuleConnection('statistic');
249 $DAYS = intval(COption::GetOptionString("statistic", "PHRASES_DAYS"));
250 if ($DAYS>=0)
251 {
252 $strSql = "
253 DELETE FROM b_stat_phrase_list
254 WHERE DATE_HIT <= DATE_SUB(CURDATE(),INTERVAL $DAYS DAY)
255 OR DATE_HIT is null
256 ";
257 $DB->Query($strSql);
258 if(COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
259 {
260 $DB->Query("OPTIMIZE TABLE b_stat_phrase_list");
261 }
262 }
263 }
264
265 public static function CleanUpRefererList()
266 {
267 set_time_limit(0);
268 ignore_user_abort(true);
269 $DB = CDatabase::GetModuleConnection('statistic');
270 $DAYS = intval(COption::GetOptionString("statistic", "REFERER_LIST_DAYS"));
271 if($DAYS>=0)
272 {
273 $strSql = "
274 DELETE FROM b_stat_referer_list
275 WHERE DATE_HIT <= DATE_SUB(CURDATE(),INTERVAL $DAYS DAY)
276 OR DATE_HIT is null
277 ";
278 $DB->Query($strSql);
279 if(COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
280 {
281 $DB->Query("OPTIMIZE TABLE b_stat_referer_list");
282 }
283 }
284 }
285
286 public static function CleanUpReferer()
287 {
288 set_time_limit(0);
289 ignore_user_abort(true);
290 $DB = CDatabase::GetModuleConnection('statistic');
291 $DAYS = COption::GetOptionString("statistic", "REFERER_DAYS");
292 $TOP = COption::GetOptionString("statistic", "REFERER_TOP");
293 $DAYS = intval($DAYS);
294 if ($DAYS>=0)
295 {
296 $strSql = "SELECT ID FROM b_stat_referer ORDER BY SESSIONS desc LIMIT ".intval($TOP);
297 $z = $DB->Query($strSql);
298 $str = "0";
299 while ($zr=$z->Fetch()) $str .= ",".$zr["ID"];
300 $strSql = "
301 DELETE FROM b_stat_referer
302 WHERE
303 (DATE_LAST <= DATE_SUB(CURDATE(),INTERVAL $DAYS DAY)
304 OR DATE_LAST is null)
305 and ID not in ($str)
306 ";
307 $DB->Query($strSql);
308 if (COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
309 {
310 $DB->Query("OPTIMIZE TABLE b_stat_referer");
311 }
312 }
313 }
314
315 public static function CleanUpVisits()
316 {
317 set_time_limit(0);
318 ignore_user_abort(true);
319 $DB = CDatabase::GetModuleConnection('statistic');
320 $VISIT_DAYS = COption::GetOptionString("statistic", "VISIT_DAYS");
321 $VISIT_DAYS = intval($VISIT_DAYS);
322 if ($VISIT_DAYS>=0)
323 {
324 $strSql = "
325 DELETE FROM b_stat_page
326 WHERE
327 DATE_STAT <= DATE_SUB(CURDATE(),INTERVAL $VISIT_DAYS DAY)
328 OR DATE_STAT is null
329 ";
330 $DB->Query($strSql);
331 $strSql = "
332 DELETE FROM b_stat_page_adv
333 WHERE
334 DATE_STAT <= DATE_SUB(CURDATE(),INTERVAL $VISIT_DAYS DAY)
335 OR DATE_STAT is null
336 ";
337 $DB->Query($strSql);
338 if (COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
339 {
340 $DB->Query("OPTIMIZE TABLE b_stat_page");
341 $DB->Query("OPTIMIZE TABLE b_stat_page_adv");
342 }
343 }
344 }
345
346 public static function CleanUpCities()
347 {
348 set_time_limit(0);
349 ignore_user_abort(true);
350 $DB = CDatabase::GetModuleConnection('statistic');
351 $DAYS = intval(COption::GetOptionString("statistic", "CITY_DAYS"));
352 if($DAYS >= 0)
353 {
354 $strSql = "
355 DELETE FROM b_stat_city_day
356 WHERE DATE_STAT <= DATE_SUB(CURDATE(),INTERVAL $DAYS DAY)
357 ";
358 $DB->Query($strSql);
359 if (COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
360 {
361 $DB->Query("OPTIMIZE TABLE b_stat_city_day");
362 }
363 }
364 }
365
366 public static function CleanUpCountries()
367 {
368 set_time_limit(0);
369 ignore_user_abort(true);
370 $DB = CDatabase::GetModuleConnection('statistic');
371 $DAYS = intval(COption::GetOptionString("statistic", "COUNTRY_DAYS"));
372 if($DAYS >= 0)
373 {
374 $strSql = "
375 DELETE FROM b_stat_country_day
376 WHERE DATE_STAT <= DATE_SUB(CURDATE(),INTERVAL $DAYS DAY)
377 OR DATE_STAT is null
378 ";
379 $DB->Query($strSql);
380 if (COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
381 {
382 $DB->Query("OPTIMIZE TABLE b_stat_country_day");
383 }
384 }
385 }
386
387 public static function CleanUpGuests()
388 {
389 set_time_limit(0);
390 ignore_user_abort(true);
391 $DB = CDatabase::GetModuleConnection('statistic');
392 $DAYS = intval(COption::GetOptionString("statistic", "GUEST_DAYS"));
393 if($DAYS>=0)
394 {
395 $strSql = "
396 DELETE FROM b_stat_guest
397 WHERE LAST_DATE <= DATE_SUB(CURDATE(),INTERVAL $DAYS DAY)
398 OR LAST_DATE is null
399 ";
400 $DB->Query($strSql);
401 if (COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
402 {
403 $DB->Query("OPTIMIZE TABLE b_stat_guest");
404 }
405 }
406 }
407
408 public static function CleanUpSessions()
409 {
410 set_time_limit(0);
411 ignore_user_abort(true);
412 $DB = CDatabase::GetModuleConnection('statistic');
413 $DAYS = intval(COption::GetOptionString("statistic", "SESSION_DAYS"));
414 if ($DAYS>=0)
415 {
416 $strSql = "
417 DELETE FROM b_stat_session
418 WHERE DATE_LAST <= DATE_SUB(CURDATE(),INTERVAL $DAYS DAY)
419 OR DATE_LAST is null
420 ";
421 $DB->Query($strSql);
422 if(COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
423 {
424 $DB->Query("OPTIMIZE TABLE b_stat_session");
425 $DB->Query("OPTIMIZE TABLE b_stat_session_data");
426 }
427 }
428 }
429
430 public static function CleanUpHits()
431 {
432 set_time_limit(0);
433 ignore_user_abort(true);
434 $DB = CDatabase::GetModuleConnection('statistic');
435 $DAYS = intval(COption::GetOptionString("statistic", "HIT_DAYS"));
436 if ($DAYS>=0)
437 {
438 $strSql = "
439 DELETE FROM b_stat_hit
440 WHERE DATE_HIT <= DATE_SUB(CURDATE(),INTERVAL $DAYS DAY)
441 OR DATE_HIT is null
442 ";
443 $DB->Query($strSql);
444 if (COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
445 {
446 $DB->Query("OPTIMIZE TABLE b_stat_hit");
447 }
448 }
449 }
450
451 public static function CleanUpSearcherHits()
452 {
453 set_time_limit(0);
454 ignore_user_abort(true);
455 $DB = CDatabase::GetModuleConnection('statistic');
456 $DAYS = intval(COption::GetOptionString("statistic", "SEARCHER_HIT_DAYS"));
457
458 $strSql = "
459 DELETE FROM b_stat_searcher_hit
460 WHERE HIT_KEEP_DAYS IS NULL
461 AND DATE_HIT <= DATE_SUB(CURDATE(), INTERVAL $DAYS DAY)
462 ";
463 $DB->Query($strSql);
464
465 $strSql = "
466 DELETE sh.* FROM
467 b_stat_searcher s
468 STRAIGHT_JOIN b_stat_searcher_hit sh
469 WHERE s.ID = sh.SEARCHER_ID
470 AND s.HIT_KEEP_DAYS is not null
471 AND sh.DATE_HIT <= DATE_SUB(CURDATE(), INTERVAL s.HIT_KEEP_DAYS DAY)
472 ";
473 $DB->Query($strSql);
474
475 if(COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
476 {
477 $DB->Query("OPTIMIZE TABLE b_stat_searcher_hit");
478 }
479 }
480
481 public static function CleanUpAdvGuests()
482 {
483 set_time_limit(0);
484 ignore_user_abort(true);
485 $DB = CDatabase::GetModuleConnection('statistic');
486 $ADV_GUEST_DAYS = COption::GetOptionString("statistic", "ADV_GUEST_DAYS");
487 $ADV_GUEST_DAYS = intval($ADV_GUEST_DAYS);
488 if ($ADV_GUEST_DAYS>=0)
489 {
490 $strSql = "
491 DELETE FROM b_stat_adv_guest WHERE
492 (
493 to_days(now())-to_days(DATE_GUEST_HIT)>=$ADV_GUEST_DAYS or
494 DATE_GUEST_HIT is null or
495 length(DATE_GUEST_HIT)<=0
496 )
497 and
498 (
499 to_days(now())-to_days(DATE_HOST_HIT)>=$ADV_GUEST_DAYS or
500 DATE_HOST_HIT is null or
501 length(DATE_HOST_HIT)<=0
502 )
503 ";
504 $DB->Query($strSql);
505 if(COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
506 {
507 $DB->Query("OPTIMIZE TABLE b_stat_adv_guest");
508 }
509 }
510 }
511
512 public static function CleanUpEvents()
513 {
514 set_time_limit(0);
515 ignore_user_abort(true);
516 $DB = CDatabase::GetModuleConnection('statistic');
517 $DAYS = intval(COption::GetOptionString("statistic", "EVENTS_DAYS"));
518
519 $strSql = "
520 DELETE FROM b_stat_event_list
521 WHERE KEEP_DAYS IS NULL
522 AND DATE_ENTER <= DATE_SUB(CURDATE(), INTERVAL $DAYS DAY)
523 ";
524 $DB->Query($strSql);
525
526 $strSql = "
527 DELETE el.* FROM
528 b_stat_event e
529 STRAIGHT_JOIN b_stat_event_list el
530 WHERE e.ID = el.EVENT_ID
531 AND e.KEEP_DAYS is not null
532 AND el.DATE_ENTER <= DATE_SUB(CURDATE(), INTERVAL e.KEEP_DAYS DAY)
533 ";
534 $DB->Query($strSql);
535
536 if(COption::GetOptionString("statistic", "USE_AUTO_OPTIMIZE")=="Y")
537 {
538 $DB->Query("OPTIMIZE TABLE b_stat_event_list");
539 }
540 }
541
542 public static function SetNewDayForSite($SITE_ID=false, $HOSTS=0, $TOTAL_HOSTS=0, $SESSIONS=0, $HITS=0)
543 {
544 $DB = CDatabase::GetModuleConnection('statistic');
545
546 if ($SITE_ID===false)
547 {
548 $SITE_ID = "";
549 if (!(defined("ADMIN_SECTION") && ADMIN_SECTION===true) && defined("SITE_ID"))
550 {
552 }
553 }
554 if ($SITE_ID <> '')
555 {
556 $strSql = "SELECT D.ID FROM b_stat_day_site D WHERE D.DATE_STAT=CURDATE() AND SITE_ID = '".$DB->ForSql($SITE_ID, 2)."'";
557 $rs = $DB->Query($strSql);
558 if (!$rs->Fetch())
559 {
560 $arFields = Array(
561 "DATE_STAT" => "curdate()",
562 "SITE_ID" => "'".$DB->ForSql($SITE_ID, 2)."'",
563 "C_HOSTS" => intval($HOSTS),
564 "SESSIONS" => intval($SESSIONS),
565 "HITS" => intval($HITS),
566 );
567 $ID = $DB->Insert("b_stat_day_site", $arFields, '', false, "", true);
568 }
569 //Calculate attentiveness for yesturday
570 $strSql = "
571 SELECT D.ID, ".$DB->DateToCharFunction("D.DATE_STAT","SHORT")." DATE_STAT
572 FROM b_stat_day_site D
573 WHERE D.DATE_STAT=DATE_SUB(CURDATE(),INTERVAL 1 DAY)
574 AND SITE_ID = '".$DB->ForSql($SITE_ID, 2)."'
575 ";
576 $rs = $DB->Query($strSql);
577 if($ar=$rs->Fetch())
578 {
579 $arF = CSession::GetAttentiveness($ar["DATE_STAT"], $SITE_ID);
580 if (is_array($arF)) $DB->Update("b_stat_day_site",$arF,"WHERE ID='".$ar["ID"]."'");
581 }
582 }
583 }
584
585 public static function SetNewDay($HOSTS=0, $TOTAL_HOSTS=0, $SESSIONS=0, $HITS=0, $NEW_GUESTS=0, $GUESTS=0, $FAVORITES=0)
586 {
588 if ((!isset($_SESSION["SESS_NO_AGENT_STATISTIC"]) || $_SESSION["SESS_NO_AGENT_STATISTIC"]!="Y") && !defined("NO_AGENT_STATISTIC"))
589 {
590 $DB = CDatabase::GetModuleConnection('statistic');
591
592 $strSql = "SELECT D.ID FROM b_stat_day D WHERE D.DATE_STAT=CURDATE()";
593 $rs = $DB->Query($strSql);
594 if(!$rs->Fetch())
595 {
596 $arFields = Array(
597 "DATE_STAT" => "curdate()",
598 "C_HOSTS" => intval($HOSTS),
599 "SESSIONS" => intval($SESSIONS),
600 "GUESTS" => intval($GUESTS),
601 "HITS" => intval($HITS),
602 "FAVORITES" => intval($FAVORITES),
603 "NEW_GUESTS" => intval($NEW_GUESTS),
604 );
605 $ID = $DB->Insert("b_stat_day", $arFields, '', false, "", true);
606 }
607 //Calculate attentiveness for yesturday
608 $strSql = "
609 SELECT D.ID, ".$DB->DateToCharFunction("D.DATE_STAT","SHORT")." DATE_STAT
610 FROM b_stat_day D
611 WHERE D.DATE_STAT=DATE_SUB(CURDATE(),INTERVAL 1 DAY)
612 ";
613 $rs = $DB->Query($strSql);
614 if($ar=$rs->Fetch())
615 {
616 $arF = CSession::GetAttentiveness($ar["DATE_STAT"]);
617 if (is_array($arF)) $DB->Update("b_stat_day",$arF,"WHERE ID='".$ar["ID"]."'");
618 }
619 }
620 return "CStatistics::SetNewDay();";
621 }
622
623 public static function DBDateAdd($date, $days=1)
624 {
625 return $date." + INTERVAL ".$days." DAY";
626 }
627
628 public static function DBTopSql($strSql, $nTopCount=false)
629 {
630 if($nTopCount===false)
631 $nTopCount = intval(COption::GetOptionString('statistic','RECORDS_LIMIT'));
632 else
633 $nTopCount = intval($nTopCount);
634 if($nTopCount>0)
635 return str_replace("/*TOP*/", "", $strSql)."\nLIMIT ".$nTopCount;
636 else
637 return str_replace("/*TOP*/", "", $strSql);
638 }
639
640 public static function DBFirstDate($strSql)
641 {
642 return "ifnull(".$strSql.",'1980-01-01')";
643 }
644
645 public static function DBDateDiff($date1, $date2)
646 {
647 return "UNIX_TIMESTAMP(".$date1.")-UNIX_TIMESTAMP(".$date2.")";
648 }
649}
static GetAttentiveness($DATE_STAT, $SITE_ID=false)
Определения session.php:5
Определения statistic.php:5
static CleanUpCountries()
Определения statistic.php:366
static CleanUpSessions()
Определения statistic.php:408
static CleanUpPathDynamic()
Определения statistic.php:39
static CleanUpSessionData()
Определения statistic.php:87
static CleanUpAdvDynamic()
Определения statistic.php:216
static SetNewDayForSite($SITE_ID=false, $HOSTS=0, $TOTAL_HOSTS=0, $SESSIONS=0, $HITS=0)
Определения statistic.php:542
static GetSessionDataByMD5($GUEST_MD5)
Определения statistic.php:20
static CleanUpSearcherHits()
Определения statistic.php:451
static SetNewDay($HOSTS=0, $TOTAL_HOSTS=0, $SESSIONS=0, $HITS=0, $NEW_GUESTS=0, $GUESTS=0, $FAVORITES=0)
Определения statistic.php:585
static CleanUpCities()
Определения statistic.php:346
static CleanUpEvents()
Определения statistic.php:512
static CleanUpRefererList()
Определения statistic.php:265
static CleanUpPathCache()
Определения statistic.php:68
static CleanUpEventDynamic()
Определения statistic.php:160
static DBDateAdd($date, $days=1)
Определения statistic.php:623
static CleanUpPhrases()
Определения statistic.php:244
static CleanUpReferer()
Определения statistic.php:286
static CleanUpAdvGuests()
Определения statistic.php:481
static DBFirstDate($strSql)
Определения statistic.php:640
static CleanUpVisits()
Определения statistic.php:315
static CleanUpTableByDate($cleanup_date, $table_name, $date_name)
Определения statistic.php:6
static CleanUpHits()
Определения statistic.php:430
static DBTopSql($strSql, $nTopCount=false)
Определения statistic.php:628
static CleanUpGuests()
Определения statistic.php:387
static DBDateDiff($date1, $date2)
Определения statistic.php:645
static CleanUpSearcherDynamic()
Определения statistic.php:106
$str
Определения commerceml2.php:63
$arFields
Определения dblapprove.php:5
$res
Определения filter_act.php:7
$zr
Определения options.php:5
if($ajaxMode) $ID
Определения get_user.php:27
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $DB
Определения cron_frame.php:29
$z
Определения options.php:31
ConvertDateTime($datetime, $to_format=false, $from_site=false, $bSearchInSitesOnly=false)
Определения tools.php:724
MkDateTime($strDT, $format="d.m.Y H:i:s")
Определения tools.php:1977
$ar
Определения options.php:199
const ADMIN_SECTION
Определения rss.php:2
const SITE_ID
Определения sonet_set_content_view.php:12
__SetNoKeepStatistics()
Определения stat_tools.php:127
$rs
Определения action.php:82
$SITE_ID
Определения yandex_run.php:607