1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
filter.php
См. документацию.
1<?
3
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?>
global $APPLICATION
Определения include.php:80
Определения filter.php:5
static setFields($filterId, $arFields)
Определения filter.php:8
static getHtml($arFields)
Определения filter.php:47
const SELECT_ALL
Определения filter.php:6
static getNonemptyFields($filterId, $arFieldsParams=false)
Определения filter.php:13
static getFields($filterId)
Определения filter.php:42
$arFields
Определения dblapprove.php:5
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$result
Определения get_property_values.php:14
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения tools.php:3778
GetMessage($name, $aReplace=null)
Определения tools.php:3397
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
$arFilter
Определения user_search.php:106