Server IP : 85.193.89.191 / Your IP : 3.141.29.103 Web Server : Apache System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64 User : bitrix ( 600) PHP Version : 8.1.27 Disable Function : NONE MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/bitrix/www/bitrix/modules/calendar/lib/access/ |
Upload File : |
<?php namespace Bitrix\Calendar\Access; use Bitrix\Calendar\Access\Model\EventModel; use Bitrix\Calendar\Access\Model\UserModel; use Bitrix\Main\Access\AccessibleItem; use Bitrix\Main\Access\BaseAccessController; use Bitrix\Main\Access\User\AccessibleUser; use Bitrix\Calendar\Core\Mappers\Event; class EventAccessController extends BaseAccessController { public static array $cache = []; private const ITEM_TYPE = 'EVENT'; private const USER_TYPE = 'USER'; protected function loadItem(int $itemId = null): ?AccessibleItem { $key = self::ITEM_TYPE . '_' . $itemId; if (!array_key_exists($key, static::$cache)) { /**@var \Bitrix\Calendar\Core\Event\Event $event */ $event = (new Event())->getById($itemId); if ($event instanceof \Bitrix\Calendar\Core\Event\Event) { $eventModel = EventModel::createFromObject($event); } else { $eventModel = EventModel::createNew(); } static::$cache[$key] = $eventModel; } return static::$cache[$key]; } protected function loadUser(int $userId): AccessibleUser { $key = self::USER_TYPE . '_' . $userId; if (!array_key_exists($key, static::$cache)) { static::$cache[$key] = UserModel::createFromId($userId); } return static::$cache[$key]; } }