• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/lib/security/helper.php
  • Класс: BitrixVoximplantSecurityHelper
  • Вызов: Helper::createDefaultRoles
static function createDefaultRoles(): bool
{
	$checkCursor = BitrixVoximplantModelRoleTable::getList([
		'limit' => 1
	]);

	if($checkCursor->fetch())
	{
		return false;
	}

	$roleIds = [];
	foreach (static::getDefaultRoles() as $roleCode => $role)
	{
		$addResult = BitrixVoximplantModelRoleTable::add([
			'NAME' => $role['NAME'],
		]);

		$roleId = $addResult->getId();
		if($roleId)
		{
			$roleIds[$roleCode] = $roleId;
			RoleManager::setRolePermissions($roleId, $role['PERMISSIONS']);
		}
	}

	foreach (static::getDefaultRoleAccess() as $roleAccess)
	{
		if(isset($roleIds[$roleAccess['ROLE']]))
		{
			ModelRoleAccessTable::add([
				'ROLE_ID' => $roleIds[$roleAccess['ROLE']],
				'ACCESS_CODE' => $roleAccess['ACCESS_CODE']
			]);
		}
	}

	return true;
}