• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/iblocksocnetevent.php
  • Класс: CWebDavSocNetEvent
  • Вызов: CWebDavSocNetEvent::FormatEvent_Files
static function FormatEvent_Files($arFields, $arParams, $bMail = false)
{
	if (!CModule::IncludeModule("socialnetwork"))
		return null;

	$arResult = array(
		"EVENT" => $arFields,
		"CREATED_BY" => CSocNetLogTools::FormatEvent_GetCreatedBy($arFields, $arParams, $bMail),
		"ENTITY" => self::GetEntity_Files($arFields, $bMail),
		"URL" => ""
	);

	if (!$bMail)
	{
		$arResult["AVATAR_SRC"] = CSocNetLogTools::FormatEvent_CreateAvatar($arFields, $arParams);
		switch ($arFields["CREATED_BY_PERSONAL_GENDER"])
		{
			case "M":
				$suffix = "_M";
				break;
			case "F":
				$suffix = "_F";
				break;
			default:
				$suffix = "";
		}
		$title_tmp_24 = GetMessage("WEBDAV_SONET_EVENT_TITLE_FILE_24".$suffix);
	}

	$title = "";
	if ($arFields["TITLE"] <> '')
	{

		if (!$bMail && $arFields["URL"] <> '')
			$title_tmp = ''.$arFields["TITLE"].'';
		else
			$title_tmp = $arFields["TITLE"];

		$title = str_replace(
			array("#TITLE#", "#ENTITY#"),
			array($title_tmp, ($bMail ? $arResult["ENTITY"]["FORMATTED"] : $arResult["ENTITY"]["FORMATTED"]["NAME"])),
			($bMail ? GetMessage("WEBDAV_SOCNET_LOG_FILES_TITLE_MAIL") : GetMessage("WEBDAV_SOCNET_LOG_FILES_TITLE"))
		);
	}
	else
		$title_tmp = "";

	$url = false;

	if (
		$arFields["URL"] <> ''
		&& $arFields["SITE_ID"] <> ''
	)
	{
		$rsSites = CSite::GetByID($arFields["SITE_ID"]);
		$arSite = $rsSites->Fetch();

		if ($arSite["SERVER_NAME"] <> '')
			$server_name = $arSite["SERVER_NAME"];
		else
			$server_name = COption::GetOptionString("main", "server_name", $GLOBALS["SERVER_NAME"]);

		$protocol = (CMain::IsHTTPS() ? "https" : "http");
		$url = $protocol."://".$server_name.$arFields["URL"];
	}

	if ($arParams["MOBILE"] == "Y")
		$arResult["EVENT_FORMATTED"] = array(
			"TITLE_24" => GetMessage("WEBDAV_SONET_EVENT_TITLE_FILE_24_MOBILE"),
			"MESSAGE" => $arFields["MESSAGE"]
		);
	else
		$arResult["EVENT_FORMATTED"] = array(
			"TITLE" => $title,
			"MESSAGE_TITLE_24" => $title_tmp_24,
			"MESSAGE" => ($bMail ? $arFields["TEXT_MESSAGE"] : $arFields["MESSAGE"])
		);

	if (!$bMail)
		$arResult["EVENT_FORMATTED"]["IS_MESSAGE_SHORT"] = true;

	if ($url <> '')
		$arResult["EVENT_FORMATTED"]["URL"] = $url;

	$arResult["HAS_COMMENTS"] = "N";
	if (
		intval($arFields["SOURCE_ID"]) > 0
		&& array_key_exists("PARAMS", $arFields)
		&& $arFields["PARAMS"] <> ''
	)
	{
		$arFieldsParams = explode("&", $arFields["PARAMS"]);
		if (is_array($arFieldsParams) && count($arFieldsParams) > 0)
		{
			foreach ($arFieldsParams as $tmp)
			{
				list($key, $value) = explode("=", $tmp);
				if ($key == "forum_id")
				{
					$arResult["HAS_COMMENTS"] = "Y";
					break;
				}
			}
		}
	}

	if (!$bMail)
	{
		$dbRight = CSocNetLogRights::GetList(array(), array("LOG_ID" => $arFields["ID"]));
		while ($arRight = $dbRight->Fetch())
			$arRights[] = $arRight["GROUP_CODE"];

		$arResult["EVENT_FORMATTED"]["DESTINATION"] = CSocNetLogTools::FormatDestinationFromRights($arRights, array_merge($arParams, array("CREATED_BY" => $arFields["USER_ID"])), $iMoreCount);
		if (intval($iMoreCount) > 0)
			$arResult["EVENT_FORMATTED"]["DESTINATION_MORE"] = $iMoreCount;
	}

	return $arResult;
}