• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/message.php
  • Класс: CAllForumMessage
  • Вызов: CAllForumMessage::GetByID
static function GetByID($ID, $arAddParams = array())
{
	global $DB;
	$ID = intval($ID);
	if ($ID <= 0):
		return false;
	endif;

	$arAddParams = (is_array($arAddParams) ? $arAddParams : []);
	$arAddParams["FILTER"] = $arAddParams["FILTER"] ?? 'N';
	$arAddParams["FILTER"] = ($arAddParams["FILTER"] == "Y" && COption::GetOptionString("forum", "FILTER", "Y") == "Y" ? "Y" : "N");
	$arAddParams["getFiles"] = $arAddParams["getFiles"] ?? 'N';

	if (!array_key_exists($ID, $GLOBALS["FORUM_CACHE"]["MESSAGE"]))
	{
		$strSql = "SELECT FM.*, ".$DB->DateToCharFunction("FM.POST_DATE", "FULL")." as POST_DATE,
				".$DB->DateToCharFunction("FM.EDIT_DATE", "FULL")." as EDIT_DATE
			FROM b_forum_message FM
			WHERE FM.ID = ".$ID;
		$db_res = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); if ($db_res && $res = $db_res->Fetch()) { $GLOBALS["FORUM_CACHE"]["MESSAGE"][$ID] = $res; if ($arAddParams["FILTER"] != "Y"): unset($res["HTML"]); endif; $db_res_filter = new CDBResult; $db_res_filter->InitFromArray(array($res)); $db_res_filter = new _CMessageDBResult($db_res_filter, $arAddParams); if ($res_filter = $db_res_filter->Fetch()) $GLOBALS["FORUM_CACHE"]["MESSAGE_FILTER"][$ID] = $res_filter; } } $res = ($arAddParams["FILTER"] == "Y" ? $GLOBALS["FORUM_CACHE"]["MESSAGE_FILTER"][$ID] : $GLOBALS["FORUM_CACHE"]["MESSAGE"][$ID]); if ($arAddParams["getFiles"] == "Y" && !empty($res)) $res["FILES"] = CForumFiles::getByMessageID($ID); return $res; }