1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
cusertypehlblock.php
См. документацию.
1<?php
2
11
13{
14 public const USER_TYPE_ID = 'hlblock';
15 public const RENDER_COMPONENT = 'bitrix:highloadblock.field.element';
16
17 public const DISPLAY_LIST = 'LIST';
18 public const DISPLAY_CHECKBOX = 'CHECKBOX';
19 public const DISPLAY_UI = 'UI';
20 public const DISPLAY_DIALOG = 'DIALOG';
21
22 protected static bool $highloadblockIncluded;
23
24 public static function getDescription(): array
25 {
26 return [
27 'DESCRIPTION' => Loc::getMessage('USER_TYPE_HLEL_DESCRIPTION'),
28 'BASE_TYPE' => CUserTypeManager::BASE_TYPE_INT,
29 ];
30 }
31
37 public static function renderField(array $userField, ?array $additionalParameters = []): string
38 {
39 static::getEnumList(
40 $userField,
41 array_merge(
42 $additionalParameters ?? [],
43 ['mode' => self::MODE_VIEW]
44 )
45 );
46
47 return parent::renderField($userField, $additionalParameters);
48 }
49
57 public static function renderView(array $userField, ?array $additionalParameters = []): string
58 {
59 static::getEnumList(
60 $userField,
61 array_merge(
62 $additionalParameters ?? [],
63 ['mode' => self::MODE_VIEW]
64 )
65 );
66
67 return parent::renderView($userField, $additionalParameters);
68 }
69
77 public static function renderEdit(array $userField, ?array $additionalParameters = []): string
78 {
79 static::getEnumList(
80 $userField,
81 array_merge(
82 $additionalParameters ?? [],
83 ['mode' => self::MODE_EDIT]
84 )
85 );
86
87 return parent::renderEdit($userField, $additionalParameters);
88 }
89
90 public static function renderEditForm(array $userField, ?array $additionalParameters): string
91 {
92 $enum = static::getList($userField);
93 if(!$enum)
94 {
95 return '';
96 }
97 $items = [];
98 while($item = $enum->Fetch())
99 {
100 $items[$item['ID']] = $item;
101 }
102 $additionalParameters['items'] = $items;
103
104 return parent::renderEditForm($userField, $additionalParameters);
105 }
106
107 public static function renderFilter(array $userField, ?array $additionalParameters): string
108 {
109 $iterator = static::getList($userField);
110 if (!$iterator)
111 {
112 return '';
113 }
114
115 $items = [];
116 while ($item = $iterator->Fetch())
117 {
118 $items[$item['ID']] = $item['VALUE'];
119 }
120 unset($item, $iterator);
121 $additionalParameters['items'] = $items;
122
123 return parent::renderFilter($userField, $additionalParameters);
124 }
125
126 public static function renderAdminListView(array $userField, ?array $additionalParameters): string
127 {
128 static $cache = [];
129 $emptyCaption = '&nbsp;';
130
131 $value = (int)($additionalParameters['VALUE'] ?? 0);
132
133 if (!isset($cache[$value]))
134 {
135 $iterator = static::getList($userField);
136 if (!$iterator)
137 {
138 $additionalParameters['VALUE'] = $emptyCaption;
139
140 return parent::renderAdminListView($userField, $additionalParameters);
141 }
142 while ($item = $iterator->Fetch())
143 {
144 $cache[(int)$item['ID']] = $item['NAME'];
145 }
146 unset($item, $iterator);
147 }
148 if (!isset($cache[$value]))
149 {
150 $cache[$value] = $emptyCaption;
151 }
152
153 $additionalParameters['VALUE'] = $cache[$value];
154
155 return parent::renderAdminListView($userField, $additionalParameters);
156 }
157
158 public static function renderAdminListEdit(array $userField, ?array $additionalParameters): string
159 {
160 $values = [];
161 $iterator = static::getList($userField);
162 if ($iterator)
163 {
164 while ($item = $iterator->Fetch())
165 {
166 $values[$item['ID']] = $item['VALUE'];
167 }
168 unset($item, $iterator);
169 }
170 $additionalParameters['enumItems'] = $values;
171
172 return parent::renderAdminListEdit($userField, $additionalParameters);
173 }
174
175 public static function getDBColumnType(): string
176 {
178 $helper = $connection->getSqlHelper();
179
180 return $helper->getColumnTypeByField(new \Bitrix\Main\ORM\Fields\IntegerField('x'));
181 }
182
183 public static function checkFields(array $userField, $value): array
184 {
185 return [];
186 }
187
188 public static function prepareSettings(array $userField): array
189 {
190 $multiple = false;
191 if (isset($userField['MULTIPLE']) && $userField['MULTIPLE'] === 'Y')
192 {
193 $multiple = true;
194 }
195
196 $settings = [];
197 if (!empty($userField['SETTINGS']) && is_array($userField['SETTINGS']))
198 {
199 $settings = $userField['SETTINGS'];
200 }
201
202 return self::verifySettings($settings, $multiple);
203 }
204
210 public static function getFilterData(array $userField, array $additionalParameters): array
211 {
212 $items = [];
213 $iterator = static::getList($userField);
214 if ($iterator)
215 {
216 while ($item = $iterator->GetNext())
217 {
218 $items[$item['ID']] = $item['VALUE'];
219 }
220 unset($item, $enum);
221 }
222
223 return [
224 'id' => $additionalParameters['ID'],
225 'name' => $additionalParameters['NAME'],
226 'type' => 'list',
227 'items' => $items,
228 'params' => [
229 'multiple' => 'Y',
230 ],
231 'filterable' => '',
232 ];
233 }
234
239 public static function getEnumList(array &$userField, array $additionalParameters = []): void
240 {
241 if (!isset(self::$highloadblockIncluded))
242 {
243 self::$highloadblockIncluded = Loader::includeModule('highloadblock');
244 }
245
246 $userField['MANDATORY'] ??= 'N';
247 $userField['SETTINGS']['HLBLOCK_ID'] ??= 0;
248 $userField['SETTINGS']['HLFIELD_ID'] ??= 0;
249 $userField['SETTINGS']['SHOW_NO_VALUE'] ??= 'Y';
250 $userField['SETTINGS']['DISPLAY'] ??= '';
251
252 if (
253 !self::$highloadblockIncluded
254 || (int)$userField['SETTINGS']['HLBLOCK_ID'] <= 0
255 )
256 {
257 return;
258 }
259
260 $result = [];
261 $showNoValue = (
262 $userField['MANDATORY'] !== 'Y'
263 || $userField['SETTINGS']['SHOW_NO_VALUE'] !== 'N'
264 || (
265 isset($additionalParameters['SHOW_NO_VALUE'])
266 && $additionalParameters['SHOW_NO_VALUE'] === true
267 )
268 );
269
270 if (
271 $showNoValue
272 && (
273 $userField['SETTINGS']['DISPLAY'] !== 'CHECKBOX'
274 || $userField['MULTIPLE'] !== 'Y'
275 )
276 )
277 {
278 $result = [
279 null => static::getEmptyCaption($userField)
280 ];
281 }
282
283 $filter = [];
284
285 $checkValue = ($additionalParameters['mode'] ?? '') === self::MODE_VIEW;
286 if ($checkValue)
287 {
288 $currentValues = self::getCurrentValue($userField, $additionalParameters);
289 if (!empty($currentValues))
290 {
291 if (is_array($currentValues))
292 {
294 }
295 else
296 {
298 if ($currentValues <= 0)
299 {
300 $currentValues = null;
301 }
302 }
303 }
304 if (!empty($currentValues))
305 {
306 $filter['ID'] = $currentValues;
307 }
308 else
309 {
310 $userField['USER_TYPE']['FIELDS'] = $result;
311
312 return;
313 }
314 }
315
316 $elements = self::loadElement(
317 $userField['SETTINGS'],
318 $filter
319 );
320
321 if (!is_array($elements))
322 {
323 return;
324 }
325
326 if (!empty($currentValues))
327 {
328 $result = $elements;
329 }
330 else
331 {
332 $result = array_replace($result, $elements);
333 }
334
335 $userField['USER_TYPE']['FIELDS'] = $result;
336 }
337
338 public static function verifySettings(array $settings, bool $multiple): array
339 {
340 $defaultSettings = static::getDefaultSettings($multiple);
341
342 $height = (int)($settings['LIST_HEIGHT'] ?? $defaultSettings['LIST_HEIGHT']);
343 if ($height < 1)
344 {
345 $height = $defaultSettings['LIST_HEIGHT'];
346 }
347
348 $display = (string)($settings['DISPLAY'] ?? $defaultSettings['DISPLAY']);
349 if (
350 $display !== static::DISPLAY_CHECKBOX
351 && $display !== static::DISPLAY_LIST
352 && $display !== static::DISPLAY_UI
353 && $display !== static::DISPLAY_DIALOG
354 )
355 {
356 $display = $defaultSettings['DISPLAY'];
357 }
358
359 $hlblockId = (int)($settings['HLBLOCK_ID'] ?? $defaultSettings['HLBLOCK_ID']);
360 if ($hlblockId < 0)
361 {
362 $hlblockId = $defaultSettings['HLBLOCK_ID'];
363 }
364
365 $hlfieldId = (int)($settings['HLFIELD_ID'] ?? $defaultSettings['HLFIELD_ID']);
366 if ($hlfieldId < 0)
367 {
368 $hlfieldId = $defaultSettings['HLFIELD_ID'];
369 }
370
371 $defaultValue = $settings['DEFAULT_VALUE'] ?? $defaultSettings['DEFAULT_VALUE'];
372 if ($multiple)
373 {
374 if (!is_array($defaultValue))
375 {
377 }
379 }
380 else
381 {
382 if (!is_int($defaultValue) && !is_string($defaultValue))
383 {
384 $defaultValue = $defaultSettings['DEFAULT_VALUE'];
385 }
387 if ($defaultValue <= 0)
388 {
389 $defaultValue = $defaultSettings['DEFAULT_VALUE'];
390 }
391 }
392
393 return [
394 'DISPLAY' => $display,
395 'LIST_HEIGHT' => $height,
396 'HLBLOCK_ID' => $hlblockId,
397 'HLFIELD_ID' => $hlfieldId,
398 'DEFAULT_VALUE' => $defaultValue,
399 ];
400 }
401
402 public static function getDefaultSettings(bool $multiple = false): array
403 {
404 return [
405 'DISPLAY' => static::DISPLAY_LIST,
406 'LIST_HEIGHT' => $multiple ? 5 : 1,
407 'HLBLOCK_ID' => 0,
408 'HLFIELD_ID' => 0,
409 'DEFAULT_VALUE' => ($multiple ? [] : ''),
410 ];
411 }
412
413 private static function getHighloadblockSelectorHtml(string $name, array $select): string
414 {
416
417 $list = static::getDropDownData();
418
419 // hlblock selector
420 $html = '<select name="' . $name . '[HLBLOCK_ID]" onchange="hlChangeFieldOnHlblockChanged(this)">';
421 $html .= '<option value="">'.htmlspecialcharsbx(Loc::getMessage('USER_TYPE_HLEL_SEL_HLBLOCK')).'</option>';
422
423 foreach ($list as $_hlblockId => $hlblockData)
424 {
425 $html .= '<option value="'.$_hlblockId.'"'
426 . ($_hlblockId === $select['HLBLOCK_ID'] ? ' selected' : '') . '>'
427 . htmlspecialcharsbx($hlblockData['name']) . '</option>'
428 ;
429 }
430
431 $html .= '</select> &nbsp; ';
432
433 // field selector
434 $html .= '<select name="' . $name . '[HLFIELD_ID]" id="hl_ufsett_field_selector">';
435 $html .= '<option value="">'.htmlspecialcharsbx(Loc::getMessage('USER_TYPE_HLEL_SEL_HLBLOCK_FIELD')).'</option>';
436
437 if ($select['HLBLOCK_ID'] > 0)
438 {
439 foreach ($list[$select['HLBLOCK_ID']]['fields'] as $fieldId => $fieldName)
440 {
441 $html .= '<option value="'.$fieldId.'"'.($fieldId === $select['HLFIELD_ID'] ? ' selected' : '').'>'.htmlspecialcharsbx($fieldName).'</option>';
442 }
443 }
444
445 $html .= '</select>';
446
447 // js: changing field selector
448 $html .= '
449 <script>
450 function hlChangeFieldOnHlblockChanged(hlSelect)
451 {
452 var list = '.CUtil::PhpToJSObject($list).';
453 var fieldSelect = BX("hl_ufsett_field_selector");
454
455 for(var i=fieldSelect.length-1; i >= 0; i--)
456 fieldSelect.remove(i);
457
458 var newOption = new Option(\''.CUtil::JSEscape(Loc::getMessage('USER_TYPE_HLEL_SEL_HLBLOCK_FIELD')).'\', "", false, false);
459 fieldSelect.options.add(newOption);
460
461 if (list[hlSelect.value])
462 {
463 for(var j in list[hlSelect.value]["fields"])
464 {
465 var newOption = new Option(list[hlSelect.value]["fields"][j], j, false, false);
466 fieldSelect.options.add(newOption);
467 }
468 }
469 }
470 </script>
471 ';
472
473 return $html;
474 }
475
476 public static function getList($userField)
477 {
478 $rs = false;
479
480 if (!isset(self::$highloadblockIncluded))
481 {
482 self::$highloadblockIncluded = Loader::includeModule('highloadblock');
483 }
484
485 if (self::$highloadblockIncluded)
486 {
487 $rows = static::getHlRows($userField, true);
488
489 $rs = new CDBResult();
490 $rs->InitFromArray($rows);
491 }
492
493 return $rs;
494 }
495
496 public static function getEntityReferences($userfield, \Bitrix\Main\Entity\ScalarField $entityField): array
497 {
498 // here
499 if ($userfield['SETTINGS']['HLBLOCK_ID'])
500 {
501 $hlblock = \Bitrix\Highloadblock\HighloadBlockTable::getByPrimary(
502 $userfield['SETTINGS']['HLBLOCK_ID'], ['cache' => ['ttl' => 3600*24*365]]
503 )->fetch();
504
505 if ($hlblock)
506 {
507 $hlentity = \Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hlblock);
508
509 $referenceFields = [
510 new \Bitrix\Main\Entity\ReferenceField(
511 $entityField->getName() . '_REF',
512 $hlentity,
513 ['=this.' . $entityField->getName() => 'ref.ID']
514 )
515 ];
516
517 return $referenceFields;
518 }
519 }
520
521 return array();
522 }
523
524 public static function getHlRows($userfield, $clearValues = false): array
525 {
526 global $USER_FIELD_MANAGER;
527
528 $rows = array();
529
530 $hlblock_id = (int)($userfield['SETTINGS']['HLBLOCK_ID'] ?? 0);
531 $hlfield_id = (int)($userfield['SETTINGS']['HLFIELD_ID'] ?? 0);
532 if ($hlfield_id <= 0)
533 {
534 $hlfield_id = 0;
535 }
536
537 if (!empty($hlblock_id))
538 {
539 $hlblock = \Bitrix\Highloadblock\HighloadBlockTable::getById($hlblock_id)->fetch();
540 }
541
542 if (!empty($hlblock))
543 {
544 $userfield = null;
545
546 if ($hlfield_id > 0)
547 {
548 $iterator = Main\UserFieldTable::getList([
549 'select' => [
550 '*',
551 ],
552 'filter' => [
553 '=ENTITY_ID' => HighloadBlockTable::compileEntityId($hlblock['ID']),
554 '=ID' => $hlfield_id,
555 ],
556 ]);
557 $row = $iterator->fetch();
558 unset($iterator);
559 if (!empty($row))
560 {
561 $row['USER_TYPE'] = $USER_FIELD_MANAGER->GetUserType($row['USER_TYPE_ID']);
562 $userfield = $row;
563 }
564 else
565 {
566 $hlfield_id = 0;
567 }
568 }
569
570 if ($hlfield_id == 0)
571 {
572 $userfield = array('FIELD_NAME' => 'ID');
573 }
574
575 if ($userfield)
576 {
577 // validated successfully. get data
578 $hlDataClass = \Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hlblock)->getDataClass();
579 $rows = $hlDataClass::getList(array(
580 'select' => array('ID', $userfield['FIELD_NAME']),
581 'order' => 'ID'
582 ))->fetchAll();
583
584 foreach ($rows as &$row)
585 {
586 $row['ID'] = (int)$row['ID'];
587 if ($userfield['FIELD_NAME'] == 'ID')
588 {
589 $row['VALUE'] = $row['ID'];
590 }
591 else
592 {
593 //see #0088117
594 if ($userfield['USER_TYPE_ID'] !== EnumType::USER_TYPE_ID && $clearValues)
595 {
596 $row['VALUE'] = $row[$userfield['FIELD_NAME']];
597 }
598 else
599 {
600 $row['VALUE'] = $USER_FIELD_MANAGER->getListView($userfield, $row[$userfield['FIELD_NAME']]);
601 }
602 $row['VALUE'] .= ' ['.$row['ID'].']';
603 }
604 }
605 }
606 }
607
608 return $rows;
609 }
610
611 public static function getAdminListViewHtml(array $userField, ?array $additionalParameters): string
612 {
613 static $cache = [];
614 $empty_caption = '&nbsp;';
615
616 $cacheKey = $userField['SETTINGS']['HLBLOCK_ID'].'_v'.$additionalParameters["VALUE"];
617
618 if (!array_key_exists($cacheKey, $cache) && !empty($additionalParameters["VALUE"]))
619 {
620 $iterator = static::getList($userField);
621 if (!$iterator)
622 {
623 return $empty_caption;
624 }
625 while ($arEnum = $iterator->GetNext())
626 {
627 $cache[$userField['SETTINGS']['HLBLOCK_ID'].'_v'.$arEnum["ID"]] = $arEnum["VALUE"];
628 }
629 unset($arEnum, $iterator);
630 }
631 if (!array_key_exists($cacheKey, $cache))
632 {
633 $cache[$cacheKey] = $empty_caption;
634 }
635
636 return $cache[$cacheKey];
637 }
638
639 public static function getDropDownData(): array
640 {
641 global $USER_FIELD_MANAGER;
642
643 $hlblocks = \Bitrix\Highloadblock\HighloadBlockTable::getList(array('order' => 'NAME'))->fetchAll();
644
645 $list = [];
646
647 foreach ($hlblocks as $hlblock)
648 {
649 // add hlblock itself
650 $list[$hlblock['ID']] = [
651 'name' => $hlblock['NAME'],
652 'fields' => [
653 0 => 'ID'
654 ]
655 ];
656
657 $userfields = $USER_FIELD_MANAGER->GetUserFields('HLBLOCK_'.$hlblock['ID'], 0, LANGUAGE_ID);
658
659 foreach ($userfields as $userfield)
660 {
661 $fieldTitle = $userfield['LIST_COLUMN_LABEL'] <> ''? $userfield['LIST_COLUMN_LABEL'] : $userfield['FIELD_NAME'];
662 $list[$hlblock['ID']]['fields'][(int)$userfield['ID']] = $fieldTitle;
663 }
664 }
665
666 return $list;
667 }
668
669 public static function getDropDownHtml($hlblockId = null, $hlfieldId = null, string $name = ''): string
670 {
671 if ($name === '')
672 {
673 $name = 'SETTINGS';
674 }
675
676 return self::getHighloadblockSelectorHtml(
677 $name,
678 [
679 'HLBLOCK_ID' => (int)$hlblockId,
680 'HLFIELD_ID' => (int)$hlfieldId,
681 ]
682 );
683 }
684
685 public static function getDefaultValue(array $userField, array $additionalParameters = [])
686 {
687 if (!isset($userField['MULTIPLE']))
688 {
689 return null;
690 }
691
692 if (!empty($userField['SETTINGS']) && is_array($userField['SETTINGS']))
693 {
694 if ($userField['MULTIPLE'] === 'Y')
695 {
696 if (!is_array($userField['SETTINGS']['DEFAULT_VALUE']))
697 {
698 $userField['SETTINGS']['DEFAULT_VALUE'] = [
699 $userField['SETTINGS']['DEFAULT_VALUE']
700 ];
701 }
702 $result = $userField['SETTINGS']['DEFAULT_VALUE'];
703 Main\Type\Collection::normalizeArrayValuesByInt($result, false);
704 }
705 else
706 {
707 $result = (int)($userField['SETTINGS']['DEFAULT_VALUE'] ?? 0);
708 }
709
710 return $result;
711 }
712
713 return null;
714 }
715
724 public static function getFieldValue(array $userField, array $additionalParameters = [])
725 {
726 return EnumType::getFieldValue($userField, $additionalParameters);
727 }
728
729 private static function getCurrentValue(array $userField, array $additionalParameters = [])
730 {
731 if (isset($additionalParameters['VALUE']))
732 {
733 return $additionalParameters['VALUE'];
734 }
735
736 return $userField['VALUE'] ?? null;
737 }
738
743 public static function getEmptyCaption(array $userField): string
744 {
745 $message = (string)($userField['SETTINGS']['CAPTION_NO_VALUE'] ?? '');
746
747 return
748 $message !== ''
749 ? HtmlFilter::encode($userField['SETTINGS']['CAPTION_NO_VALUE'])
750 : (string)Loc::getMessage('USER_TYPE_HLEL_NO_VALUE')
751 ;
752 }
753
754 public static function getDisplayTypeList(): array
755 {
756 return [
757 static::DISPLAY_LIST => Loc::getMessage('USER_TYPE_HLEL_LIST'),
758 static::DISPLAY_CHECKBOX => Loc::getMessage('USER_TYPE_HLEL_CHECKBOX'),
759 ];
760 }
761
762 private static function loadElement(array $settings, array $filter): ?array
763 {
764 global $USER_FIELD_MANAGER;
765
766 if (!isset(self::$highloadblockIncluded))
767 {
768 self::$highloadblockIncluded = Loader::includeModule('highloadblock');
769 }
770 if (!self::$highloadblockIncluded)
771 {
772 return null;
773 }
774
775 $hlblockId = (int)($settings['HLBLOCK_ID'] ?? 0);
776 $hlfieldId = (int)($settings['HLFIELD_ID'] ?? 0);
777 if ($hlblockId <= 0)
778 {
779 return null;
780 }
781
782 $hlblock = \Bitrix\Highloadblock\HighloadBlockTable::resolveHighloadblock($hlblockId);
783 if ($hlblock === null)
784 {
785 return null;
786 }
787
788 $hlblock['ID'] = (int)$hlblock['ID'];
789 $field = self::resolveField($hlblock['ID'], $hlfieldId);
790
791 $entity = HighloadBlockTable::compileEntity($hlblock);
792 $hlDataClass = $entity->getDataClass();
793
794 $select = [
795 'ID',
796 $field['FIELD_NAME'],
797 ];
798
799 $order = [
800 'ID' => 'ASC',
801 ];
802
803 $rows = [];
804
805 $iterator = $hlDataClass::getList([
806 'select' => $select,
807 'filter' => $filter,
808 'order' => $order,
809 ]);
810 while ($row = $iterator->fetch())
811 {
812 $row['ID'] = (int)$row['ID'];
813 if ($field['FIELD_NAME'] === 'ID')
814 {
815 $row['VALUE'] = $row['ID'];
816 }
817 else
818 {
819 $row['VALUE'] =
820 $USER_FIELD_MANAGER->getListView($field, $row[$field['FIELD_NAME']])
821 . ' ['.$row['ID'].']'
822 ;
823 }
824 $rows[$row['ID']] = $row['VALUE'];
825 }
826 unset($row, $iterator);
827
828 return $rows;
829 }
830
831 private static function resolveField(int $hlblockId, int $hlfieldId): array
832 {
833 global $USER_FIELD_MANAGER;
834
835 $defaultField = [
836 'FIELD_NAME' => 'ID',
837 'USER_TYPE_ID' => CUserTypeManager::BASE_TYPE_INT,
838 ];
839 if ($hlfieldId <= 0)
840 {
841 return $defaultField;
842 }
843
844 $row = Main\UserFieldTable::getRow([
845 'select' => [
846 '*',
847 ],
848 'filter' => [
849 '=ENTITY_ID' => HighloadBlockTable::compileEntityId($hlblockId),
850 '=ID' => $hlfieldId,
851 ],
852 'cache' => [
853 'ttl' => 86400,
854 ],
855 ]);
856 if ($row === null)
857 {
858 return $defaultField;
859 }
860 $row['USER_TYPE'] = $USER_FIELD_MANAGER->GetUserType($row['USER_TYPE_ID']);
861
862 return $row;
863 }
864}
return select
Определения access_edit.php:440
$connection
Определения actionsdefinitions.php:38
if($_SERVER $defaultValue['REQUEST_METHOD']==="GET" &&!empty($RestoreDefaults) && $bizprocPerms==="W" &&check_bitrix_sessid())
Определения options.php:32
static getConnection($name="")
Определения application.php:638
Определения loader.php:13
static includeModule($moduleName)
Определения loader.php:67
static normalizeArrayValuesByInt(&$map, $sorted=true)
Определения collection.php:150
static renderAdminListEdit(array $userField, ?array $additionalParameters)
Определения cusertypehlblock.php:158
const DISPLAY_CHECKBOX
Определения cusertypehlblock.php:18
static renderEdit(array $userField, ?array $additionalParameters=[])
Определения cusertypehlblock.php:77
static getFilterData(array $userField, array $additionalParameters)
Определения cusertypehlblock.php:210
static renderEditForm(array $userField, ?array $additionalParameters)
Определения cusertypehlblock.php:90
const DISPLAY_DIALOG
Определения cusertypehlblock.php:20
const DISPLAY_LIST
Определения cusertypehlblock.php:17
const USER_TYPE_ID
Определения cusertypehlblock.php:14
static bool $highloadblockIncluded
Определения cusertypehlblock.php:22
static getDefaultSettings(bool $multiple=false)
Определения cusertypehlblock.php:402
static getEnumList(array &$userField, array $additionalParameters=[])
Определения cusertypehlblock.php:239
static renderField(array $userField, ?array $additionalParameters=[])
Определения cusertypehlblock.php:37
static verifySettings(array $settings, bool $multiple)
Определения cusertypehlblock.php:338
static getDescription()
Определения cusertypehlblock.php:24
const DISPLAY_UI
Определения cusertypehlblock.php:19
static renderView(array $userField, ?array $additionalParameters=[])
Определения cusertypehlblock.php:57
const RENDER_COMPONENT
Определения cusertypehlblock.php:15
static checkFields(array $userField, $value)
Определения cusertypehlblock.php:183
static renderFilter(array $userField, ?array $additionalParameters)
Определения cusertypehlblock.php:107
static getDBColumnType()
Определения cusertypehlblock.php:175
static prepareSettings(array $userField)
Определения cusertypehlblock.php:188
static renderAdminListView(array $userField, ?array $additionalParameters)
Определения cusertypehlblock.php:126
static JSEscape($s)
Определения util.php:48
& nbsp
Определения epilog_main_admin.php:38
</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
if($request->isPost() && $currentAction !==null &&check_bitrix_sessid()) $currentValues
Определения options.php:198
$select
Определения iblock_catalog_list.php:194
$filter
Определения iblock_catalog_list.php:54
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
Определения tools.php:2701
$name
Определения menu_edit.php:35
Определения collection.php:2
$settings
Определения product_settings.php:43
$items
Определения template.php:224
$iterator
Определения yandex_run.php:610