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/components/bitrix/rest.configuration.section/ |
Upload File : |
<? if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) { die(); } use Bitrix\Rest\Configuration\Manifest; use Bitrix\Main\ErrorCollection; class CRestConfigurationSectionComponent extends CBitrixComponent { /** @var ErrorCollection $errors */ protected $errors; protected function checkRequiredParams() { return true; } protected function prepareResult() { $result = []; $result['ITEMS'] = Manifest::getList(); $code = $this->arParams['PLACEMENT_CODE'] ? : false; $result['ITEMS'] = array_values( array_filter( $result['ITEMS'], function($manifest) use ($code) { return $manifest['ACTIVE'] == 'Y' && (($code) ? in_array($code, $manifest['PLACEMENT']) : true); } ) ); $result['ITEMS_JS'] = array_map( function($item) { return [ 'title' => $item['TITLE'], 'description' => $item['DESCRIPTION'], 'link' => str_replace('#MANIFEST_CODE#', $item['CODE'], $this->arParams['PATH_TO_SECTION']), 'icon' => $item['ICON'], 'color' => $item['COLOR'], ]; }, $result['ITEMS'] ); $this->arResult = $result; return true; } protected function printErrors() { foreach ($this->errors as $error) { ShowError($error); } } public function executeComponent() { $this->errors = new ErrorCollection(); if (!$this->checkRequiredParams()) { $this->printErrors(); return; } if (!$this->prepareResult()) { $this->printErrors(); return; } $this->includeComponentTemplate(); } }