• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/classes/general/invite_dialog.php
  • Класс: CIntranetInviteDialog
  • Вызов: CIntranetInviteDialog::InviteUser
static function InviteUser($arUser, $messageText, $params = array())
{
	global $USER;

	if (
		!is_array($params)
		|| !isset($params['checkB24'])
		|| $params['checkB24'] !== false
	)
	{
		if (
			Loader::includeModule('bitrix24')
			&& !CBitrix24::IsNfrLicense()
			&& (
				!CBitrix24::IsLicensePaid()
				|| CBitrix24::IsDemoLicense()
			)
		)
		{
			$messageText = Loc::getMessage("BX24_INVITE_DIALOG_INVITE_MESSAGE_TEXT_1");
		}
	}

	$bExtranet = (
		ModuleManager::isModuleInstalled('extranet')
		&& (
			!isset($arUser["UF_DEPARTMENT"])
			|| (
				is_array($arUser["UF_DEPARTMENT"])
				&& (int)$arUser["UF_DEPARTMENT"][0] <= 0
			)
			|| (
				!is_array($arUser["UF_DEPARTMENT"])
				&& (int)$arUser["UF_DEPARTMENT"] <= 0
			)
		)
	);

	$siteIdByDepartmentId = self::getUserSiteId(array(
		"UF_DEPARTMENT" => $arUser["UF_DEPARTMENT"],
		"SITE_ID" => SITE_ID
	));

	if ($bExtranet)
	{
		CEvent::SendImmediate("EXTRANET_INVITATION", $siteIdByDepartmentId, array(
			"USER_ID" => $arUser["ID"],
			"USER_ID_FROM" => $USER->GetID(),
			"CHECKWORD" => $arUser["CONFIRM_CODE"],
			"EMAIL" => $arUser["EMAIL"],
			"USER_TEXT" => $messageText
		));
	}
	elseif (ModuleManager::isModuleInstalled("bitrix24"))
	{
		CEvent::SendImmediate("BITRIX24_USER_INVITATION", $siteIdByDepartmentId, array(
			"EMAIL_FROM" => $USER->GetEmail(),
			"USER_ID_FROM" => $USER->GetID(),
			"EMAIL_TO" => $arUser["EMAIL"],
			"LINK" => self::getInviteLink($arUser, $siteIdByDepartmentId),
			"USER_TEXT" => $messageText,
		));
	}
	else
	{
		CEvent::SendImmediate("INTRANET_USER_INVITATION", $siteIdByDepartmentId, array(
			"EMAIL_TO" => $arUser["EMAIL"],
			"USER_ID_FROM" => $USER->GetID(),
			"LINK" => self::getInviteLink($arUser, $siteIdByDepartmentId),
			"USER_TEXT" => $messageText,
		));
	}
}