1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
entityformconfigtable.php
См. документацию.
1<?php
2
3namespace Bitrix\Ui\EntityForm;
4
5use Bitrix\Main\Entity;
6use Bitrix\Main\ORM\Fields\ArrayField;
7use Bitrix\Main\Text\Emoji;
8
25class EntityFormConfigTable extends Entity\DataManager
26{
27 public static function getTableName()
28 {
29 return 'b_ui_entity_editor_config';
30 }
31
32 public static function getMap()
33 {
34 return [
35 new Entity\IntegerField('ID', [
36 'autocomplete' => true,
37 'primary' => true
38 ]),
39 new Entity\StringField('CATEGORY', [
40 'required' => true,
41 'size' => 20
42 ]),
43 new Entity\StringField('ENTITY_TYPE_ID', [
44 'required' => true,
45 'size' => 60
46 ]),
47 new Entity\StringField('NAME', [
48 'required' => true,
49 'size' => 100
50 ]),
51 (new ArrayField('CONFIG'))
52 ->configureSerializeCallback(function ($value){
53 return EntityFormConfigTable::serialize($value);
54 })
55 ->configureUnserializeCallback(function ($value) {
56 return EntityFormConfigTable::unserialize($value);
57 }),
58 new Entity\BooleanField('COMMON', [
59 'values' => ['N', 'Y'],
60 'required' => true,
61 'default_value' => 'N'
62 ]),
63 new Entity\BooleanField('AUTO_APPLY_SCOPE', [
64 'values' => ['N', 'Y'],
65 'required' => true,
66 'default_value' => 'N'
67 ]),
68 new Entity\StringField('OPTION_CATEGORY', [
69 'required' => true,
70 'size' => 50
71 ])
72 ];
73 }
74
75 private static function unserialize(string $fieldValue): array
76 {
77 $unserialized = unserialize($fieldValue, ['allowed_classes' => false]);
78
79 if ($unserialized === false)
80 {
81 return [];
82 }
83
84 if (is_array($unserialized))
85 {
86 array_walk_recursive(
87 $unserialized,
88 function (&$value) {
89 if (is_string($value))
90 {
91 $value = Emoji::decode($value);
92 }
93 }
94 );
95 }
96 elseif (is_string($unserialized))
97 {
98 $unserialized = Emoji::decode($unserialized);
99 }
100
101 return is_array($unserialized) ? $unserialized : [$unserialized];
102 }
103
104 private static function serialize(array $fieldValue): string
105 {
106 array_walk_recursive(
107 $fieldValue,
108 function (&$value) {
109 if (is_string($value))
110 {
111 $value = Emoji::encode($value);
112 }
113 }
114 );
115
116 return serialize($fieldValue);
117 }
118}
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$value
Определения Param.php:39
Определения ufield.php:9
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393