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