• Модуль: 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;
}