• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/log_tools_photo.php
  • Класс: CSocNetPhotoCommentEvent
  • Вызов: CSocNetPhotoCommentEvent::NotifyIm
static function NotifyIm($arParams)
{
	if(
		!CModule::IncludeModule("im")
		|| intval($arParams["PHOTO_AUTHOR_ID"]) <= 0
		|| $arParams["PHOTO_AUTHOR_ID"] == intval($arParams["COMMENT_AUTHOR_ID"])
	)
		return;

	if (!array_key_exists("SECTION_NAME", $arParams))
		$arParams["SECTION_NAME"] = "";
	if (!array_key_exists("SECTION_URL", $arParams))
		$arParams["SECTION_URL"] = 0;

	$arMessageFields = array(
		"MESSAGE_TYPE" => IM_MESSAGE_SYSTEM,
		"TO_USER_ID" => $arParams["PHOTO_AUTHOR_ID"],
		"FROM_USER_ID" => $arParams["COMMENT_AUTHOR_ID"],
		"NOTIFY_TYPE" => IM_NOTIFY_FROM,
		"NOTIFY_MODULE" => "photogallery",
		"NOTIFY_EVENT" => "comment",
	);

	$rsLog = CSocNetLog::GetList(
		array(),
		array(
			"EVENT_ID" => array("photo_photo"),
			"SOURCE_ID" => $arParams["ID"]
		),
		false,
		false,
		array("ID")
	);
	if ($arLog = $rsLog->Fetch())
	{
		$rsUnFollower = CSocNetLogFollow::GetList(
			array(
				"USER_ID" => $arParams["PHOTO_AUTHOR_ID"],
				"CODE" => "L".$arLog["ID"],
				"TYPE" => "N"
			),
			array("USER_ID")
		);
		if ($arUnFollower = $rsUnFollower->Fetch())
			return;

		$arMessageFields["LOG_ID"] = $arLog["ID"];
	}

	$arParams["TITLE"] = str_replace(Array("rn", "n"), " ", $arParams["TITLE"]);
	$arParams["TITLE"] = TruncateText($arParams["TITLE"], 100);
	$arParams["TITLE_OUT"] = TruncateText($arParams["TITLE"], 255);

	$arTmp = CSocNetLogTools::ProcessPath(array("PHOTO_URL" => $arParams["URL"], "SECTION_URL" => $arParams["SECTION_URL"]), $arParams["PHOTO_AUTHOR_ID"]);
	$serverName = $arTmp["SERVER_NAME"];
	$arParams["URL"] = $arTmp["URLS"]["PHOTO_URL"];
	$arParams["SECTION_URL"] = $arTmp["URLS"]["SECTION_URL"];

	$arMessageFields["NOTIFY_TAG"] = "PHOTO|COMMENT|".$arParams["ID"];
	$arMessageFields["NOTIFY_MESSAGE"] = GetMessage("SONET_PHOTO_IM_COMMENT", Array(
		"#photo_title#" => "".htmlspecialcharsbx($arParams["TITLE"])."",
		"#album_title#" => "".htmlspecialcharsbx($arParams["SECTION_NAME"]).""
	));
	$arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("SONET_PHOTO_IM_COMMENT", Array(
		"#photo_title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]),
		"#album_title#" => htmlspecialcharsbx($arParams["SECTION_NAME"])
	))." (".$serverName.$arParams["URL"].")#BR##BR#".$arParams["MESSAGE"];

	$ID = CIMNotify::Add($arMessageFields);

	if(!empty($arParams["COMMENT_MENTION_ID"]))
	{
		//
	}
}