- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/lib/invitation.php
- Класс: BitrixIntranetInvitation
- Вызов: Invitation::add
static function add(array $params = [])
{
global $USER;
$type = (isset($params['TYPE']) && in_array($params['TYPE'], self::getTypesAvailable()) ? $params['TYPE'] : self::TYPE_EMAIL);
$userIdList = (isset($params['USER_ID']) ? $params['USER_ID'] : []);
$originatorId = (isset($params['ORIGINATOR_ID']) && intval($params['ORIGINATOR_ID']) > 0 ? intval($params['ORIGINATOR_ID']) : $USER->getId());
if (!is_array($userIdList))
{
$userIdList = [ intval($userIdList) ];
}
$processedUserIdList = [];
foreach($userIdList as $userId)
{
if (intval($userId) <= 0)
{
continue;
}
try
{
InvitationTable::add([
'USER_ID' => $userId,
'ORIGINATOR_ID' => $originatorId,
'INVITATION_TYPE' => $type
]);
$processedUserIdList[] = $userId;
}
catch(Exception $e)
{
}
}
if (!empty($processedUserIdList))
{
$event = new Event(
'intranet',
'onUserInvited',
[
'originatorId' => $originatorId,
'userId' => $processedUserIdList,
'type' => $type
]
);
$event->send();
}
return $processedUserIdList;
}