2require_once(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/statistic/classes/general/searcher.php");
8 $DB = CDatabase::GetModuleConnection(
'statistic');
11 ".$DB->DateToCharFunction(
"D.DATE_STAT",
"SHORT").
" DATE_STAT,
12 DAYOFMONTH(D.DATE_STAT) DAY,
13 MONTH(D.DATE_STAT) MONTH,
14 YEAR(D.DATE_STAT) YEAR,
20 INNER JOIN b_stat_searcher C ON (C.ID = D.SEARCHER_ID)
24 D.DATE_STAT, D.SEARCHER_ID
31 $DB = CDatabase::GetModuleConnection(
'statistic');
32 $arSqlSearch = Array(
"S.ID <> 1");
33 $arSqlSearch_h = Array();
35 $filter_period =
false;
47 $filter_period =
true;
50 $strSqlPeriod =
"sum(if(D.DATE_STAT<FROM_UNIXTIME('$date_from'),0, if(D.DATE_STAT>FROM_UNIXTIME('$date_to'),0,";
55 $strSqlPeriod =
"sum(if(D.DATE_STAT<FROM_UNIXTIME('$date_from'),0,";
62 $filter_period =
true;
63 $strSqlPeriod =
"sum(if(D.DATE_STAT>FROM_UNIXTIME('$date_to'),0,";
76 if( ((
string)
$val ==
'') || (
$val ===
"NOT_REF") )
79 $match_value_set = array_key_exists(
$key.
"_EXACT_MATCH",
$arFilter);
84 $match = (
$arFilter[
$key.
"_EXACT_MATCH"]==
"N" && $match_value_set) ?
"Y" :
"N";
88 case "SAVE_STATISTIC":
89 case "DIAGRAM_DEFAULT":
90 $arSqlSearch[] = (
$val==
"Y") ?
"S.".
$key.
"='Y'" :
"S.".$key.
"='N'";
93 $arSqlSearch_h[] =
"(sum(ifnull(D.TOTAL_HITS,0))+ifnull(S.TOTAL_HITS,0))>='".intval(
$val).
"'";
96 $arSqlSearch_h[] =
"(sum(ifnull(D.TOTAL_HITS,0))+ifnull(S.TOTAL_HITS,0))<='".intval(
$val).
"'";
100 $arSqlSearch_h[] =
"max(D.DATE_LAST)>=".$DB->CharToDateFunction(
$val,
"SHORT");
104 $arSqlSearch_h[] =
"max(D.DATE_LAST)<".$DB->CharToDateFunction(
$val,
"SHORT").
" + INTERVAL 1 DAY";
108 $match = (
$arFilter[
$key.
"_EXACT_MATCH"]==
"Y" && $match_value_set) ?
"N" :
"Y";
116 $strSqlOrder =
"ORDER BY S.ID";
117 elseif ($by ==
"s_date_last")
118 $strSqlOrder =
"ORDER BY S_DATE_LAST";
119 elseif ($by ==
"s_today_hits")
120 $strSqlOrder =
"ORDER BY TODAY_HITS";
121 elseif ($by ==
"s_yesterday_hits")
122 $strSqlOrder =
"ORDER BY YESTERDAY_HITS";
123 elseif ($by ==
"s_b_yesterday_hits")
124 $strSqlOrder =
"ORDER BY B_YESTERDAY_HITS";
125 elseif ($by ==
"s_total_hits")
126 $strSqlOrder =
"ORDER BY TOTAL_HITS";
127 elseif ($by ==
"s_period_hits")
128 $strSqlOrder =
"ORDER BY PERIOD_HITS";
130 $strSqlOrder =
"ORDER BY S.NAME";
131 elseif ($by ==
"s_user_agent")
132 $strSqlOrder =
"ORDER BY S.USER_AGENT";
134 $strSqlOrder =
"ORDER BY S.DIAGRAM_DEFAULT desc, TOTAL_HITS ";
136 $strSqlOrder =
"ORDER BY TODAY_HITS desc, YESTERDAY_HITS desc, B_YESTERDAY_HITS desc, TOTAL_HITS desc, PERIOD_HITS";
139 $strSqlOrder =
"ORDER BY TODAY_HITS desc, YESTERDAY_HITS desc, B_YESTERDAY_HITS desc, TOTAL_HITS desc, PERIOD_HITS";
144 $strSqlOrder .=
" desc ";
147 $limit_sql =
"LIMIT ".intval(COption::GetOptionString(
'statistic',
'RECORDS_LIMIT'));
149 $limit_sql =
"LIMIT ".intval(
$LIMIT);
152 foreach($arSqlSearch_h as $sqlWhere)
153 $strSqlSearch_h .=
" and (".$sqlWhere.
") ";
161 ".$DB->DateToCharFunction(
"max(D.DATE_LAST)").
" DATE_LAST,
162 max(ifnull(D.DATE_LAST,'1980-01-01')) S_DATE_LAST,
163 sum(ifnull(D.TOTAL_HITS,0))+ifnull(S.TOTAL_HITS,0) TOTAL_HITS,
164 sum(if(to_days(curdate())=to_days(D.DATE_STAT),ifnull(D.TOTAL_HITS,0),0)) TODAY_HITS,
165 sum(if(to_days(curdate())-to_days(D.DATE_STAT)=1,ifnull(D.TOTAL_HITS,0),0)) YESTERDAY_HITS,
166 sum(if(to_days(curdate())-to_days(D.DATE_STAT)=2,ifnull(D.TOTAL_HITS,0),0)) B_YESTERDAY_HITS,
167 ".($filter_period ? $strSqlPeriod.
'ifnull(D.TOTAL_HITS,0)'.$strT.
' PERIOD_HITS, ' :
'0 PERIOD_HITS,').
"
171 LEFT JOIN b_stat_searcher_day D ON (D.SEARCHER_ID = S.ID)
184 $is_filtered = (
IsFiltered($strSqlSearch) || $filter_period || $strSqlSearch_h <>
'');
190 $DB = CDatabase::GetModuleConnection(
'statistic');
194 concat(ifnull(NAME,''),' [',ID,']') as REFERENCE
207 $DB = CDatabase::GetModuleConnection(
'statistic');
208 $SEARCHER_ID = intval($SEARCHER_ID);
209 $arSqlSearch = Array();
222 if( ((
string)
$val ==
'') || (
$val ===
"NOT_REF") )
231 $arSqlSearch[] =
"D.DATE_STAT>=".$DB->CharToDateFunction(
$val,
"SHORT");
235 $arSqlSearch[] =
"D.DATE_STAT<".$DB->CharToDateFunction(
$val,
"SHORT").
" + INTERVAL 1 DAY";
241 foreach($arSqlSearch as $sqlWhere)
242 $strSqlSearch .=
" and (".$sqlWhere.
") ";
244 if ($by ==
"s_date") $strSqlOrder =
"ORDER BY D.DATE_STAT";
247 $strSqlOrder =
"ORDER BY D.DATE_STAT";
252 $strSqlOrder .=
" desc ";
257 ".$DB->DateToCharFunction(
"D.DATE_STAT",
"SHORT").
" DATE_STAT,
258 DAYOFMONTH(D.DATE_STAT) DAY,
259 MONTH(D.DATE_STAT) MONTH,
260 YEAR(D.DATE_STAT) YEAR,
263 b_stat_searcher_day D
265 D.SEARCHER_ID = $SEARCHER_ID
274 max(D.DATE_STAT) DATE_LAST,
275 min(D.DATE_STAT) DATE_FIRST,
276 DAYOFMONTH(max(D.DATE_STAT)) MAX_DAY,
277 MONTH(max(D.DATE_STAT)) MAX_MONTH,
278 YEAR(max(D.DATE_STAT)) MAX_YEAR,
279 DAYOFMONTH(min(D.DATE_STAT)) MIN_DAY,
280 MONTH(min(D.DATE_STAT)) MIN_MONTH,
281 YEAR(min(D.DATE_STAT)) MIN_YEAR
283 b_stat_searcher_day D
285 D.SEARCHER_ID = $SEARCHER_ID
288 $a =
$DB->Query($strSql);
290 $arMaxMin[
"MAX_DAY"] =
$ar[
"MAX_DAY"];
291 $arMaxMin[
"MAX_MONTH"] =
$ar[
"MAX_MONTH"];
292 $arMaxMin[
"MAX_YEAR"] =
$ar[
"MAX_YEAR"];
293 $arMaxMin[
"MIN_DAY"] =
$ar[
"MIN_DAY"];
294 $arMaxMin[
"MIN_MONTH"] =
$ar[
"MIN_MONTH"];
295 $arMaxMin[
"MIN_YEAR"] =
$ar[
"MIN_YEAR"];
static GetList($by='s_today_hits', $order='desc', $arFilter=[], &$is_filtered=false, $LIMIT=false)
static GetGraphArray_SQL($strSqlSearch)
static GetDropDownList($strSqlOrder="ORDER BY NAME, ID")
static GetDynamicList($SEARCHER_ID, $by='s_date', $order='desc', &$arMaxMin=[], $arFilter=[])
$_SERVER["DOCUMENT_ROOT"]
ConvertDateTime($datetime, $to_format=false, $from_site=false, $bSearchInSitesOnly=false)
CheckDateTime($datetime, $format=false)
MkDateTime($strDT, $format="d.m.Y H:i:s")
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
if(empty($signedUserToken)) $key
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"