- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/lib/util.php
- Класс: BitrixIntranetUtil
- Вызов: Util::removeAdminRights
static function removeAdminRights($params)
{
$userId = (!empty($params['userId']) ? intval($params['userId']) : 0);
$currentUserId = (!empty($params['currentUserId']) ? intval($params['currentUserId']) : 0);
$isCurrentUserAdmin = !!$params['isCurrentUserAdmin'];
if (
!(
Loader::includeModule("bitrix24") && CBitrix24::IsPortalAdmin($currentUserId)
|| $isCurrentUserAdmin
)
)
{
return false;
}
if (
Loader::includeModule("bitrix24")
&& BitrixBitrix24Integrator::isIntegrator($currentUserId)
)
{
return false;
}
$userData = BitrixMainUserTable::getList(array(
'select' => [ 'ID', 'UF_DEPARTMENT', 'ACTIVE' ],
'filter' => [
'=ID' => $userId
],
))->fetch();
if (
!is_array($userData['UF_DEPARTMENT']) // is extranet
|| empty($userData['UF_DEPARTMENT'][0])
)
{
return false;
}
[ $employeesGroupId, $portalAdminGroupId ] = self::getGroupsId();
$currentUserGroups = CUser::getUserGroup($userId);
foreach ($currentUserGroups as $groupKey => $group)
{
if ($group == 1 || $group == $portalAdminGroupId)
{
unset($currentUserGroups[$groupKey]);
}
}
$currentUserGroups[] = $employeesGroupId;
$user = new CUser();
$user->Update($userId, ['GROUP_ID' => $currentUserGroups]);
$event = new Event(
'intranet',
'onUserAdminRigths',
[
'originatorId' => $currentUserId,
'userId' => $userId,
'type' => "removeAdminRigths"
]
);
$event->send();
return true;
}