1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
comp_parameters.php
См. документацию.
1<?
6
7Loc::loadMessages(__FILE__);
8
10{
11 protected static $catalogIncluded = null;
12
14 private static function getIblockElementProperties($iblock_id)
15 {
16 if (!isset(self::$elementPropertyCache[$iblock_id]))
17 {
18 self::$elementPropertyCache[$iblock_id] = array();
19 $rsProperty = CIBlockProperty::GetList(array(), array("IBLOCK_ID" => $iblock_id));
20 while($property = $rsProperty->fetch())
21 {
22 self::$elementPropertyCache[$iblock_id][] = $property;
23 }
24 }
25 return self::$elementPropertyCache[$iblock_id];
26 }
27
28 static $catalogStoreCache = null;
29 private static function getCatalogStores()
30 {
31 if (!isset(self::$catalogStoreCache))
32 {
33 self::$catalogStoreCache = array();
34 if (self::$catalogIncluded === null)
35 self::$catalogIncluded = Loader::includeModule('catalog');
36 if (self::$catalogIncluded)
37 {
38 $storeCount = 0;
39 $maxStores = (int)Main\Config\Option::get('iblock', 'seo_max_stores');
41 'select' => array('ID', 'TITLE', 'ADDRESS', 'SORT'),
42 'order' => array('SORT' => 'ASC')
43 );
44 if ($maxStores > 0)
45 $getListParams['limit'] = $maxStores;
46 $storeIterator = Catalog\StoreTable::getList($getListParams);
47 while ($store = $storeIterator->fetch())
48 {
49 self::$catalogStoreCache[$storeCount] = $store;
50 $storeCount++;
51 }
52 }
53 }
54 return self::$catalogStoreCache;
55 }
56
57 static $catalogPriceCache = null;
58 private static function getCatalogPrices()
59 {
60 if (!isset(self::$catalogPriceCache))
61 {
62 self::$catalogPriceCache = array();
63 if (self::$catalogIncluded === null)
64 self::$catalogIncluded = Loader::includeModule('catalog');
65 if (self::$catalogIncluded)
66 self::$catalogPriceCache = CCatalogGroup::GetListArray();
67 }
68 return self::$catalogPriceCache;
69 }
70
71 public static function GetFieldCode($name, $parent, $options = array())
72 {
73 //Common use in components
74 $result = array(
75 "PARENT" => $parent,
76 "NAME" => $name,
77 "TYPE" => "LIST",
78 "MULTIPLE" => "Y",
79 "ADDITIONAL_VALUES" => "Y",
80 "SIZE" => 8,
81 "VALUES" => array(
82 "ID" => Loc::getMessage("IBLOCK_FIELD_ID"),
83 "CODE" => Loc::getMessage("IBLOCK_FIELD_CODE"),
84 "XML_ID" => Loc::getMessage("IBLOCK_FIELD_XML_ID"),
85 "NAME" => Loc::getMessage("IBLOCK_FIELD_NAME"),
86 "TAGS" => Loc::getMessage("IBLOCK_FIELD_TAGS"),
87 "SORT"=> Loc::getMessage("IBLOCK_FIELD_SORT"),
88 "PREVIEW_TEXT" => Loc::getMessage("IBLOCK_FIELD_PREVIEW_TEXT"),
89 "PREVIEW_PICTURE" => Loc::getMessage("IBLOCK_FIELD_PREVIEW_PICTURE"),
90 "DETAIL_TEXT" => Loc::getMessage("IBLOCK_FIELD_DETAIL_TEXT"),
91 "DETAIL_PICTURE" => Loc::getMessage("IBLOCK_FIELD_DETAIL_PICTURE"),
92 "DATE_ACTIVE_FROM" => Loc::getMessage("IBLOCK_FIELD_DATE_ACTIVE_FROM"),
93 "ACTIVE_FROM" => Loc::getMessage("IBLOCK_FIELD_ACTIVE_FROM"),
94 "DATE_ACTIVE_TO" => Loc::getMessage("IBLOCK_FIELD_DATE_ACTIVE_TO"),
95 "ACTIVE_TO" => Loc::getMessage("IBLOCK_FIELD_ACTIVE_TO"),
96 "SHOW_COUNTER" => Loc::getMessage("IBLOCK_FIELD_SHOW_COUNTER"),
97 "SHOW_COUNTER_START" => Loc::getMessage("IBLOCK_FIELD_SHOW_COUNTER_START"),
98 "IBLOCK_TYPE_ID" => Loc::getMessage("IBLOCK_FIELD_IBLOCK_TYPE_ID"),
99 "IBLOCK_ID" => Loc::getMessage("IBLOCK_FIELD_IBLOCK_ID"),
100 "IBLOCK_CODE" => Loc::getMessage("IBLOCK_FIELD_IBLOCK_CODE"),
101 "IBLOCK_NAME" => Loc::getMessage("IBLOCK_FIELD_IBLOCK_NAME"),
102 "IBLOCK_EXTERNAL_ID" => Loc::getMessage("IBLOCK_FIELD_IBLOCK_EXTERNAL_ID"),
103 "DATE_CREATE" => Loc::getMessage("IBLOCK_FIELD_DATE_CREATE"),
104 "CREATED_BY" => Loc::getMessage("IBLOCK_FIELD_CREATED_BY"),
105 "CREATED_USER_NAME" => Loc::getMessage("IBLOCK_FIELD_CREATED_USER_NAME"),
106 "TIMESTAMP_X" => Loc::getMessage("IBLOCK_FIELD_TIMESTAMP_X"),
107 "MODIFIED_BY" => Loc::getMessage("IBLOCK_FIELD_MODIFIED_BY"),
108 "USER_NAME" => Loc::getMessage("IBLOCK_FIELD_USER_NAME"),
109 ),
110 );
111
112 //Check for any additional fields
113 if(isset($options["SECTION_ID"]) && $options["SECTION_ID"])
114 $result["VALUES"]["SECTION_ID"] = Loc::getMessage("IBLOCK_FIELD_SECTION_ID");
115
116 return $result;
117 }
118
119 public static function GetSectionFieldCode($name, $parent, $options = array())
120 {
121 //Common use in components
122 $result = array(
123 "PARENT" => $parent,
124 "NAME" => $name,
125 "TYPE" => "LIST",
126 "MULTIPLE" => "Y",
127 "ADDITIONAL_VALUES" => "Y",
128 "SIZE" => 8,
129 "VALUES" => array(
130 "ID" => Loc::getMessage("IBLOCK_FIELD_ID"),
131 "CODE" => Loc::getMessage("IBLOCK_FIELD_CODE"),
132 "XML_ID" => Loc::getMessage("IBLOCK_FIELD_XML_ID"),
133 "NAME" => Loc::getMessage("IBLOCK_FIELD_NAME"),
134 "SORT"=> Loc::getMessage("IBLOCK_FIELD_SORT"),
135 "DESCRIPTION" => Loc::getMessage("IBLOCK_FIELD_DESCRIPTION"),
136 "PICTURE" => Loc::getMessage("IBLOCK_FIELD_PICTURE"),
137 "DETAIL_PICTURE" => Loc::getMessage("IBLOCK_FIELD_DETAIL_PICTURE"),
138 "IBLOCK_TYPE_ID" => Loc::getMessage("IBLOCK_FIELD_IBLOCK_TYPE_ID"),
139 "IBLOCK_ID" => Loc::getMessage("IBLOCK_FIELD_IBLOCK_ID"),
140 "IBLOCK_CODE" => Loc::getMessage("IBLOCK_FIELD_IBLOCK_CODE"),
141 "IBLOCK_EXTERNAL_ID" => Loc::getMessage("IBLOCK_FIELD_IBLOCK_EXTERNAL_ID"),
142 "DATE_CREATE" => Loc::getMessage("IBLOCK_FIELD_DATE_CREATE"),
143 "CREATED_BY" => Loc::getMessage("IBLOCK_FIELD_CREATED_BY"),
144 "TIMESTAMP_X" => Loc::getMessage("IBLOCK_FIELD_TIMESTAMP_X"),
145 "MODIFIED_BY" => Loc::getMessage("IBLOCK_FIELD_MODIFIED_BY"),
146 ),
147 );
148 return $result;
149 }
150
151 public static function GetDateFormat($name, $parent)
152 {
153 global $DB;
154
155 $timestamp = mktime(7,30,45,2,22,2007);
156 return array(
157 "PARENT" => $parent,
158 "NAME" => $name,
159 "TYPE" => "LIST",
160 "SIZE" => 8,
161 "VALUES" => array(
162 "d-m-Y" => CIBlockFormatProperties::DateFormat("d-m-Y", $timestamp),//"22-02-2007",
163 "m-d-Y" => CIBlockFormatProperties::DateFormat("m-d-Y", $timestamp),//"02-22-2007",
164 "Y-m-d" => CIBlockFormatProperties::DateFormat("Y-m-d", $timestamp),//"2007-02-22",
165 "d.m.Y" => CIBlockFormatProperties::DateFormat("d.m.Y", $timestamp),//"22.02.2007",
166 "d.M.Y" => CIBlockFormatProperties::DateFormat("d.M.Y", $timestamp),//"22.Feb.2007",
167 "m.d.Y" => CIBlockFormatProperties::DateFormat("m.d.Y", $timestamp),//"02.22.2007",
168 "j M Y" => CIBlockFormatProperties::DateFormat("j M Y", $timestamp),//"22 Feb 2007",
169 "M j, Y" => CIBlockFormatProperties::DateFormat("M j, Y", $timestamp),//"Feb 22, 2007",
170 "j F Y" => CIBlockFormatProperties::DateFormat("j F Y", $timestamp),//"22 February 2007",
171 "f j, Y" => CIBlockFormatProperties::DateFormat("f j, Y", $timestamp),//"February 22, 2007",
172 "d.m.y g:i A" => CIBlockFormatProperties::DateFormat("d.m.y g:i A", $timestamp),//"22.02.07 1:30 PM",
173 "d.M.y g:i A" => CIBlockFormatProperties::DateFormat("d.M.y g:i A", $timestamp),//"22.Feb.07 1:30 PM",
174 "d.M.Y g:i A" => CIBlockFormatProperties::DateFormat("d.M.Y g:i A", $timestamp),//"22.Febkate.2007 1:30 PM",
175 "d.m.y G:i" => CIBlockFormatProperties::DateFormat("d.m.y G:i", $timestamp),//"22.02.07 7:30",
176 "d.m.Y H:i" => CIBlockFormatProperties::DateFormat("d.m.Y H:i", $timestamp),//"22.02.2007 07:30",
177 "SHORT" => Loc::getMessage('COMP_PARAM_DATE_FORMAT_SITE'),
178 "FULL" => Loc::getMessage('COMP_PARAM_DATETIME_FORMAT_SITE')
179 ),
180 "DEFAULT" => $DB->DateFormatToPHP(CSite::GetDateFormat("SHORT")),
181 "ADDITIONAL_VALUES" => "Y",
182 );
183 }
184
185 public static function GetPathTemplateMenuItems($menuType, $action_function, $menuID, $inputID = "")
186 {
187 switch($menuType)
188 {
189 case "DETAIL":
190 return array(
191 array(
192 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SITE_DIR"),
193 "TITLE" => "#SITE_DIR# - ".Loc::getMessage("IB_COMPLIB_POPUP_SITE_DIR"),
194 "ONCLICK" => "$action_function('#SITE_DIR#', '$menuID', '$inputID')",
195 ),
196 array(
197 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SERVER_NAME"),
198 "TITLE" => "#SERVER_NAME# - ".Loc::getMessage("IB_COMPLIB_POPUP_SERVER_NAME"),
199 "ONCLICK" => "$action_function('#SERVER_NAME#', '$menuID', '$inputID')",
200 ),
201 array(
202 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_TYPE_ID"),
203 "TITLE" => "#IBLOCK_TYPE_ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_TYPE_ID"),
204 "ONCLICK" => "$action_function('#IBLOCK_TYPE_ID#', '$menuID', '$inputID')",
205 ),
206 array("SEPARATOR" => true),
207 array(
208 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_ID"),
209 "TITLE" => "#IBLOCK_ID#".Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_ID"),
210 "ONCLICK" => "$action_function('#IBLOCK_ID#', '$menuID', '$inputID')",
211 ),
212 array(
213 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_CODE"),
214 "TITLE" => "#IBLOCK_CODE# - ".Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_CODE"),
215 "ONCLICK" => "$action_function('#IBLOCK_CODE#', '$menuID', '$inputID')",
216 ),
217 array(
218 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_EXTERNAL_ID_MSGVER_1"),
219 "TITLE" => "#IBLOCK_EXTERNAL_ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_EXTERNAL_ID_MSGVER_1"),
220 "ONCLICK" => "$action_function('#IBLOCK_EXTERNAL_ID#', '$menuID', '$inputID')",
221 ),
222 array("SEPARATOR" => true),
223 array(
224 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION_ID"),
225 "TITLE" => "#SECTION_ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_SECTION_ID"),
226 "ONCLICK" => "$action_function('#SECTION_ID#', '$menuID', '$inputID')",
227 ),
228 array(
229 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION_CODE"),
230 "TITLE" => "#SECTION_CODE# - ".Loc::getMessage("IB_COMPLIB_POPUP_SECTION_CODE"),
231 "ONCLICK" => "$action_function('#SECTION_CODE#', '$menuID', '$inputID')",
232 ),
233 array(
234 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION_CODE_PATH"),
235 "TITLE" => "#SECTION_CODE_PATH# - ".Loc::getMessage("IB_COMPLIB_POPUP_SECTION_CODE_PATH"),
236 "ONCLICK" => "$action_function('#SECTION_CODE_PATH#', '$menuID', '$inputID')",
237 ),
238 array("SEPARATOR" => true),
239 array(
240 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_ID"),
241 "TITLE" => "#ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_ID"),
242 "ONCLICK" => "$action_function('#ID#', '$menuID', '$inputID')",
243 ),
244 array(
245 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_ID")."(2)",
246 "TITLE" => "#ELEMENT_ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_ID"),
247 "ONCLICK" => "$action_function('#ELEMENT_ID#', '$menuID', '$inputID')",
248 ),
249 array(
250 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_CODE"),
251 "TITLE" => "#CODE# - ".Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_CODE"),
252 "ONCLICK" => "$action_function('#CODE#', '$menuID', '$inputID')",
253 ),
254 array(
255 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_CODE")."(2)",
256 "TITLE" => "#ELEMENT_CODE# - ".Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_CODE"),
257 "ONCLICK" => "$action_function('#ELEMENT_CODE#', '$menuID', '$inputID')",
258 ),
259 array(
260 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_EXTERNAL_ID_MSGVER_1"),
261 "TITLE" => "#EXTERNAL_ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_EXTERNAL_ID_MSGVER_1"),
262 "ONCLICK" => "$action_function('#EXTERNAL_ID#', '$menuID', '$inputID')",
263 ),
264 );
265 case "SECTION":
266 return array(
267 array(
268 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SITE_DIR"),
269 "TITLE" => "#SITE_DIR# - ".Loc::getMessage("IB_COMPLIB_POPUP_SITE_DIR"),
270 "ONCLICK" => "$action_function('#SITE_DIR#', '$menuID', '$inputID')",
271 ),
272 array(
273 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SERVER_NAME"),
274 "TITLE" => "#SERVER_NAME# - ".Loc::getMessage("IB_COMPLIB_POPUP_SERVER_NAME"),
275 "ONCLICK" => "$action_function('#SERVER_NAME#', '$menuID', '$inputID')",
276 ),
277 array(
278 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_TYPE_ID"),
279 "TITLE" => "#IBLOCK_TYPE_ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_TYPE_ID"),
280 "ONCLICK" => "$action_function('#IBLOCK_TYPE_ID#', '$menuID', '$inputID')",
281 ),
282 array("SEPARATOR" => true),
283 array(
284 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_ID"),
285 "TITLE"=>"#IBLOCK_ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_ID"),
286 "ONCLICK" => "$action_function('#IBLOCK_ID#', '$menuID', '$inputID')",
287 ),
288 array(
289 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_CODE"),
290 "TITLE" => "#IBLOCK_CODE# - ".Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_CODE"),
291 "ONCLICK" => "$action_function('#IBLOCK_CODE#', '$menuID', '$inputID')",
292 ),
293 array(
294 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_EXTERNAL_ID_MSGVER_1"),
295 "TITLE" => "#IBLOCK_EXTERNAL_ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_EXTERNAL_ID_MSGVER_1"),
296 "ONCLICK" => "$action_function('#IBLOCK_EXTERNAL_ID#', '$menuID', '$inputID')",
297 ),
298 array("SEPARATOR" => true),
299 array(
300 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION_ID"),
301 "TITLE" => "#ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_SECTION_ID"),
302 "ONCLICK" => "$action_function('#ID#', '$menuID', '$inputID')",
303 ),
304 array(
305 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION_ID")."(2)",
306 "TITLE" => "#SECTION_ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_SECTION_ID"),
307 "ONCLICK" => "$action_function('#SECTION_ID#', '$menuID', '$inputID')",
308 ),
309 array(
310 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION_CODE"),
311 "TITLE" => "#CODE# - ".Loc::getMessage("IB_COMPLIB_POPUP_SECTION_CODE"),
312 "ONCLICK" => "$action_function('#CODE#', '$menuID', '$inputID')",
313 ),
314 array(
315 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION_CODE")."(2)",
316 "TITLE" => "#SECTION_CODE# - ".Loc::getMessage("IB_COMPLIB_POPUP_SECTION_CODE"),
317 "ONCLICK" => "$action_function('#SECTION_CODE#', '$menuID', '$inputID')",
318 ),
319 array(
320 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION_CODE_PATH"),
321 "TITLE" => "#SECTION_CODE_PATH# - ".Loc::getMessage("IB_COMPLIB_POPUP_SECTION_CODE_PATH"),
322 "ONCLICK" => "$action_function('#SECTION_CODE_PATH#', '$menuID', '$inputID')",
323 ),
324 array(
325 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION_EXTERNAL_ID_MSGVER_1"),
326 "TITLE"=>"#EXTERNAL_ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_SECTION_EXTERNAL_ID_MSGVER_1"),
327 "ONCLICK" => "$action_function('#EXTERNAL_ID#', '$menuID', '$inputID')",
328 ),
329 );
330 default:
331 return array(
332 array(
333 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SITE_DIR"),
334 "ONCLICK" => "$action_function('#SITE_DIR#', '$menuID', '$inputID')",
335 "TITLE"=> "#SITE_DIR# - ".Loc::getMessage("IB_COMPLIB_POPUP_SITE_DIR"),
336 ),
337 array(
338 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SERVER_NAME"),
339 "TITLE" => "#SERVER_NAME# - ".Loc::getMessage("IB_COMPLIB_POPUP_SERVER_NAME"),
340 "ONCLICK" => "$action_function('#SERVER_NAME#', '$menuID', '$inputID')",
341 ),
342 array(
343 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_TYPE_ID"),
344 "TITLE" => "#IBLOCK_TYPE_ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_TYPE_ID"),
345 "ONCLICK" => "$action_function('#IBLOCK_TYPE_ID#', '$menuID', '$inputID')",
346 ),
347 array("SEPARATOR" => true),
348 array(
349 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_ID"),
350 "TITLE"=>"#IBLOCK_ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_ID"),
351 "ONCLICK" => "$action_function('#IBLOCK_ID#', '$menuID', '$inputID')",
352 ),
353 array(
354 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_CODE"),
355 "TITLE" => "#IBLOCK_CODE# - ".Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_CODE"),
356 "ONCLICK" => "$action_function('#IBLOCK_CODE#', '$menuID', '$inputID')",
357 ),
358 array(
359 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_EXTERNAL_ID_MSGVER_1"),
360 "TITLE" => "#IBLOCK_EXTERNAL_ID# - ".Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_EXTERNAL_ID_MSGVER_1"),
361 "ONCLICK" => "$action_function('#IBLOCK_EXTERNAL_ID#', '$menuID', '$inputID')",
362 ),
363 );
364 }
365 }
366
367 public static function GetInheritedPropertyTemplateSectionMenuItems($iblock_id, $action_function, $menuID, $inputID = "")
368 {
369 global $USER_FIELD_MANAGER;
370 $result = array();
371 $result["this"] = array(
372 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION"),
373 "MENU" => array(
374 array(
375 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION_NAME"),
376 "ONCLICK" => "$action_function('{=this.Name}', '$menuID', '$inputID')",
377 ),
378 array(
379 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION_LOWER_NAME"),
380 "ONCLICK" => "$action_function('{=lower this.Name}', '$menuID', '$inputID')",
381 ),
382 array(
383 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION_CODE"),
384 "ONCLICK" => "$action_function('{=this.Code}', '$menuID', '$inputID')",
385 ),
386 array(
387 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTION_PREVIEW_TEXT"),
388 "ONCLICK" => "$action_function('{=this.PreviewText}', '$menuID', '$inputID')",
389 ),
390 ),
391 );
392 if ($iblock_id > 0)
393 {
394 $result["properties"] = array(
395 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_PROPERTIES"),
396 "MENU" => array(
397 ),
398 );
399 $arProperty = $USER_FIELD_MANAGER->GetUserFields("IBLOCK_".$iblock_id."_SECTION");
400 foreach($arProperty as $property)
401 {
402 if (isset($property['USER_TYPE']['BASE_TYPE']) && $property['USER_TYPE']['BASE_TYPE'] !== \Bitrix\Main\UserField\Types\FileType::USER_TYPE_ID)
403 {
404 $result["properties"]["MENU"][] = array(
405 "TEXT" => $property["FIELD_NAME"],
406 "ONCLICK" => "$action_function('{=this.property.".mb_strtolower(mb_substr($property["FIELD_NAME"], 3))."}', '$menuID', '$inputID')",
407 );
408 }
409 }
410 }
411 $result["parent"] = array(
412 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_PARENT"),
413 "MENU" => array(
414 array(
415 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_PARENT_NAME"),
416 "ONCLICK" => "$action_function('{=parent.Name}', '$menuID', '$inputID')",
417 ),
418 array(
419 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_PARENT_CODE"),
420 "ONCLICK" => "$action_function('{=parent.Code}', '$menuID', '$inputID')",
421 ),
422 array(
423 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_PARENT_TEXT"),
424 "ONCLICK" => "$action_function('{=parent.PreviewText}', '$menuID', '$inputID')",
425 ),
426 ),
427 );
428 $result["iblock"] = array(
429 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK"),
430 "MENU" => array(
431 array(
432 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_NAME"),
433 "ONCLICK" => "$action_function('{=iblock.Name}', '$menuID', '$inputID')",
434 ),
435 array(
436 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_CODE"),
437 "ONCLICK" => "$action_function('{=iblock.Code}', '$menuID', '$inputID')",
438 ),
439 array(
440 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_TEXT"),
441 "ONCLICK" => "$action_function('{=iblock.PreviewText}', '$menuID', '$inputID')",
442 ),
443 ),
444 );
445 $catalog = false;
446 $showCatalogSeo = false;
447 if (self::$catalogIncluded === null)
448 self::$catalogIncluded = Loader::includeModule('catalog');
449 if (self::$catalogIncluded)
450 {
451 if ($iblock_id > 0)
452 $catalog = CCatalogSku::GetInfoByIBlock($iblock_id);
453 $showCatalogSeo = (is_array($catalog) && $catalog['CATALOG_TYPE'] != CCatalogSku::TYPE_PRODUCT);
454 if ($showCatalogSeo)
455 {
456 $result["store"] = array(
457 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_STORE"),
458 "MENU" => array(),
459 );
460 foreach (self::getCatalogStores() as $store)
461 {
462 $result["store"]["MENU"][] = array(
463 "TEXT" => ($store["TITLE"] != '' ? $store["TITLE"] : $store["ADDRESS"]),
464 "ONCLICK" => "$action_function('{=catalog.store.".$store["ID"].".name}', '$menuID', '$inputID')",
465 );
466 }
467 }
468 }
469 $result["misc"] = array(
470 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_MISC"),
471 "MENU" => array(),
472 );
473 $result["misc"]["MENU"][] = array(
474 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTIONS_PATH"),
475 "ONCLICK" => "$action_function('{=concat this.sections.name this.name \" / \"}', '$menuID', '$inputID')",
476 );
477 if (self::$catalogIncluded)
478 {
479 if ($showCatalogSeo)
480 {
481 $result["misc"]["MENU"][] = array(
482 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_STORE_LIST"),
483 "ONCLICK" => "$action_function('{=concat catalog.store \", \"}', '$menuID', '$inputID')",
484 );
485 }
486 }
487 $r = array();
488 foreach($result as $category)
489 {
490 if (!empty($category) && !empty($category["MENU"]))
491 {
492 $r[] = $category;
493 }
494 }
495 return $r;
496 }
497
498 public static function GetInheritedPropertyTemplateElementMenuItems($iblock_id, $action_function, $menuID, $inputID = "")
499 {
500 $result = array();
501 $result["this"] = array(
502 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT"),
503 "MENU" => array(
504 array(
505 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_NAME"),
506 "ONCLICK" => "$action_function('{=this.Name}', '$menuID', '$inputID')",
507 ),
508 array(
509 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_LOWER_NAME"),
510 "ONCLICK" => "$action_function('{=lower this.Name}', '$menuID', '$inputID')",
511 ),
512 array(
513 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_CODE"),
514 "ONCLICK" => "$action_function('{=this.Code}', '$menuID', '$inputID')",
515 ),
516 array(
517 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_PREVIEW_TEXT"),
518 "ONCLICK" => "$action_function('{=this.PreviewText}', '$menuID', '$inputID')",
519 ),
520 array(
521 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_ELEMENT_DETAIL_TEXT"),
522 "ONCLICK" => "$action_function('{=this.DetailText}', '$menuID', '$inputID')",
523 ),
524 ),
525 );
526 if ($iblock_id > 0)
527 {
528 $result["properties"] = array(
529 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_PROPERTIES"),
530 "MENU" => array(
531 ),
532 );
533 foreach (self::getIblockElementProperties($iblock_id) as $property)
534 {
535 if ($property["PROPERTY_TYPE"] != "F")
536 {
537 $result["properties"]["MENU"][] = array(
538 "TEXT" => $property["NAME"],
539 "ONCLICK" => "$action_function('{=this.property.".($property["CODE"]!=""? $property["CODE"]: $property["ID"])."}', '$menuID', '$inputID')",
540 );
541 }
542 }
543 }
544 $result["parent"] = array(
545 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_PARENT"),
546 "MENU" => array(
547 array(
548 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_PARENT_NAME"),
549 "ONCLICK" => "$action_function('{=parent.Name}', '$menuID', '$inputID')",
550 ),
551 array(
552 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_PARENT_CODE"),
553 "ONCLICK" => "$action_function('{=parent.Code}', '$menuID', '$inputID')",
554 ),
555 array(
556 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_PARENT_TEXT"),
557 "ONCLICK" => "$action_function('{=parent.PreviewText}', '$menuID', '$inputID')",
558 ),
559 ),
560 );
561 $result["iblock"] = array(
562 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK"),
563 "MENU" => array(
564 array(
565 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_NAME"),
566 "ONCLICK" => "$action_function('{=iblock.Name}', '$menuID', '$inputID')",
567 ),
568 array(
569 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_CODE"),
570 "ONCLICK" => "$action_function('{=iblock.Code}', '$menuID', '$inputID')",
571 ),
572 array(
573 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_IBLOCK_TEXT"),
574 "ONCLICK" => "$action_function('{=iblock.PreviewText}', '$menuID', '$inputID')",
575 ),
576 ),
577 );
578 $arCatalog = false;
579 $showCatalogSeo = false;
580 if (self::$catalogIncluded === null)
581 self::$catalogIncluded = Loader::includeModule('catalog');
582 if (self::$catalogIncluded)
583 {
584 if ($iblock_id > 0)
585 $arCatalog = CCatalogSku::GetInfoByIBlock($iblock_id);
586 if (is_array($arCatalog))
587 {
588 $showCatalogSeo = ($arCatalog['CATALOG_TYPE'] != CCatalogSku::TYPE_PRODUCT);
589 if ($arCatalog['CATALOG_TYPE'] == CCatalogSku::TYPE_PRODUCT || $arCatalog['CATALOG_TYPE'] == CCatalogSku::TYPE_FULL)
590 {
591 $result["sku_properties"] = array(
592 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SKU_PROPERTIES"),
593 "MENU" => array(),
594 );
595 $rsProperty = CIBlockProperty::GetList(array(), array("IBLOCK_ID" => $arCatalog["IBLOCK_ID"]));
596 while ($property = $rsProperty->fetch())
597 {
598 if ($property["PROPERTY_TYPE"] != "F")
599 {
600 $result["sku_properties"]["MENU"][] = array(
601 "TEXT" => $property["NAME"],
602 "ONCLICK" => "$action_function('{=concat {=distinct this.catalog.sku.property.".($property["CODE"] != "" ? $property["CODE"] : $property["ID"])." \", \"}}', '$menuID', '$inputID')",
603 );
604 }
605 }
606 $result["sku_price"] = array(
607 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SKU_PRICE"),
608 "MENU" => array(),
609 );
610 foreach (self::getCatalogPrices() as $price)
611 {
612 if (preg_match("/^[a-zA-Z0-9]+\$/", $price["NAME"]))
613 {
614 $result["sku_price"]["MENU"][] = array(
615 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_MIN_PRICE")." ".$price["NAME"],
616 "ONCLICK" => "$action_function('{=min this.catalog.sku.price.".$price["NAME"]."}', '$menuID', '$inputID')",
617 );
618 $result["sku_price"]["MENU"][] = array(
619 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_MAX_PRICE")." ".$price["NAME"],
620 "ONCLICK" => "$action_function('{=max this.catalog.sku.price.".$price["NAME"]."}', '$menuID', '$inputID')",
621 );
622 }
623 else
624 {
625 $result["sku_price"]["MENU"][] = array(
626 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_MIN_PRICE")." ".$price["NAME"],
627 "ONCLICK" => "$action_function('{=min this.catalog.sku.price.".$price["ID"]."}', '$menuID', '$inputID')",
628 );
629 $result["sku_price"]["MENU"][] = array(
630 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_MAX_PRICE")." ".$price["NAME"],
631 "ONCLICK" => "$action_function('{=max this.catalog.sku.price.".$price["ID"]."}', '$menuID', '$inputID')",
632 );
633 }
634 }
635 }
636
637 if ($showCatalogSeo)
638 {
639 $result["catalog"] = array(
640 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_CATALOG"),
641 "MENU" => array(
642 array(
643 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_CATALOG_WEIGHT"),
644 "ONCLICK" => "$action_function('{=this.catalog.weight}', '$menuID', '$inputID')",
645 ),
646 array(
647 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_CATALOG_MEASURE"),
648 "ONCLICK" => "$action_function('{=this.catalog.measure}', '$menuID', '$inputID')",
649 ),
650 ),
651 );
652 $result["price"] = array(
653 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_PRICE"),
654 "MENU" => array(),
655 );
656 foreach (self::getCatalogPrices() as $price)
657 {
658 if (preg_match("/^[a-zA-Z0-9]+\$/", $price["NAME"]))
659 $result["price"]["MENU"][] = array(
660 "TEXT" => $price["NAME"],
661 "ONCLICK" => "$action_function('{=this.catalog.price.".$price["NAME"]."}', '$menuID', '$inputID')",
662 );
663 else
664 $result["price"]["MENU"][] = array(
665 "TEXT" => $price["NAME"],
666 "ONCLICK" => "$action_function('{=this.catalog.price.".$price["ID"]."}', '$menuID', '$inputID')",
667 );
668 }
669 $result["store"] = array(
670 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_STORE"),
671 "MENU" => array(),
672 );
673 foreach (self::getCatalogStores() as $store)
674 {
675 $result["store"]["MENU"][] = array(
676 "TEXT" => ($store["TITLE"] != '' ? $store["TITLE"] : $store["ADDRESS"]),
677 "ONCLICK" => "$action_function('{=catalog.store.".$store["ID"].".name}', '$menuID', '$inputID')",
678 );
679 }
680 }
681 }
682 }
683 $result["misc"] = array(
684 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_MISC"),
685 "MENU" => array(),
686 );
687 $result["misc"]["MENU"][] = array(
688 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_SECTIONS_PATH"),
689 "ONCLICK" => "$action_function('{=concat this.sections.name \" / \"}', '$menuID', '$inputID')",
690 );
691 if (self::$catalogIncluded)
692 {
693 if ($showCatalogSeo)
694 {
695 $result["misc"]["MENU"][] = array(
696 "TEXT" => Loc::getMessage("IB_COMPLIB_POPUP_STORE_LIST"),
697 "ONCLICK" => "$action_function('{=concat catalog.store \", \"}', '$menuID', '$inputID')",
698 );
699 }
700 }
701 $r = array();
702 foreach($result as $category)
703 {
704 if (!empty($category) && !empty($category["MENU"]))
705 {
706 $r[] = $category;
707 }
708 }
709 return $r;
710 }
711
712 public static function GetPathTemplateParam($menuType, $ID, $parameterName, $defaultValue = "", $parentID = "URL_TEMPLATES")
713 {
714 return array(
715 "PARENT" => $parentID,
716 "NAME" => $parameterName,
717 "TYPE" => "CUSTOM",
718 "DEFAULT" => $defaultValue,
719 "JS_FILE" => BX_ROOT."/js/iblock/path_templates.js",
720 "JS_EVENT" => "IBlockComponentProperties",
721 "JS_DATA" => str_replace("\n", "", CUtil::PhpToJSObject(array(
722 "mnu_".$ID, //menu div ID
723 5000, //zIndex
724 CIBlockParameters::GetPathTemplateMenuItems($menuType, "window.IBlockComponentPropertiesObj.Action", "mnu_".$ID), //Menu items
725 ))),
726 );
727 }
728
729 public static function AddPagerSettings(&$arComponentParameters, $pager_title, $bDescNumbering=true, $bShowAllParam=false, $bBaseLink=false, $bBaseLinkEnabled=false)
730 {
731 $arHiddenTemplates = array(
732 'js' => true
733 );
734 if (!isset($arComponentParameters['GROUPS']))
735 $arComponentParameters['GROUPS'] = array();
736 $arComponentParameters["GROUPS"]["PAGER_SETTINGS"] = array(
737 "NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_SETTINGS"),
738 );
739
740 $arTemplateInfo = CComponentUtil::GetTemplatesList('bitrix:system.pagenavigation');
741 if (empty($arTemplateInfo))
742 {
743 $arComponentParameters["PARAMETERS"]["PAGER_TEMPLATE"] = Array(
744 "PARENT" => "PAGER_SETTINGS",
745 "NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_TEMPLATE"),
746 "TYPE" => "STRING",
747 "DEFAULT" => "",
748 );
749 }
750 else
751 {
752 sortByColumn($arTemplateInfo, array('TEMPLATE' => SORT_ASC, 'NAME' => SORT_ASC));
753 $arTemplateList = array();
754 $arSiteTemplateList = array(
755 '.default' => Loc::getMessage('T_IBLOCK_DESC_PAGER_TEMPLATE_SITE_DEFAULT')
756 );
757 $arTemplateID = array();
758 foreach ($arTemplateInfo as &$template)
759 {
760 if ('' != $template["TEMPLATE"] && '.default' != $template["TEMPLATE"])
761 $arTemplateID[] = $template["TEMPLATE"];
762 if (!isset($template['TITLE']))
763 $template['TITLE'] = $template['NAME'];
764 }
765 unset($template);
766
767 if (!empty($arTemplateID))
768 {
770 array(),
771 array("ID"=>$arTemplateID),
772 array()
773 );
774 while ($arSitetemplate = $rsSiteTemplates->Fetch())
775 {
776 $arSiteTemplateList[$arSitetemplate['ID']] = $arSitetemplate['NAME'];
777 }
778 }
779
780 foreach ($arTemplateInfo as &$template)
781 {
782 if (isset($arHiddenTemplates[$template['NAME']]))
783 continue;
784 $strDescr = $template["TITLE"].' ('.('' != $template["TEMPLATE"] && '' != $arSiteTemplateList[$template["TEMPLATE"]] ? $arSiteTemplateList[$template["TEMPLATE"]] : Loc::getMessage("T_IBLOCK_DESC_PAGER_TEMPLATE_SYSTEM")).')';
785 $arTemplateList[$template['NAME']] = $strDescr;
786 }
787 unset($template);
788 $arComponentParameters["PARAMETERS"]["PAGER_TEMPLATE"] = array(
789 "PARENT" => "PAGER_SETTINGS",
790 "NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_TEMPLATE_EXT"),
791 "TYPE" => "LIST",
792 "VALUES" => $arTemplateList,
793 "DEFAULT" => ".default",
794 "ADDITIONAL_VALUES" => "Y"
795 );
796 }
797
798 $arComponentParameters["PARAMETERS"]["DISPLAY_TOP_PAGER"] = Array(
799 "PARENT" => "PAGER_SETTINGS",
800 "NAME" => Loc::getMessage("T_IBLOCK_DESC_TOP_PAGER"),
801 "TYPE" => "CHECKBOX",
802 "DEFAULT" => "N",
803 );
804 $arComponentParameters["PARAMETERS"]["DISPLAY_BOTTOM_PAGER"] = Array(
805 "PARENT" => "PAGER_SETTINGS",
806 "NAME" => Loc::getMessage("T_IBLOCK_DESC_BOTTOM_PAGER"),
807 "TYPE" => "CHECKBOX",
808 "DEFAULT" => "Y",
809 );
810 $arComponentParameters["PARAMETERS"]["PAGER_TITLE"] = Array(
811 "PARENT" => "PAGER_SETTINGS",
812 "NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_TITLE"),
813 "TYPE" => "STRING",
814 "DEFAULT" => $pager_title,
815 );
816 $arComponentParameters["PARAMETERS"]["PAGER_SHOW_ALWAYS"] = Array(
817 "PARENT" => "PAGER_SETTINGS",
818 "NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_SHOW_ALWAYS"),
819 "TYPE" => "CHECKBOX",
820 "DEFAULT" => "N",
821 );
822
823 if($bDescNumbering)
824 {
825 $arComponentParameters["PARAMETERS"]["PAGER_DESC_NUMBERING"] = Array(
826 "PARENT" => "PAGER_SETTINGS",
827 "NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_DESC_NUMBERING"),
828 "TYPE" => "CHECKBOX",
829 "DEFAULT" => "N",
830 );
831 $arComponentParameters["PARAMETERS"]["PAGER_DESC_NUMBERING_CACHE_TIME"] = Array(
832 "PARENT" => "PAGER_SETTINGS",
833 "NAME" => Loc::getMessage("T_IBLOCK_DESC_PAGER_DESC_NUMBERING_CACHE_TIME"),
834 "TYPE" => "STRING",
835 "DEFAULT" => "36000",
836 );
837 }
838
839 if($bShowAllParam)
840 {
841 $arComponentParameters["PARAMETERS"]["PAGER_SHOW_ALL"] = Array(
842 "PARENT" => "PAGER_SETTINGS",
843 "NAME" => Loc::getMessage("T_IBLOCK_DESC_SHOW_ALL"),
844 "TYPE" => "CHECKBOX",
845 "DEFAULT" => "N"
846 );
847 }
848
849 if($bBaseLink)
850 {
851 $arComponentParameters["PARAMETERS"]["PAGER_BASE_LINK_ENABLE"] = Array(
852 "PARENT" => "PAGER_SETTINGS",
853 "NAME" => Loc::getMessage("T_IBLOCK_DESC_BASE_LINK_ENABLE"),
854 "TYPE" => "CHECKBOX",
855 "REFRESH" => "Y",
856 "DEFAULT" => "N",
857 );
858 if($bBaseLinkEnabled)
859 {
860 $arComponentParameters["PARAMETERS"]["PAGER_BASE_LINK"] = Array(
861 "PARENT" => "PAGER_SETTINGS",
862 "NAME" => Loc::getMessage("T_IBLOCK_DESC_BASE_LINK"),
863 "TYPE" => "STRING",
864 "DEFAULT" => ""
865 );
866 $arComponentParameters["PARAMETERS"]["PAGER_PARAMS_NAME"] = Array(
867 "PARENT" => "PAGER_SETTINGS",
868 "NAME" => Loc::getMessage("T_IBLOCK_DESC_PARAMS_NAME"),
869 "TYPE" => "STRING",
870 "DEFAULT" => "arrPager"
871 );
872 }
873 }
874 }
875
876 public static function Add404Settings(&$arComponentParameters, $arCurrentValues, $bStatus = true, $bPage = true)
877 {
878 if (!isset($arComponentParameters['GROUPS']))
879 $arComponentParameters['GROUPS'] = array();
880 $arComponentParameters["GROUPS"]["404_SETTINGS"] = array(
881 "NAME" => Loc::getMessage("IB_COMPLIB_PARAMETER_GROUP_404_SETTINGS"),
882 );
883
884 if ($bStatus)
885 {
886 $arComponentParameters["PARAMETERS"]["SET_STATUS_404"] = array(
887 "PARENT" => "404_SETTINGS",
888 "NAME" => Loc::getMessage("IB_COMPLIB_PARAMETER_SET_STATUS_404"),
889 "TYPE" => "CHECKBOX",
890 "DEFAULT" => "N",
891 );
892 }
893
894 if ($bPage)
895 {
896 $arComponentParameters["PARAMETERS"]["SHOW_404"] = array(
897 "PARENT" => "404_SETTINGS",
898 "NAME" => Loc::getMessage("IB_COMPLIB_PARAMETER_SHOW_404"),
899 "TYPE" => "CHECKBOX",
900 "DEFAULT" => "N",
901 "REFRESH" => "Y",
902 );
903 }
904
905 if (isset($arCurrentValues["SHOW_404"]) && $arCurrentValues["SHOW_404"] === "Y")
906 {
907 if ($bPage)
908 {
909 $arComponentParameters["PARAMETERS"]["FILE_404"] = array(
910 "PARENT" => "404_SETTINGS",
911 "NAME" => Loc::getMessage("IB_COMPLIB_PARAMETER_FILE_404"),
912 "TYPE" => "STRING",
913 "DEFAULT" => "",
914 );
915 }
916 }
917 else
918 {
919 $arComponentParameters["PARAMETERS"]["MESSAGE_404"] = array(
920 "PARENT" => "404_SETTINGS",
921 "NAME" => Loc::getMessage("IB_COMPLIB_PARAMETER_MESSAGE_404"),
922 "TYPE" => "STRING",
923 "DEFAULT" => "",
924 );
925 }
926 }
927
932 public static function GetIBlockTypes($arTop = false)
933 {
934 if(is_array($arTop))
935 $arIBlockType = $arTop;
936 else
937 $arIBlockType = array();
938 $rsIBlockType = CIBlockType::GetList(array("sort"=>"asc"), array("ACTIVE"=>"Y"));
939 while($arr=$rsIBlockType->Fetch())
940 {
941 if($ar=CIBlockType::GetByIDLang($arr["ID"], LANGUAGE_ID))
942 {
943 $arIBlockType[$arr["ID"]] = "[".$arr["ID"]."] ".$ar["~NAME"];
944 }
945 }
946 return $arIBlockType;
947 }
948
949 public static function GetElementSortFields($arFields = array(), $arOptions = array())
950 {
951 $arResult = array();
952 if (!is_array($arFields))
954 if (!is_array($arOptions))
955 $arOptions = array();
956 $boolLowerCase = (isset($arOptions['KEY_LOWERCASE']) && $arOptions['KEY_LOWERCASE'] == 'Y');
957 $arSortFields = array(
958 "SHOWS" => Loc::getMessage("IBLOCK_SORT_FIELD_SHOWS"),
959 "SORT" => Loc::getMessage("IBLOCK_SORT_FIELD_SORT"),
960 "TIMESTAMP_X" => Loc::getMessage("IBLOCK_SORT_FIELD_TIMESTAMP"),
961 "NAME" => Loc::getMessage("IBLOCK_SORT_FIELD_NAME"),
962 "ID" => Loc::getMessage("IBLOCK_SORT_FIELD_ID"),
963 "ACTIVE_FROM" => Loc::getMessage("IBLOCK_SORT_FIELD_ACTIVE_FROM"),
964 "ACTIVE_TO" => Loc::getMessage("IBLOCK_SORT_FIELD_ACTIVE_TO"),
965 );
966 if (!empty($arFields))
967 {
968 foreach ($arFields as $strFieldName)
969 {
970 if (isset($arSortFields[$strFieldName]))
971 $arResult[$strFieldName] = $arSortFields[$strFieldName];
972 }
973 unset($strFieldName);
974 }
975 else
976 {
977 $arResult = $arSortFields;
978 }
979 if ($boolLowerCase)
980 $arResult = array_change_key_case($arResult, CASE_LOWER);
981 return $arResult;
982 }
983
984 public static function GetSectionSortFields($arFields = array(), $arOptions = array())
985 {
986 $arResult = array();
987 if (!is_array($arFields))
989 if (!is_array($arOptions))
990 $arOptions = array();
991 $boolLowerCase = (isset($arOptions['KEY_LOWERCASE']) && $arOptions['KEY_LOWERCASE'] == 'Y');
992 $arSortFields = array(
993 "SORT" => Loc::getMessage("IBLOCK_SORT_FIELD_SORT"),
994 "TIMESTAMP_X" => Loc::getMessage("IBLOCK_SORT_FIELD_TIMESTAMP"),
995 "NAME" => Loc::getMessage("IBLOCK_SORT_FIELD_NAME"),
996 "ID" => Loc::getMessage("IBLOCK_SORT_FIELD_ID"),
997 "DEPTH_LEVEL" => Loc::getMessage("IBLOCK_SORT_FIELD_DEPTH_LEVEL"),
998 );
999 if (!empty($arFields))
1000 {
1001 foreach ($arFields as $strFieldName)
1002 {
1003 if (isset($arSortFields[$strFieldName]))
1004 $arResult[$strFieldName] = $arSortFields[$strFieldName];
1005 }
1006 unset($strFieldName);
1007 }
1008 else
1009 {
1010 $arResult = $arSortFields;
1011 }
1012 if ($boolLowerCase)
1013 $arResult = array_change_key_case($arResult, CASE_LOWER);
1014 return $arResult;
1015 }
1016
1017 public static function checkParamValues($value)
1018 {
1019 return ($value !== null && $value !== '' && $value !== false);
1020 }
1021}
if($_SERVER $defaultValue['REQUEST_METHOD']==="GET" &&!empty($RestoreDefaults) && $bizprocPerms==="W" &&check_bitrix_sessid())
Определения options.php:32
const BX_ROOT
Определения bx_root.php:3
$arResult
Определения generate_coupon.php:16
static get($moduleId, $name, $default="", $siteId=false)
Определения option.php:30
Определения loader.php:13
static includeModule($moduleName)
Определения loader.php:67
static getMessage($code, $replace=null, $language=null)
Определения loc.php:30
static GetListArray()
Определения cataloggroup.php:291
static GetTemplatesList($componentName, $currentTemplate=false)
Определения component_util.php:1024
static DateFormat($format, $timestamp)
Определения comp_formatprops.php:289
static GetPathTemplateMenuItems($menuType, $action_function, $menuID, $inputID="")
Определения comp_parameters.php:185
static GetInheritedPropertyTemplateElementMenuItems($iblock_id, $action_function, $menuID, $inputID="")
Определения comp_parameters.php:498
static $elementPropertyCache
Определения comp_parameters.php:13
static GetIBlockTypes($arTop=false)
Определения comp_parameters.php:932
static Add404Settings(&$arComponentParameters, $arCurrentValues, $bStatus=true, $bPage=true)
Определения comp_parameters.php:876
static AddPagerSettings(&$arComponentParameters, $pager_title, $bDescNumbering=true, $bShowAllParam=false, $bBaseLink=false, $bBaseLinkEnabled=false)
Определения comp_parameters.php:729
static checkParamValues($value)
Определения comp_parameters.php:1017
static $catalogIncluded
Определения comp_parameters.php:11
static $catalogStoreCache
Определения comp_parameters.php:28
static GetFieldCode($name, $parent, $options=array())
Определения comp_parameters.php:71
static GetDateFormat($name, $parent)
Определения comp_parameters.php:151
static GetPathTemplateParam($menuType, $ID, $parameterName, $defaultValue="", $parentID="URL_TEMPLATES")
Определения comp_parameters.php:712
static GetSectionSortFields($arFields=array(), $arOptions=array())
Определения comp_parameters.php:984
static GetSectionFieldCode($name, $parent, $options=array())
Определения comp_parameters.php:119
static GetInheritedPropertyTemplateSectionMenuItems($iblock_id, $action_function, $menuID, $inputID="")
Определения comp_parameters.php:367
static $catalogPriceCache
Определения comp_parameters.php:57
static GetElementSortFields($arFields=array(), $arOptions=array())
Определения comp_parameters.php:949
static GetList($arOrder=array("SORT"=> "ASC"), $arFilter=array())
Определения iblocktype.php:53
static GetByIDLang($ID, $LID, $bFindAny=true)
Определения iblocktype.php:274
static GetList($arOrder=array(), $arFilter=array(), $arSelect=false)
Определения site_template.php:13
$options
Определения commerceml2.php:49
$arFields
Определения dblapprove.php:5
$rsSiteTemplates
Определения file_edit.php:32
$template
Определения file_edit.php:49
$arr
Определения file_new.php:624
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$menuType
Определения file_new.php:209
global $USER_FIELD_MANAGER
Определения attempt.php:6
$result
Определения get_property_values.php:14
if($ajaxMode) $ID
Определения get_user.php:27
$catalog
Определения iblock_catalog_edit.php:135
$getListParams
Определения iblock_catalog_list.php:210
global $DB
Определения cron_frame.php:29
$arOptions
Определения structure.php:223
sortByColumn(array &$array, $columns, $callbacks='', $defaultValueIfNotSetValue=null, $preserveKeys=false)
Определения tools.php:5087
$name
Определения menu_edit.php:35
$ar
Определения options.php:199
$arCatalog
Определения yandex_run.php:674