- Модуль: forum
- Путь к файлу: ~/bitrix/modules/forum/classes/general/event_log.php
- Класс: CEventForum
- Вызов: CEventForum::GetEventInfo
static function GetEventInfo($row, $arParams)
{
if (CModule::IncludeModule('forum'))
{
$DESCRIPTION = unserialize($row['DESCRIPTION'], ['allowed_classes' => false]);
$site_id = ($row['SITE_ID'] == "s1") ? "" : "site_".$row['SITE_ID']."/";
// messages
if(mb_strpos($row['AUDIT_TYPE_ID'], "MESSAGE"))
{
$MID = $row['ITEM_ID'];
$TID = $DESCRIPTION['TOPIC_ID'];
$FID = $DESCRIPTION['FORUM_ID'];
if($arMessage = CForumMessage::GetByID($MID))
{
$sPath = SITE_DIR.CComponentEngine::MakePathFromTemplate($arParams['FORUM_MESSAGE_PATH'], array("FORUM_ID" => $FID, "TOPIC_ID" => $TID, "TITLE_SEO" => $TID, "MESSAGE_ID" => $MID, "SITE_ID" => $site_id));
}
else
{
if($arTopic = CForumTopic::GetByID($TID))
{
$sPath = SITE_DIR.CComponentEngine::MakePathFromTemplate($arParams['FORUM_TOPIC_PATH'], array("FORUM_ID" => $FID, "TOPIC_ID" => $TID, "TITLE_SEO" => $TID, "SITE_ID" => $site_id));
}
}
switch($row['AUDIT_TYPE_ID'])
{
case "FORUM_MESSAGE_APPROVE":
$EventPrint = GetMessage("LOG_FORUM_MESSAGE_APPROVE");
break;
case "FORUM_MESSAGE_UNAPPROVE":
$EventPrint = GetMessage("LOG_FORUM_MESSAGE_UNAPPROVE");
break;
case "FORUM_MESSAGE_MOVE":
$EventPrint = GetMessage("LOG_FORUM_MESSAGE_MOVE");
break;
case "FORUM_MESSAGE_EDIT":
$EventPrint = GetMessage("LOG_FORUM_MESSAGE_EDIT");
break;
case "FORUM_MESSAGE_DELETE":
$EventPrint = GetMessage("LOG_FORUM_MESSAGE_DELETE");
break;
}
}
else
// topics
{
$TID = $row["ITEM_ID"];
$FID = $DESCRIPTION['FORUM_ID'];
if($arTopic = CForumTopic::GetByID($TID))
{
$sPath = SITE_DIR.CComponentEngine::MakePathFromTemplate($arParams['FORUM_TOPIC_PATH'], array("FORUM_ID" => $FID, "TOPIC_ID" => $TID, "TITLE_SEO" => $TID, "SITE_ID" => $site_id));
}
switch($row['AUDIT_TYPE_ID'])
{
case "FORUM_TOPIC_APPROVE":
$EventPrint = GetMessage("LOG_FORUM_TOPIC_APPROVE");
break;
case "FORUM_TOPIC_UNAPPROVE":
$EventPrint = GetMessage("LOG_FORUM_TOPIC_UNAPPROVE");
break;
case "FORUM_TOPIC_STICK":
$EventPrint = GetMessage("LOG_FORUM_TOPIC_STICK");
break;
case "FORUM_TOPIC_UNSTICK":
$EventPrint = GetMessage("LOG_FORUM_TOPIC_UNSTICK");
break;
case "FORUM_TOPIC_OPEN":
$EventPrint = GetMessage("LOG_FORUM_TOPIC_OPEN");
break;
case "FORUM_TOPIC_CLOSE":
$EventPrint = GetMessage("LOG_FORUM_TOPIC_CLOSE");
break;
case "FORUM_TOPIC_DELETE":
$EventPrint = GetMessage("LOG_FORUM_TOPIC_DELETE");
break;
case "FORUM_TOPIC_MOVE":
$EventPrint = GetMessage("LOG_FORUM_TOPIC_MOVE", array("#FORUM#" => $DESCRIPTION["FORUM_TITLE"]));
break;
case "FORUM_TOPIC_EDIT":
$EventPrint = GetMessage("LOG_FORUM_TOPIC_EDIT");
break;
}
}
if($arForum = CForumNew::GetByID($FID))
{
$ForumPageURL = SITE_DIR.CComponentEngine::MakePathFromTemplate($arParams['FORUM_PATH'], array("FORUM_ID" => $FID, "SITE_ID" => $site_id));
$resForum = "".$arForum["NAME"]."";
}
else
{
$resForum = GetMessage("LOG_FORUM");
}
}
return array(
"eventType" => $EventPrint,
"eventName" => $DESCRIPTION['TITLE'],
"eventURL" => $sPath,
"pageURL" => $resForum
);
}