• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/messages.php
  • Класс: CAllSocNetMessages
  • Вызов: CAllSocNetMessages::SendEventAgent
static function SendEventAgent()
{
	global $DB;

	if (IsModuleInstalled("im"))
		return "CSocNetMessages::SendEventAgent();";	

	$dbMessage = CSocNetMessages::GetList(
		array(),
		array(
			"DATE_VIEW" => "", 
			"TO_DELETED" => "N", 
			"SEND_MAIL" => "N",
			"!IS_LOG" => "Y"
		),
		false,
		false,
		array("ID", "FROM_USER_ID", "TO_USER_ID", "TITLE", "MESSAGE", "DATE_CREATE", "FROM_USER_NAME", "FROM_USER_LAST_NAME", "FROM_USER_LOGIN", "TO_USER_NAME", "TO_USER_LAST_NAME", "TO_USER_LOGIN", "TO_USER_EMAIL", "TO_USER_LID", "EMAIL_TEMPLATE", "IS_LOG")
	);

	while ($arMessage = $dbMessage->Fetch())
	{
		if (isset($arMessage["EMAIL_TEMPLATE"]) && $arMessage["EMAIL_TEMPLATE"] <> '')
			$mailTemplate = $arMessage["EMAIL_TEMPLATE"];
		else
			$mailTemplate = "SONET_NEW_MESSAGE";
	
		$defSiteID = $arMessage["TO_USER_LID"];
		$siteID = CSocNetUserEvents::GetEventSite($arMessage["TO_USER_ID"], $mailTemplate, $defSiteID);
		if ($siteID == false || $siteID == '')
			$siteID = CSite::GetDefSite();

		if ($siteID == false || $siteID == '')
			continue;
			
		$arFields = array(
			"MESSAGE_ID" => $arMessage["ID"],
			"USER_ID" => $arMessage["TO_USER_ID"],
			"USER_NAME" => $arMessage["TO_USER_NAME"],
			"USER_LAST_NAME" => $arMessage["TO_USER_LAST_NAME"],
			"SENDER_ID" => $arMessage["FROM_USER_ID"],
			"SENDER_NAME" => $arMessage["FROM_USER_NAME"],
			"SENDER_LAST_NAME" => $arMessage["FROM_USER_LAST_NAME"],
			"EMAIL_TO" => $arMessage["TO_USER_EMAIL"],
			"TITLE" => $arMessage["TITLE"],
			"MESSAGE" => CSocNetTextParser::convert4mail($arMessage["MESSAGE"]),
		);

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

		CSocNetMessages::Update($arMessage["ID"], array("SEND_MAIL" => "Y"));
	}

	return "CSocNetMessages::SendEventAgent();";
}