- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/lib/invitation/register.php
- Класс: BitrixIntranetInvitationRegister
- Вызов: Register::registerUsersByEmail
static function registerUsersByEmail($items, &$errors)
{
$invitedUserIdList = [];
foreach ($items as $userData)
{
$isExtranet = !isset($userData["UF_DEPARTMENT"]);
$siteIdByDepartmentId = CIntranetInviteDialog::getUserSiteId(array(
"UF_DEPARTMENT" => isset($userData["UF_DEPARTMENT"]) && is_array($userData["UF_DEPARTMENT"])
? $userData["UF_DEPARTMENT"][0] : "",
"SITE_ID" => SITE_ID
));
$arGroups = CIntranetInviteDialog::getUserGroups($siteIdByDepartmentId, $isExtranet);
$userData["CONFIRM_CODE"] = Random::getString(8, true);
$userData["GROUP_ID"] = $arGroups;
$ID = CIntranetInviteDialog::RegisterUser($userData, SITE_ID);
if (is_array($ID))
{
$errors = array_merge($errors, $ID);
return false;
}
$arCreatedUserId[] = $ID;
$invitedUserIdList[] = $ID;
$userData['ID'] = $ID;
CIntranetInviteDialog::InviteUser($userData, Loc::getMessage("INTRANET_INVITATION_INVITE_MESSAGE_TEXT"), array('checkB24' => false));
}
if (!empty($invitedUserIdList))
{
Invitation::add([
'USER_ID' => $invitedUserIdList,
'TYPE' => Invitation::TYPE_EMAIL
]);
}
return $invitedUserIdList;
}