- Модуль: landing
- Путь к файлу: ~/bitrix/modules/landing/lib/role.php
- Класс: BitrixLandingRole
- Вызов: Role::checkRequiredRoles
static function checkRequiredRoles(): void
{
$type = SiteType::getCurrentScopeId();
$res = self::getList([
'select' => [
'ID'
],
'filter' => [
'=TYPE' => $type
],
'order' => [
'ID' => 'asc'
]
]);
while ($role = $res->fetch())
{
$taskRefs = Rights::getAccessTasksReferences();
$taskReadId = $taskRefs[Rights::ACCESS_TYPES['read']];
$taskDenyId = $taskRefs[Rights::ACCESS_TYPES['denied']];
$resRight = RightsTable::getList([
'select' => [
'ID'
],
'filter' => [
'ENTITY_ID' => 0,
'TASK_ID' => [$taskReadId, $taskDenyId],
'ROLE_ID' => $role['ID'],
'=ENTITY_TYPE' => Rights::ENTITY_TYPE_SITE
]
]);
if (!$resRight->fetch())
{
RightsTable::add([
'ENTITY_ID' => 0,
'ENTITY_TYPE' => Rights::ENTITY_TYPE_SITE,
'TASK_ID' => $taskReadId,
'ROLE_ID' => $role['ID'],
'ACCESS_CODE' => 'G1'
]);
}
}
if (isset($taskRefs))
{
return;
}
$keyDemoInstalled = 'role_demo_installed';
if ($type)
{
$keyDemoInstalled .= '_' . mb_strtolower($type);
}
Manager::setOption($keyDemoInstalled, 'N');
self::fetchAll();
}