- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/controller_member.php
- Класс: CControllerClient
- Вызов: CControllerClient::SetGroupSecurity
static function SetGroupSecurity($group_code, $arPermissions, $arSubGroups = false)
{
if(($group_id = CGroup::GetIDByCode($group_code))<=0)
return false;
$arBackup = CControllerClient::GetBackup();
foreach($arPermissions as $module_id=>$level)
{
if(!is_set($arBackup["security"][$group_code], $module_id))
{
$arBackup["security"][$group_code][$module_id] = CGroup::GetModulePermission($group_id, $module_id);
}
CGroup::SetModulePermission($group_id, $module_id, $level);
}
if(is_array($arSubGroups))
{
$arSubordGroupID = Array();
foreach($arSubGroups as $sub_group_id)
{
$sub_group_id = CGroup::GetIDByCode($sub_group_id);
if($sub_group_id > 0)
$arSubordGroupID[] = $sub_group_id;
}
if(!is_set($arBackup["security_subord_groups"], $group_code))
{
$arBackup["security_subord_groups"][$group_code] = CGroup::GetSubordinateGroups($group_id);
}
CGroup::SetSubordinateGroups($group_id, $arSubordGroupID);
}
CControllerClient::SetBackup($arBackup);
}