• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/user_relations.php
  • Класс: CAllSocNetUserRelations
  • Вызов: CAllSocNetUserRelations::SendEvent
static function SendEvent($relationID, $mailType = "INVITE_FRIEND")
{
	$relationID = intval($relationID);
	if ($relationID <= 0)
		return false;

	$dbRelation = CSocNetUserRelations::GetList(
		array(),
		array("ID" => $relationID),
		false,
		false,
		array("ID", "FIRST_USER_ID", "SECOND_USER_ID", "RELATION", "DATE_CREATE", "MESSAGE", "INITIATED_BY", "FIRST_USER_NAME", "FIRST_USER_LAST_NAME", "FIRST_USER_LOGIN", "FIRST_USER_EMAIL", "FIRST_USER_LID", "SECOND_USER_NAME", "SECOND_USER_LAST_NAME", "SECOND_USER_LOGIN", "SECOND_USER_EMAIL", "SECOND_USER_LID")
	);
	$arRelation = $dbRelation->Fetch();
	if (!$arRelation)
		return false;

	$fromUserPref = "FIRST";
	$toUserPref = "SECOND";
	if ($arRelation["INITIATED_BY"] == "S")
	{
		$fromUserPref = "SECOND";
		$toUserPref = "FIRST";
	}

	$mailTemplate = "SONET_INVITE_FRIEND";
	if ($mailType == "AGREE_FRIEND")
		$mailTemplate = "SONET_AGREE_FRIEND";
	elseif ($mailType == "BAN_FRIEND")
		$mailTemplate = "SONET_BAN_FRIEND";

	$defSiteID = $arRelation[$toUserPref."_USER_LID"];
	$siteID = CSocNetUserEvents::GetEventSite($arRelation[$toUserPref."_USER_ID"], $mailTemplate, $defSiteID);
	if ($siteID == false || $siteID == '')
		return false;

	if (IsModuleInstalled("im"))
	{
		$url = str_replace("#USER_ID#", $arRelation[$toUserPref."_USER_ID"], COption::GetOptionString("socialnetwork", "user_request_page", 
			(IsModuleInstalled("intranet")) ? "/company/personal/user/#USER_ID#/requests/" : "/club/user/#USER_ID#/requests/", $siteID));
	}
	else
		$url = COption::GetOptionString("socialnetwork", "messages_path", "/company/personal/messages/", $siteID);

	$arFields = array(
		"RELATION_ID" => $relationID,
		"SENDER_USER_ID" => $arRelation[$fromUserPref."_USER_ID"],
		"SENDER_USER_NAME" => $arRelation[$fromUserPref."_USER_NAME"],
		"SENDER_USER_LAST_NAME" => $arRelation[$fromUserPref."_USER_LAST_NAME"],
		"SENDER_EMAIL_TO" => $arRelation[$fromUserPref."_USER_EMAIL"],
		"RECIPIENT_USER_ID" => $arRelation[$toUserPref."_USER_ID"],
		"RECIPIENT_USER_NAME" => $arRelation[$toUserPref."_USER_NAME"],
		"RECIPIENT_USER_LAST_NAME" => $arRelation[$toUserPref."_USER_LAST_NAME"],
		"RECIPIENT_USER_EMAIL_TO" => $arRelation[$toUserPref."_USER_EMAIL"],
		"MESSAGE" => $arRelation["MESSAGE"],
		"URL" => $url
	);

	$event = new CEvent;
	$event->Send($mailTemplate, $siteID, $arFields, "N");

	return true;
}