1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
dictionary.php
См. документацию.
1
<?php
2
3
require_once(
$_SERVER
[
"DOCUMENT_ROOT"
].
"/bitrix/modules/support/classes/general/dictionary.php"
);
4
5
class
CTicketDictionary
extends
CAllTicketDictionary
6
{
7
public
static
function
GetList
($by =
's_c_sort'
,
$order
=
'asc'
,
$arFilter
= [])
8
{
9
global
$DB
;
10
$arSqlSearch = Array();
11
$leftJoinSite =
""
;
12
$leftJoinUser =
""
;
13
if
(is_array(
$arFilter
))
14
{
15
$filterKeys = array_keys(
$arFilter
);
16
$filterKeysCount =
count
($filterKeys);
17
for
(
$i
=0;
$i
<$filterKeysCount;
$i
++)
18
{
19
$key
= $filterKeys[
$i
];
20
$val
=
$arFilter
[$filterKeys[
$i
]];
21
if
((is_array(
$val
) &&
count
(
$val
)<=0) || (!is_array(
$val
) && ((
string
)
$val
==
''
||
$val
===
'NOT_REF'
)))
22
continue
;
23
$match_value_set = (in_array(
$key
.
"_EXACT_MATCH"
, $filterKeys)) ?
true
:
false
;
24
$key
= strtoupper(
$key
);
25
switch
(
$key
)
26
{
27
case
"ID"
:
28
case
"SID"
:
29
if
(is_array(
$val
))
$val
= implode(
" | "
,
$val
);
30
$match = (
$arFilter
[
$key
.
"_EXACT_MATCH"
]==
"N"
&& $match_value_set) ?
"Y"
:
"N"
;
31
$arSqlSearch[] =
GetFilterQuery
(
"D."
.
$key
,
$val
, $match);
32
break
;
33
case
"SITE"
:
34
if
(is_array(
$val
))
$val
= implode(
" | "
,
$val
);
35
$match = (
$arFilter
[
$key
.
"_EXACT_MATCH"
]==
"N"
&& $match_value_set) ?
"Y"
:
"N"
;
36
$arSqlSearch[] =
GetFilterQuery
(
"DS.SITE_ID"
,
$val
, $match);
37
$leftJoinSite .=
"LEFT JOIN b_ticket_dictionary_2_site DS ON (D.ID = DS.DICTIONARY_ID)"
;
38
$select_user =
", DS.SITE_ID "
;
39
break
;
40
case
"TYPE"
:
41
$match = (
$arFilter
[
$key
.
"_EXACT_MATCH"
]==
"N"
&& $match_value_set) ?
"Y"
:
"N"
;
42
$arSqlSearch[] =
GetFilterQuery
(
"D.C_TYPE"
,
$val
, $match);
43
break
;
44
case
"NAME"
:
45
case
"DESCR"
:
46
$match = (
$arFilter
[
$key
.
"_EXACT_MATCH"
]==
"Y"
&& $match_value_set) ?
"N"
:
"Y"
;
47
$arSqlSearch[] =
GetFilterQuery
(
"D."
.
$key
,
$val
, $match);
48
break
;
49
case
"RESPONSIBLE_ID"
:
50
if
(intval(
$val
)>0) $arSqlSearch[] =
"D.RESPONSIBLE_USER_ID = '"
.intval(
$val
).
"'"
;
51
elseif
(
$val
==0) $arSqlSearch[] =
"(D.RESPONSIBLE_USER_ID is null or D.RESPONSIBLE_USER_ID=0)"
;
52
break
;
53
case
"RESPONSIBLE"
:
54
$match = (
$arFilter
[
$key
.
"_EXACT_MATCH"
]==
"Y"
&& $match_value_set) ?
"N"
:
"Y"
;
55
$arSqlSearch[] =
GetFilterQuery
(
"D.RESPONSIBLE_USER_ID, U.LOGIN, U.LAST_NAME, U.NAME"
,
$val
, $match);
56
$select_user =
",
57
U.LOGIN RESPONSIBLE_LOGIN,
58
concat(ifnull(U.NAME,''),' ',ifnull(U.LAST_NAME,'')) RESPONSIBLE_NAME
59
"
;
60
$leftJoinUser =
"LEFT JOIN b_user U ON (U.ID = D.RESPONSIBLE_USER_ID)"
;
61
break
;
62
case
"DEFAULT"
:
63
$arSqlSearch[] = (
$val
==
"Y"
) ?
"D.SET_AS_DEFAULT='Y'"
:
"D.SET_AS_DEFAULT='N'"
;
64
break
;
65
case
"LID"
:
66
case
"FIRST_SITE_ID"
:
67
$match = (
$arFilter
[
$key
.
"_EXACT_MATCH"
]==
"N"
&& $match_value_set) ?
"Y"
:
"N"
;
68
$arSqlSearch[] =
GetFilterQuery
(
"D.FIRST_SITE_ID"
,
$val
,$match);
69
break
;
70
}
71
}
72
}
73
74
if
($by ==
"s_id"
)
75
{
76
$strSqlOrder =
"D.ID"
;
77
}
78
elseif
($by ==
"s_c_sort"
)
79
{
80
$strSqlOrder =
"D.C_SORT"
;
81
}
82
elseif
($by ==
"s_sid"
)
83
{
84
$strSqlOrder =
"D.SID"
;
85
}
86
elseif
($by ==
"s_lid"
)
87
{
88
$strSqlOrder =
"D.FIRST_SITE_ID"
;
89
}
90
elseif
($by ==
"s_name"
)
91
{
92
$strSqlOrder =
"D.NAME"
;
93
}
94
elseif
($by ==
"s_responsible"
)
95
{
96
$strSqlOrder =
"D.RESPONSIBLE_USER_ID"
;
97
}
98
elseif
($by ==
"s_dropdown"
)
99
{
100
$strSqlOrder =
"D.C_SORT, D.ID, D.NAME"
;
101
}
102
else
103
{
104
$strSqlOrder =
"D.C_SORT"
;
105
}
106
107
if
(
$order
==
"desc"
)
108
{
109
$strSqlOrder .=
" desc "
;
110
}
111
else
112
{
113
$strSqlOrder .=
" asc "
;
114
}
115
116
$strSqlSearch =
GetFilterSqlSearch
($arSqlSearch);
117
$strSql =
"
118
SELECT
119
D.*,
120
D.FIRST_SITE_ID LID,
121
D.ID REFERENCE_ID,
122
D.NAME REFERENCE
123
$select_user
124
FROM
125
b_ticket_dictionary D
126
$leftJoinUser
127
$leftJoinSite
128
WHERE
129
$strSqlSearch
130
GROUP BY
131
D.ID
132
ORDER BY
133
case D.C_TYPE
134
when 'C' then '1'
135
when 'F' then '2'
136
when 'S' then '3'
137
when 'M' then '4'
138
when 'K' then '5'
139
when 'SR' then '6'
140
when 'D' then '7'
141
else '' end,
142
$strSqlOrder
143
"
;
144
$res
=
$DB
->Query($strSql);
145
146
return
$res
;
147
}
148
}
CAllTicketDictionary
Определения
dictionary.php:6
CTicketDictionary
Определения
dictionary.php:6
CTicketDictionary\GetList
static GetList($by='s_c_sort', $order='asc', $arFilter=[])
Определения
dictionary.php:7
$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
$_SERVER
$_SERVER["DOCUMENT_ROOT"]
Определения
cron_frame.php:9
$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
$i
$i
Определения
factura.php:643
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
support
classes
mysql
dictionary.php
Создано системой
1.14.0