1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
get_property_values.php
См. документацию.
1
<?php
4
const
STOP_STATISTICS
=
true
;
5
const
PUBLIC_AJAX_MODE
=
true
;
6
7
use
Bitrix\Highloadblock\HighloadBlockTable
;
8
use
Bitrix\Iblock
;
9
use
Bitrix\Main
;
10
use
Bitrix\Main\Loader
;
11
12
require_once(
$_SERVER
[
'DOCUMENT_ROOT'
].
'/bitrix/modules/main/include/prolog_admin_before.php'
);
13
14
$result
=
array
();
15
$request
= Main\Context::getCurrent()->getRequest();
16
17
if
(
check_bitrix_sessid
() &&
$request
->isPost() && Loader::includeModule(
'iblock'
))
18
{
19
$propertyId = (int)
$request
->get(
'propertyId'
);
20
if
($propertyId > 0)
21
{
22
$property = Iblock\PropertyTable::getList(
array
(
23
'select'
=>
array
(
'ID'
,
'PROPERTY_TYPE'
,
'USER_TYPE'
,
'USER_TYPE_SETTINGS'
),
24
'filter'
=>
array
(
'=ID'
=> $propertyId)
25
))->fetch();
26
if
(!empty($property))
27
{
28
$property[
'USER_TYPE'
] = (string)$property[
'USER_TYPE'
];
29
if
($property[
'USER_TYPE'
] !=
''
)
30
{
31
if
(!is_array($property[
'USER_TYPE_SETTINGS'
]))
32
{
33
$property[
'USER_TYPE_SETTINGS'
] = (string)$property[
'USER_TYPE_SETTINGS'
];
34
if
(
CheckSerializedData
($property[
'USER_TYPE_SETTINGS'
]))
35
$property[
'USER_TYPE_SETTINGS'
] = unserialize($property[
'USER_TYPE_SETTINGS'
], [
'allowed_classes'
=>
false
]);
36
if
(!is_array($property[
'USER_TYPE_SETTINGS'
]))
37
$property[
'USER_TYPE_SETTINGS'
] =
array
();
38
}
39
}
40
41
if
($property[
'PROPERTY_TYPE'
] ===
Iblock
\PropertyTable::TYPE_STRING && $property[
'USER_TYPE'
] ===
'directory'
)
42
{
43
if
(Loader::includeModule(
'highloadblock'
) && !empty($property[
'USER_TYPE_SETTINGS'
][
'TABLE_NAME'
]))
44
{
45
$hlBlock = HighloadBlockTable::getList(
array
(
46
'filter'
=>
array
(
'=TABLE_NAME'
=> $property[
'USER_TYPE_SETTINGS'
][
'TABLE_NAME'
])
47
))->fetch();
48
if
(!empty($hlBlock))
49
{
50
$entity
= HighloadBlockTable::compileEntity($hlBlock);
51
52
$fieldsList =
$entity
->getFields();
53
$sortExist = isset($fieldsList[
'UF_SORT'
]);
54
$directorySelect =
array
(
'ID'
,
'UF_NAME'
,
'UF_XML_ID'
);
55
$directoryOrder =
array
();
56
if
($sortExist)
57
{
58
$directorySelect[] =
'UF_SORT'
;
59
$directoryOrder[
'UF_SORT'
] =
'ASC'
;
60
}
61
$directoryOrder[
'UF_NAME'
] =
'ASC'
;
62
63
$entityDataClass =
$entity
->getDataClass();
64
$iterator
= $entityDataClass::getList(
array
(
65
'select'
=> $directorySelect,
66
'order'
=> $directoryOrder
67
));
68
while
($row =
$iterator
->fetch())
69
{
70
$result
[] =
array
(
71
'value'
=> $row[
'UF_XML_ID'
],
72
'label'
=> $row[
'UF_NAME'
]
73
);
74
}
75
unset($row,
$iterator
);
76
}
77
}
78
}
79
elseif
($property[
'PROPERTY_TYPE'
] ===
Iblock
\PropertyTable::TYPE_LIST)
80
{
81
$iterator
= Iblock\PropertyEnumerationTable::getList([
82
'select'
=> [
'*'
],
83
'filter'
=> [
84
'=PROPERTY_ID'
=> $propertyId,
85
],
86
'order'
=> [
87
'DEF'
=>
'DESC'
,
88
'SORT'
=>
'ASC'
,
89
'VALUE'
=>
'ASC'
,
90
]
91
]);
92
while
($row =
$iterator
->fetch())
93
{
94
$result
[] =
array
(
95
'value'
=> $row[
'ID'
],
96
'label'
=> $row[
'VALUE'
]
97
);
98
}
99
unset($row,
$iterator
);
100
}
101
}
102
unset($property);
103
}
104
}
105
106
$APPLICATION
->RestartBuffer();
107
header(
'Content-Type: application/json'
);
108
echo
Bitrix\Main\Web\Json::encode
(
$result
);
109
require(
$_SERVER
[
'DOCUMENT_ROOT'
].
'/bitrix/modules/main/include/epilog_admin_after.php'
);
$APPLICATION
global $APPLICATION
Определения
include.php:80
PUBLIC_AJAX_MODE
const PUBLIC_AJAX_MODE
Определения
catalog_reindex.php:6
$request
if(!Loader::includeModule('catalog')) if(!AccessController::getCurrent() ->check(ActionDictionary::ACTION_PRICE_EDIT)) if(!check_bitrix_sessid()) $request
Определения
catalog_reindex.php:36
Bitrix\Highloadblock\HighloadBlockTable
Определения
highloadblocktable.php:41
Bitrix\Main\Loader
Определения
loader.php:13
Bitrix\Main\Web\Json\encode
static encode($data, $options=null)
Определения
json.php:22
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
STOP_STATISTICS
const STOP_STATISTICS
Определения
froogle_util.php:2
$result
$result
Определения
get_property_values.php:14
$entity
$entity
Определения
group_bizproc_workflow_delete.php:17
$_SERVER
$_SERVER["DOCUMENT_ROOT"]
Определения
cron_frame.php:9
CheckSerializedData
CheckSerializedData($str, $max_depth=200)
Определения
tools.php:4949
check_bitrix_sessid
check_bitrix_sessid($varname='sessid')
Определения
tools.php:4686
Bitrix\Iblock
Bitrix\Main
elseif
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения
prolog_main_admin.php:393
$iterator
$iterator
Определения
yandex_run.php:610
bitrix
modules
catalog
tools
get_property_values.php
Создано системой
1.14.0