1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
filter.php
См. документацию.
1
<?
2
IncludeModuleLangFile
(__FILE__);
3
4
class
CAdminMobileFilter
5
{
6
const
SELECT_ALL
=
"AMFSelectAll"
;
7
8
public
static
function
setFields
($filterId,
$arFields
)
9
{
10
return
CUserOptions::SetOption(
"mobileapp"
,
"filter_"
. $filterId,
$arFields
);
11
}
12
13
public
static
function
getNonemptyFields
($filterId, $arFieldsParams =
false
)
14
{
15
$arFilter
=
self::getFields
($filterId);
16
$arNonemptyFields =
array
();
17
18
foreach
(
$arFilter
as $fieldId => $fieldValue)
19
{
20
if
($fieldValue ==
''
)
21
{
22
continue
;
23
}
24
25
$arNonemptyFields[$fieldId] = $fieldValue;
26
27
//BX.userOptions.save saves array as string coma delimited
28
if
(
29
$arFieldsParams !==
false
30
&& isset($arFieldsParams[$fieldId])
31
&& $arFieldsParams[$fieldId][
"TYPE"
] ==
"MULTI_SELECT"
32
&& is_string($fieldValue)
33
)
34
{
35
$arNonemptyFields[$fieldId] = explode(
","
, $fieldValue);
36
}
37
}
38
39
return
$arNonemptyFields;
40
}
41
42
public
static
function
getFields
($filterId)
43
{
44
return
CUserOptions::GetOption(
"mobileapp"
,
"filter_"
. $filterId,
array
());
45
}
46
47
public
static
function
getHtml
(
$arFields
)
48
{
49
global
$APPLICATION
;
50
51
$arData =
array
();
52
53
foreach
(
$arFields
as $fieldID => $arField)
54
{
55
if
($arField[
"TYPE"
] ==
"TEXT"
)
56
{
57
$arItem =
array
(
58
"TYPE"
=>
"TEXT"
,
59
"ID"
=>
"field_id_"
. $fieldID,
60
"VALUE"
=> $arField[
"VALUE"
]
61
);
62
}
63
elseif
($arField[
"TYPE"
] ==
"DATE"
)
64
{
65
$arItem =
array
(
66
"TYPE"
=>
"TEXT"
,
67
"ID"
=>
"field_id_"
. $fieldID,
68
"VALUE"
=> $arField[
"VALUE"
],
69
"CUSTOM_ATTRS"
=>
array
(
70
"onclick"
=>
"maAdminFilter.getDatePickerHtml(this);"
71
)
72
);
73
74
}
75
elseif
($arField[
"TYPE"
] ==
"ONE_SELECT"
)
76
{
77
if
(isset($arField[
"ADD_ALL_SELECT"
]) && $arField[
"ADD_ALL_SELECT"
] ==
"Y"
)
78
{
79
$arField[
"OPTIONS"
] = array_merge(
80
array
(self::SELECT_ALL =>
GetMessage
(
"MOBILEAPP_FILTER_ALL"
)),
81
$arField[
"OPTIONS"
]
82
);
83
}
84
85
$arItem =
array
(
86
"TYPE"
=>
"RADIO"
,
87
"VALUES"
=> $arField[
"OPTIONS"
],
88
"SELECTED"
=> $arField[
"OPTIONS"
][$arField[
"VALUE"
]],
89
"NAME"
=>
"field_name_"
. $fieldID,
90
);
91
}
92
93
elseif
($arField[
"TYPE"
] ==
"MULTI_SELECT"
)
94
{
95
$checked =
array
();
96
if
(is_array($arField[
"VALUE"
]))
97
{
98
$checked = $arField[
"VALUE"
];
99
}
100
else
101
{
102
if
(is_string($arField[
"VALUE"
]) && trim($arField[
"VALUE"
]) <>
''
)
103
{
104
$checked = explode(
','
, $arField[
"VALUE"
]);
105
}
106
}
107
108
$arItem =
array
(
109
"TYPE"
=>
"CHECKBOXES"
,
110
"VALUES"
=> $arField[
"OPTIONS"
],
111
"NAME"
=>
"field_name_"
. $fieldID,
112
);
113
114
if
(!empty($checked))
115
{
116
$arItem[
"CHECKED"
] = $checked;
117
}
118
}
119
120
$arData[] =
array
(
121
"TITLE"
=> $arField[
"NAME"
],
122
"TYPE"
=>
"BLOCK"
,
123
"FORM_ID"
=>
"mapp_filter_form_id"
,
124
"DATA"
=>
array
($arItem)
125
);
126
}
127
128
$compParams =
array
(
129
"FORM_ID"
=>
'mapp_filter_form_id'
,
130
"DATA"
=> $arData,
131
);
132
133
ob_start();
134
$APPLICATION
->IncludeComponent(
135
'bitrix:mobileapp.edit'
,
136
'.default'
,
137
$compParams,
138
false
139
);
140
141
$result
= ob_get_contents();
142
ob_end_clean();
143
144
return
$result
;
145
}
146
}
147
148
?>
$APPLICATION
global $APPLICATION
Определения
include.php:80
CAdminMobileFilter
Определения
filter.php:5
CAdminMobileFilter\setFields
static setFields($filterId, $arFields)
Определения
filter.php:8
CAdminMobileFilter\getHtml
static getHtml($arFields)
Определения
filter.php:47
CAdminMobileFilter\SELECT_ALL
const SELECT_ALL
Определения
filter.php:6
CAdminMobileFilter\getNonemptyFields
static getNonemptyFields($filterId, $arFieldsParams=false)
Определения
filter.php:13
CAdminMobileFilter\getFields
static getFields($filterId)
Определения
filter.php:42
$arFields
$arFields
Определения
dblapprove.php:5
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$result
$result
Определения
get_property_values.php:14
IncludeModuleLangFile
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения
tools.php:3778
GetMessage
GetMessage($name, $aReplace=null)
Определения
tools.php:3397
elseif
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения
prolog_main_admin.php:393
$arFilter
$arFilter
Определения
user_search.php:106
bitrix
modules
mobileapp
classes
general
filter.php
Создано системой
1.14.0