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