1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
form_cformstatus.php
См. документацию.
1
<?php
2
3
class
CFormStatus
extends
CAllFormStatus
4
{
5
public
static
function
GetList
($FORM_ID, $by =
's_sort'
,
$order
=
'asc'
,
$arFilter
= [])
6
{
7
global
$DB
,
$strError
;
8
$FORM_ID = intval($FORM_ID);
9
$arSqlSearch = Array();
10
$arSqlSearch_h = [];
11
$strSqlSearch_h =
''
;
12
if
(is_array(
$arFilter
))
13
{
14
$filter_keys = array_keys(
$arFilter
);
15
$keyCount =
count
($filter_keys);
16
for
(
$i
=0;
$i
<$keyCount;
$i
++)
17
{
18
$key
= $filter_keys[
$i
];
19
$val
=
$arFilter
[$filter_keys[
$i
]];
20
if
((
string
)
$val
==
''
||
$val
==
"NOT_REF"
)
21
continue
;
22
if
(is_array(
$val
) && empty(
$val
))
23
continue
;
24
$match_value_set = (in_array(
$key
.
"_EXACT_MATCH"
, $filter_keys));
25
$key
= strtoupper(
$key
);
26
switch
(
$key
)
27
{
28
case
"ID"
:
29
$match = (
$arFilter
[
$key
.
"_EXACT_MATCH"
]==
"N"
&& $match_value_set) ?
"Y"
:
"N"
;
30
$arSqlSearch[] =
GetFilterQuery
(
"S.ID"
,
$val
,$match);
31
break
;
32
case
"ACTIVE"
:
33
$arSqlSearch[] = (
$val
==
"Y"
) ?
"S.ACTIVE='Y'"
:
"S.ACTIVE='N'"
;
34
break
;
35
case
"TITLE"
:
36
case
"DESCRIPTION"
:
37
$match = (
$arFilter
[
$key
.
"_EXACT_MATCH"
]==
"Y"
&& $match_value_set) ?
"N"
:
"Y"
;
38
$arSqlSearch[] =
GetFilterQuery
(
"S."
.
$key
,
$val
, $match);
39
break
;
40
case
"RESULTS_1"
:
41
$arSqlSearch_h[] =
"count(R.ID)>='"
.intval(
$val
).
"'"
;
42
break
;
43
case
"RESULTS_2"
:
44
$arSqlSearch_h[] =
"count(R.ID)<='"
.intval(
$val
).
"'"
;
45
break
;
46
}
47
}
48
if
(!empty($arSqlSearch_h))
49
{
50
$strSqlSearch_h =
' and ('
.implode(
') and ('
, $arSqlSearch_h).
') '
;
51
}
52
}
53
54
$strSqlSearch =
GetFilterSqlSearch
($arSqlSearch);
55
if
($by ==
"s_id"
) $strSqlOrder =
"ORDER BY S.ID"
;
56
elseif
($by ==
"s_timestamp"
) $strSqlOrder =
"ORDER BY S.TIMESTAMP_X"
;
57
elseif
($by ==
"s_active"
) $strSqlOrder =
"ORDER BY S.ACTIVE"
;
58
elseif
($by ==
"s_c_sort"
||
59
$by ==
"s_sort"
) $strSqlOrder =
"ORDER BY S.C_SORT"
;
60
elseif
($by ==
"s_default"
) $strSqlOrder =
"ORDER BY S.DEFAULT_VALUE"
;
61
elseif
($by ==
"s_title"
) $strSqlOrder =
"ORDER BY S.TITLE "
;
62
elseif
($by ==
"s_description"
) $strSqlOrder =
"ORDER BY S.DESCRIPTION"
;
63
elseif
($by ==
"s_results"
) $strSqlOrder =
"ORDER BY RESULTS"
;
64
else
65
{
66
$strSqlOrder =
"ORDER BY S.C_SORT"
;
67
}
68
69
if
(
$order
!=
"desc"
)
70
{
71
$strSqlOrder .=
" asc "
;
72
}
73
else
$strSqlOrder .=
" desc "
;
74
75
$strSql =
"
76
SELECT
77
S.ID, S.CSS, S.FORM_ID, S.C_SORT, S.ACTIVE, S.TITLE, S.DESCRIPTION, S.DEFAULT_VALUE, S.HANDLER_OUT, S.HANDLER_IN,
78
"
.$DB->DateToCharFunction(
"S.TIMESTAMP_X"
).
" TIMESTAMP_X,
79
count(distinct R.ID) RESULTS
80
FROM
81
b_form_status S
82
LEFT JOIN b_form_result R ON (R.STATUS_ID = S.ID and R.FORM_ID=S.FORM_ID)
83
WHERE
84
$strSqlSearch
85
and S.FORM_ID = $FORM_ID
86
GROUP BY S.ID
87
HAVING
88
1=1
89
$strSqlSearch_h
90
$strSqlOrder
91
"
;
92
$res
=
$DB
->Query($strSql);
93
94
return
$res
;
95
}
96
97
public
static
function
GetByID
(
$ID
)
98
{
99
global
$DB
,
$strError
;
100
$ID
= intval(
$ID
);
101
$strSql =
"
102
SELECT
103
S.ID, S.CSS, S.FORM_ID, S.C_SORT, S.ACTIVE, S.TITLE, S.DESCRIPTION, S.DEFAULT_VALUE, S.HANDLER_OUT, S.HANDLER_IN, S.MAIL_EVENT_TYPE,
104
"
.$DB->DateToCharFunction(
"S.TIMESTAMP_X"
).
" TIMESTAMP_X,
105
count(distinct R.ID) RESULTS
106
FROM
107
b_form_status S
108
LEFT JOIN b_form_result R ON (R.STATUS_ID = S.ID and R.FORM_ID=S.FORM_ID)
109
WHERE
110
S.ID = $ID
111
GROUP BY S.ID
112
"
;
113
$res
=
$DB
->Query($strSql);
114
return
$res
;
115
}
116
117
public
static
function
GetDropdown
($FORM_ID, $PERMISSION =
array
(
"MOVE"
), $OWNER_ID=0)
118
{
119
global
$DB
,
$USER
,
$strError
;
120
$FORM_ID = intval($FORM_ID);
121
if
(
CForm::IsAdmin
())
122
{
123
$strSql =
"
124
SELECT
125
S.ID REFERENCE_ID,
126
concat('[',S.ID,'] ',S.TITLE) REFERENCE
127
FROM
128
b_form_status S
129
WHERE
130
S.FORM_ID = $FORM_ID
131
and S.ACTIVE = 'Y'
132
ORDER BY S.C_SORT
133
"
;
134
}
135
else
136
{
137
if
(is_array($PERMISSION)) $arrPERMISSION = $PERMISSION;
138
else
139
{
140
if
(intval($PERMISSION)==2) $PERMISSION =
"MOVE"
;
141
if
(intval($PERMISSION)==1) $PERMISSION =
"VIEW, MOVE"
;
142
$arrPERMISSION = explode(
","
,$PERMISSION);
143
}
144
$str
=
"''"
;
145
$arrPERM =
array
();
146
if
(is_array($arrPERMISSION) &&
count
($arrPERMISSION)>0)
147
{
148
foreach
($arrPERMISSION as
$perm
)
149
{
150
$arrPERM[] = trim(
$perm
);
151
$str
.=
",'"
.$DB->ForSql(trim(
$perm
)).
"'"
;
152
}
153
}
154
$arGroups
=
$USER
->GetUserGroupArray();
155
if
(!is_array(
$arGroups
))
$arGroups
[] = 2;
156
if
($OWNER_ID==
$USER
->GetID() || (in_array(
"VIEW"
,$arrPERM) && in_array(
"MOVE"
,$arrPERM)))
$arGroups
[] = 0;
157
if
(is_array(
$arGroups
) &&
count
(
$arGroups
)>0)
$groups
= implode(
","
,
$arGroups
);
158
$strSql =
"
159
SELECT
160
S.ID REFERENCE_ID,
161
concat('[',S.ID,'] ',S.TITLE) REFERENCE
162
FROM
163
b_form_status S,
164
b_form_status_2_group G
165
WHERE
166
S.FORM_ID = $FORM_ID
167
and S.ACTIVE = 'Y'
168
and G.STATUS_ID = S.ID
169
and G.GROUP_ID in ($groups)
170
and G.PERMISSION in ($str)
171
GROUP BY
172
S.ID, S.TITLE
173
ORDER BY S.C_SORT
174
"
;
175
}
176
$z
=
$DB
->Query($strSql);
177
return
$z
;
178
}
179
}
CAllForm\IsAdmin
static IsAdmin()
Определения
form_callform.php:8
CAllFormStatus
Определения
form_callformstatus.php:4
CFormStatus
Определения
form_cformstatus.php:4
CFormStatus\GetByID
static GetByID($ID)
Определения
form_cformstatus.php:97
CFormStatus\GetDropdown
static GetDropdown($FORM_ID, $PERMISSION=array("MOVE"), $OWNER_ID=0)
Определения
form_cformstatus.php:117
CFormStatus\GetList
static GetList($FORM_ID, $by='s_sort', $order='asc', $arFilter=[])
Определения
form_cformstatus.php:5
$str
$str
Определения
commerceml2.php:63
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$arGroups
$arGroups
Определения
options.php:1766
$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
$perm
$perm
Определения
options.php:169
$ID
if($ajaxMode) $ID
Определения
get_user.php:27
$strError
$strError
Определения
options_user_settings.php:4
$DB
global $DB
Определения
cron_frame.php:29
$USER
global $USER
Определения
csv_new_run.php:40
$groups
$groups
Определения
options.php:30
$z
$z
Определения
options.php:31
$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
form
classes
mysql
form_cformstatus.php
Создано системой
1.14.0