- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/integration/intranet/user.php
- Класс: BitrixImIntegrationIntranetUser
- Вызов: User::onUserAdminRights
static function onUserAdminRights(BitrixMainEvent $event): bool
{
if (!BitrixMainModuleManager::isModuleInstalled('intranet'))
{
return false;
}
if (!COption::GetOptionString("im", "general_chat_message_admin_rights", true))
{
return false;
}
$originatorId = (int)$event->getParameter('originatorId');
$users = (array)$event->getParameter('userId');
$type = (string)$event->getParameter('type');
$users = array_map(function($userId) {
return self::getUserBlock($userId);
}, $users);
$originatorGender = 'M';
if ($originatorId > 0)
{
$dbUser = CUser::GetList('', '', ['ID_EQUAL_EXACT' => $originatorId], array('FIELDS' => ['PERSONAL_GENDER']));
if ($user = $dbUser->Fetch())
{
$originatorGender = $user["PERSONAL_GENDER"] == 'F'? 'F': 'M';
}
}
$messId = (
$type === 'setAdminRigths'
? 'IM_INT_USR_SET_ADMIN_RIGTHS_'.$originatorGender
: 'IM_INT_USR_REMOVE_ADMIN_RIGTHS_'.$originatorGender
);
return self::sendMessageToGeneralChat($originatorId, [
'MESSAGE' => Loc::getMessage($messId, [
'#USER_NAME#' => self::getUserBlock($originatorId),
'#USERS#' => implode(', ', $users)
]),
'SYSTEM' => 'Y'
]);
}