1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
dataprovider.php
См. документацию.
1<?php
8
9namespace Bitrix\Main\UI\AccessRights;
10
11use Bitrix\Main\Access\AccessCode;
12use Bitrix\Main\Loader;
13use Bitrix\Main\UI\AccessRights\Exception\UnknownEntityTypeException;
14
16{
17 public function getEntity(string $type, int $id): Entity\AccessRightEntityInterface
18 {
19 $entityClass = $this->getEntityClassByType($type);
20 if (!$entityClass)
21 {
23 }
24
25 $entity = new $entityClass($id);
26
27 return $entity;
28 }
29
30 private function getEntityClassByType(string $type): ?string
31 {
32 return match ($type) {
33 AccessCode::TYPE_OTHER => Entity\Other::class,
34 AccessCode::TYPE_USER => Entity\User::class,
35 AccessCode::TYPE_SOCNETGROUP
36 => Loader::includeModule('socialnetwork') ? Entity\SocnetGroup::class : null
37 ,
38 AccessCode::TYPE_GROUP => Entity\Group::class,
39 AccessCode::TYPE_DEPARTMENT => Entity\Department::class,
40 AccessCode::TYPE_ACCESS_DIRECTOR => Entity\AccessDirector::class,
41 AccessCode::TYPE_ACCESS_DEPUTY => Entity\AccessDeputy::class,
42 AccessCode::TYPE_ACCESS_EMPLOYEE => Entity\UserAll::class,
43 AccessCode::TYPE_STRUCTURE_TEAM => Entity\StructureTeam::class,
44 AccessCode::TYPE_ACCESS_TEAM_DIRECTOR => Entity\AccessTeamDirector::class,
45 AccessCode::TYPE_ACCESS_TEAM_DEPUTY => Entity\AccessTeamDeputy::class,
46 AccessCode::TYPE_ACCESS_TEAM_EMPLOYEE => Entity\AccessTeamEmployee::class,
47 AccessCode::TYPE_STRUCTURE_DEPARTMENT => Entity\StructureDepartment::class,
48 default => null,
49 };
50 }
51}
$type
Определения options.php:106
static includeModule($moduleName)
Определения loader.php:67
getEntity(string $type, int $id)
Определения dataprovider.php:17
$entity