- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/log_tools.php
- Класс: CSocNetLogTools
- Вызов: CSocNetLogTools::FormatEvent_Files
static function FormatEvent_Files($arFields, $arParams, $bMail = false)
{
if (
$bMail
&& $arFields["MAIL_LANGUAGE_ID"] <> ''
)
IncludeModuleLangFile(__FILE__, $arFields["MAIL_LANGUAGE_ID"]);
$arResult = array(
"EVENT" => $arFields,
"CREATED_BY" => CSocNetLogTools::FormatEvent_GetCreatedBy($arFields, $arParams, $bMail),
"ENTITY" => CSocNetLogTools::FormatEvent_GetEntity($arFields, $arParams, $bMail),
"EVENT_FORMATTED" => array(),
);
if (!$bMail)
$arResult["AVATAR_SRC"] = CSocNetLogTools::FormatEvent_CreateAvatar($arFields, $arParams);
if (
!$bMail
&& array_key_exists("URL", $arFields)
&& $arFields["URL"] <> ''
)
{
if (
$arFields["ENTITY_TYPE"] == SONET_SUBSCRIBE_ENTITY_GROUP
&& (
ModuleManager::isModuleInstalled('extranet')
|| (mb_strpos($arFields["URL"], "#GROUPS_PATH#") !== false)
)
)
{
$arFields["URL"] = str_replace("#GROUPS_PATH#", COption::GetOptionString("socialnetwork", "workgroups_page", "/workgroups/", SITE_ID), $arFields["URL"]);
$arResult["EVENT"]["URL"] = $arFields["URL"];
}
$file_tmp = ''.$arFields["TITLE"].'';
}
else
$file_tmp = $arFields["TITLE"];
if ($bMail)
$title_tmp = GetMessage("SONET_GL_EVENT_TITLE_".($arFields["ENTITY_TYPE"] == SONET_SUBSCRIBE_ENTITY_GROUP ? "GROUP" : "USER")."_FILE_MAIL");
else
{
$title_tmp = GetMessage("SONET_GL_EVENT_TITLE_FILE");
switch ($arFields["CREATED_BY_PERSONAL_GENDER"])
{
case "M":
$suffix = "_M";
break;
case "F":
$suffix = "_F";
break;
default:
$suffix = "";
}
$title_tmp_24 = GetMessage("SONET_GL_EVENT_TITLE_FILE_24".$suffix);
}
$title = str_replace(
array("#TITLE#", "#ENTITY#", "#CREATED_BY#"),
array($file_tmp, $arResult["ENTITY"]["FORMATTED"], ($bMail ? $arResult["CREATED_BY"]["FORMATTED"] : "")),
$title_tmp
);
if (($arParams["MOBILE"] ?? null) == "Y")
$arResult["EVENT_FORMATTED"] = array(
"TITLE_24" => GetMessage("SONET_GL_EVENT_TITLE_FILE_24_MOBILE"),
"MESSAGE" => $arFields["MESSAGE"]
);
else
$arResult["EVENT_FORMATTED"] = array(
"TITLE" => ($bMail ? $title : ""),
"MESSAGE_TITLE_24" => $title_tmp_24,
"MESSAGE" => ($bMail ? $arFields["TEXT_MESSAGE"] : $arFields["MESSAGE"])
);
if (!$bMail)
$arResult["EVENT_FORMATTED"]["IS_MESSAGE_SHORT"] = true;
$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)
{
$url = CSocNetLogTools::FormatEvent_GetURL($arFields);
if ($url <> '')
$arResult["EVENT_FORMATTED"]["URL"] = $url;
}
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;
}
if (
$bMail
&& $arFields["MAIL_LANGUAGE_ID"] <> ''
)
IncludeModuleLangFile(__FILE__, LANGUAGE_ID);
return $arResult;
}