- Модуль: 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;
}