1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
autodetect.php
См. документацию.
1<?php
2
4{
5 public static function GetList($by = 's_counter', $order = 'desc', $arFilter = [])
6 {
7 $DB = CDatabase::GetModuleConnection('statistic');
8 $arSqlSearch = Array();
9 $arSqlSearch_h = Array();
10 $strSqlSearch_h = "";
11 if (is_array($arFilter))
12 {
13 foreach ($arFilter as $key => $val)
14 {
15 if(is_array($val))
16 {
17 if(count($val) <= 0)
18 continue;
19 }
20 else
21 {
22 if( ((string)$val == '') || ($val === "NOT_REF") )
23 continue;
24 }
25 $match_value_set = array_key_exists($key."_EXACT_MATCH", $arFilter);
26 $key = strtoupper($key);
27 switch($key)
28 {
29 case "LAST":
30 $arSqlSearch[] = ($val=="Y") ? "S.DATE_STAT = curdate()" : "S.DATE_STAT<>curdate()";
31 break;
32 case "USER_AGENT":
33 $match = ($arFilter[$key."_EXACT_MATCH"]=="Y" && $match_value_set) ? "N" : "Y";
34 $arSqlSearch[] = GetFilterQuery("S.USER_AGENT",$val,$match);
35 break;
36 case "COUNTER1":
37 $arSqlSearch_h[] = "COUNTER>=".intval($val);
38 break;
39 case "COUNTER2":
40 $arSqlSearch_h[] = "COUNTER<=".intval($val);
41 break;
42 }
43 }
44 foreach($arSqlSearch_h as $sqlWhere)
45 $strSqlSearch_h .= " and (".$sqlWhere.") ";
46 }
47
48 if ($by == "s_user_agent")
49 $strSqlOrder = "ORDER BY S.USER_AGENT";
50 elseif ($by == "s_counter")
51 $strSqlOrder = "ORDER BY COUNTER";
52 else
53 {
54 $strSqlOrder = "ORDER BY COUNTER";
55 }
56
57 if ($order != "asc")
58 {
59 $strSqlOrder .= " desc ";
60 }
61
62 $strSqlSearch = GetFilterSqlSearch($arSqlSearch);
63
64 $strSql = "
65 SELECT
66 S.USER_AGENT,
67 count(S.ID) COUNTER
68 FROM
69 b_stat_session S
70 LEFT JOIN b_stat_browser B ON (
71 length(B.USER_AGENT)>0
72 and B.USER_AGENT is not null
73 and upper(S.USER_AGENT) like upper(B.USER_AGENT)
74 )
75 LEFT JOIN b_stat_searcher R ON (
76 length(R.USER_AGENT)>0
77 and R.USER_AGENT is not null
78 and upper(S.USER_AGENT) like upper(concat('%',R.USER_AGENT,'%'))
79 )
80 WHERE
81 $strSqlSearch
82 and S.USER_AGENT is not null
83 and S.USER_AGENT<>''
84 and S.NEW_GUEST<>'N'
85 and B.ID is null
86 and R.ID is null
87 GROUP BY S.USER_AGENT
88 HAVING '1'='1' $strSqlSearch_h
89 $strSqlOrder
90 ";
91
92 $res = $DB->Query($strSql);
93
94 return $res;
95 }
96}
Определения autodetect.php:4
static GetList($by='s_counter', $order='desc', $arFilter=[])
Определения autodetect.php:5
$res
Определения filter_act.php:7
GetFilterSqlSearch($arSqlSearch=array(), $FilterLogic="FILTER_logic")
Определения filter_tools.php:397
GetFilterQuery($field, $val, $procent="Y", $ex_sep=array(), $clob="N", $div_fields="Y", $clob_upper="N")
Определения filter_tools.php:383
global $DB
Определения cron_frame.php:29
$order
Определения payment.php:8
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
if(empty($signedUserToken)) $key
Определения quickway.php:257
</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."%"
Определения waybill.php:936
$val
Определения options.php:1793
$arFilter
Определения user_search.php:106