• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/security/rolemanager.php
  • Класс: BitrixImOpenlinesSecurityRoleManager
  • Вызов: RoleManager::setRolePermissions
static function setRolePermissions($roleId, array $permissions)
{
	$roleId = (int)$roleId;
	if($roleId <= 0)
		throw new ArgumentException('Role id should be greater than zero', 'roleId');

	$normalizedPermissions = Permissions::getNormalizedPermissions($permissions);
	RolePermissionTable::deleteByRoleId($roleId);
	foreach ($normalizedPermissions as $entity => $actions)
	{
		foreach ($actions as $action => $permission)
		{
			RolePermissionTable::add(array(
				'ROLE_ID' => $roleId,
				'ENTITY' => $entity,
				'ACTION' => $action,
				'PERMISSION' => $permission
			));
		}
	}
	Helper::clearMenuCache();
}