1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
autodetect.php
См. документацию.
1
<?php
2
3
class
CAutoDetect
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
}
CAutoDetect
Определения
autodetect.php:4
CAutoDetect\GetList
static GetList($by='s_counter', $order='desc', $arFilter=[])
Определения
autodetect.php:5
$res
$res
Определения
filter_act.php:7
GetFilterSqlSearch
GetFilterSqlSearch($arSqlSearch=array(), $FilterLogic="FILTER_logic")
Определения
filter_tools.php:397
GetFilterQuery
GetFilterQuery($field, $val, $procent="Y", $ex_sep=array(), $clob="N", $div_fields="Y", $clob_upper="N")
Определения
filter_tools.php:383
$DB
global $DB
Определения
cron_frame.php:29
$order
$order
Определения
payment.php:8
elseif
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения
prolog_main_admin.php:393
$key
if(empty($signedUserToken)) $key
Определения
quickway.php:257
count
</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
$val
Определения
options.php:1793
$arFilter
$arFilter
Определения
user_search.php:106
bitrix
modules
statistic
classes
mysql
autodetect.php
Создано системой
1.14.0