Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/catalog/lib/userfield/ |
Upload File : |
<?php namespace Bitrix\Catalog\UserField; use Bitrix\Catalog\Controller\Controller; use Bitrix\Catalog\Document\StoreDocumentTableManager; use Bitrix\Catalog\StoreTable; use Bitrix\Main\Loader; class UserFieldAccess extends \Bitrix\Main\UserField\UserFieldAccess { protected function getAvailableEntityIds(): array { $iblockEntities = array_map(fn($item): string => 'IBLOCK_' . $item . '_SECTION', static::getIBlockList()); $storeDocsEntities = array_values(StoreDocumentTableManager::getUfEntityIds()); return [ ...$iblockEntities, ...$storeDocsEntities, StoreTable::getUfId(), ]; } protected static function getIBlockList(): array { Loader::includeModule('catalog'); Loader::includeModule('iblock'); $list = []; $filter = []; $r = \CCatalog::GetList(); while ($l = $r->fetch()) { $filter['ID'] ??= []; $filter['ID'][] = $l['IBLOCK_ID']; } $filter['ACTIVE'] = 'Y'; $filter['OPERATION'] = Controller::IBLOCK_EDIT; $iterator = \CIBlock::GetList(['ID' => 'ASC'], $filter); while ($iblock = $iterator->Fetch()) { $list[] = (int)$iblock['ID']; } return $list; } public function getRestrictedTypes(): array { return array_merge( parent::getRestrictedTypes(), [ 'video', 'vote', 'url_preview', 'string_formatted', 'disk_file', 'disk_version', ] ); } }