1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
listfieldtypes.php
См. документацию.
1<?
2
4
6
8{
9 private static $types = array();
10
11 static function IsExists($type_id)
12 {
13 self::_init();
14 return isset(self::$types[$type_id]);
15 }
16
17 static function GetByID($type_id)
18 {
19 self::_init();
20 if(isset(self::$types[$type_id]))
21 return self::$types[$type_id];
22 else
23 return false;
24 }
25
26 static function IsField($type_id)
27 {
28 self::_init();
29 if(isset(self::$types[$type_id]))
30 return self::$types[$type_id]->IsField();
31 else
32 return false;
33 }
34
35 static function GetTypesNames()
36 {
37 static $type_names = array();
38
39 if(count($type_names) == 0)
40 {
41 self::_init();
42 foreach(self::$types as $type_id => $obType)
43 $type_names[$type_id] = $obType->GetName();
44 }
45
46 return $type_names;
47 }
48
49
50 static private function _init()
51 {
52 if(count(self::$types) == 0)
53 {
54 self::$types = array();
55 //Element fields
56 self::$types["NAME"] = new CListFieldType("NAME", GetMessage("LISTS_LIST_FIELD_NAME"), CListFieldType::IS_FIELD, CListFieldType::NOT_READONLY);
57 self::$types["SORT"] = new CListFieldType("SORT", GetMessage("LISTS_LIST_FIELD_SORT"), CListFieldType::IS_FIELD, CListFieldType::NOT_READONLY);
58 self::$types["ACTIVE_FROM"] = new CListFieldType("ACTIVE_FROM", GetMessage("LISTS_LIST_FIELD_ACTIVE_FROM"), CListFieldType::IS_FIELD, CListFieldType::NOT_READONLY);
59 self::$types["ACTIVE_TO"] = new CListFieldType("ACTIVE_TO", GetMessage("LISTS_LIST_FIELD_ACTIVE_TO"), CListFieldType::IS_FIELD, CListFieldType::NOT_READONLY);
60 self::$types["PREVIEW_PICTURE"] = new CListFieldType("PREVIEW_PICTURE", GetMessage("LISTS_LIST_FIELD_PREVIEW_PICTURE"), CListFieldType::IS_FIELD, CListFieldType::NOT_READONLY);
61 self::$types["PREVIEW_TEXT"] = new CListFieldType("PREVIEW_TEXT", GetMessage("LISTS_LIST_FIELD_PREVIEW_TEXT"), CListFieldType::IS_FIELD, CListFieldType::NOT_READONLY);
62 self::$types["DETAIL_PICTURE"] = new CListFieldType("DETAIL_PICTURE", GetMessage("LISTS_LIST_FIELD_DETAIL_PICTURE"), CListFieldType::IS_FIELD, CListFieldType::NOT_READONLY);
63 self::$types["DETAIL_TEXT"] = new CListFieldType("DETAIL_TEXT", GetMessage("LISTS_LIST_FIELD_DETAIL_TEXT"), CListFieldType::IS_FIELD, CListFieldType::NOT_READONLY);
64 self::$types["DATE_CREATE"] = new CListFieldType("DATE_CREATE", GetMessage("LISTS_LIST_FIELD_DATE_CREATE"), CListFieldType::IS_FIELD, CListFieldType::IS_READONLY);
65 self::$types["CREATED_BY"] = new CListFieldType("CREATED_BY", GetMessage("LISTS_LIST_FIELD_CREATED_BY"), CListFieldType::IS_FIELD, CListFieldType::IS_READONLY);
66 self::$types["TIMESTAMP_X"] = new CListFieldType("TIMESTAMP_X", GetMessage("LISTS_LIST_FIELD_TIMESTAMP_X"), CListFieldType::IS_FIELD, CListFieldType::IS_READONLY);
67 self::$types["MODIFIED_BY"] = new CListFieldType("MODIFIED_BY", GetMessage("LISTS_LIST_FIELD_MODIFIED_BY"), CListFieldType::IS_FIELD, CListFieldType::IS_READONLY);
68 //Property types
69 self::$types["S"] = new CListFieldType("S", GetMessage("LISTS_LIST_FIELD_S"), CListFieldType::NOT_FIELD, CListFieldType::NOT_READONLY);
70 self::$types["N"] = new CListFieldType("N", GetMessage("LISTS_LIST_FIELD_N"), CListFieldType::NOT_FIELD, CListFieldType::NOT_READONLY);
71 self::$types["L"] = new CListFieldType("L", GetMessage("LISTS_LIST_FIELD_L"), CListFieldType::NOT_FIELD, CListFieldType::NOT_READONLY);
72 self::$types["F"] = new CListFieldType("F", GetMessage("LISTS_LIST_FIELD_F"), CListFieldType::NOT_FIELD, CListFieldType::NOT_READONLY);
73 self::$types["G"] = new CListFieldType("G", GetMessage("LISTS_LIST_FIELD_G"), CListFieldType::NOT_FIELD, CListFieldType::NOT_READONLY);
74 self::$types["E"] = new CListFieldType("E", GetMessage("LISTS_LIST_FIELD_E"), CListFieldType::NOT_FIELD, CListFieldType::NOT_READONLY);
75 //User types
76 $types = CIBlockProperty::GetUserType();
77 if ($types)
78 {
79 $ignoreTypes = ['directory', 'SectionAuto', 'SKU', 'EAutocomplete'];
80 if (self::isBlockYandexMapType())
81 {
82 $ignoreTypes[] = 'map_yandex';
83 }
84
85 foreach($types as $ar)
86 {
87 if(in_array($ar['USER_TYPE'], $ignoreTypes))
88 continue;
89
90 if($ar && array_key_exists("GetPublicEditHTML", $ar))
91 {
92 $typeId = $ar["PROPERTY_TYPE"].":".$ar["USER_TYPE"];
93 self::$types[$typeId] = new CListFieldType($typeId, $ar["DESCRIPTION"], CListFieldType::NOT_FIELD, CListFieldType::NOT_READONLY);
94 }
95 }
96 }
97 }
98 }
99
100 private static function isBlockYandexMapType(): bool
101 {
102 $licensePrefix = Loader::includeModule('bitrix24') ? \CBitrix24::getLicensePrefix() : '';
103 $portalZone = Loader::includeModule('intranet') ? CIntranetUtils::getPortalZone() : '';
104
105 $isBlock = false;
106
107 if (Loader::includeModule('bitrix24') && $licensePrefix === 'ua')
108 {
109 $isBlock = true;
110 }
111 elseif (Loader::includeModule('intranet') && $portalZone === 'ua')
112 {
113 $isBlock = true;
114 }
115
116 return $isBlock;
117 }
118}
119?>
Определения loader.php:13
Определения listfieldtype.php:5
const NOT_READONLY
Определения listfieldtype.php:7
const IS_READONLY
Определения listfieldtype.php:6
const NOT_FIELD
Определения listfieldtype.php:10
const IS_FIELD
Определения listfieldtype.php:9
static GetTypesNames()
Определения listfieldtypes.php:35
static IsField($type_id)
Определения listfieldtypes.php:26
static GetByID($type_id)
Определения listfieldtypes.php:17
static IsExists($type_id)
Определения listfieldtypes.php:11
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$portalZone
Определения .description.php:14
$licensePrefix
Определения .description.php:15
foreach(CLists::GetPermission() as $type_id=> $groups)(in_array($type_id, $arIBTypes["REFERENCE_ID"]))($groups as $group)("group_right[n". $i."]", $arGroups, $group, GetMessage("LISTS_OPTIONS_CHOOSE_GROUP"))?></td >< td ><?echo SelectBoxFromArray("type_right[n". $i."]" $type_id
Определения options.php:152
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
$ar
Определения options.php:199
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
Определения waybill.php:936