• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/forum_new.php
  • Класс: CAllForumNew
  • Вызов: CAllForumNew::GetByID
static function GetByID($ID)
{
	global $DB, $CACHE_MANAGER;
	$ID = intval($ID);
	$cache_id = "b_forum_".$ID;
	if ($ID <= 0):
		return false;
	elseif (!isset($GLOBALS["FORUM_CACHE"]["FORUM"][$ID]) || !is_array($GLOBALS["FORUM_CACHE"]["FORUM"][$ID])):
		$GLOBALS["FORUM_CACHE"]["FORUM"][$ID] = array();
	endif;

	if (!array_key_exists("MAIN", $GLOBALS["FORUM_CACHE"]["FORUM"][$ID]))
	{
		if (CACHED_b_forum !== false && $CACHE_MANAGER->Read(CACHED_b_forum, $cache_id, "b_forum"))
		{
			$GLOBALS["FORUM_CACHE"]["FORUM"][$ID]["MAIN"] = $CACHE_MANAGER->Get($cache_id);
		}
		else
		{
			$strSql = "SELECT F.ID, F.NAME, F.DESCRIPTION, F.ACTIVE, F.MODERATION, F.INDEXATION,
					F.ALLOW_MOVE_TOPIC, F.DEDUPLICATION,
					'' as LID, F.TOPICS, F.POSTS, F.LAST_POSTER_ID, F.LAST_POSTER_NAME,
					".$DB->DateToCharFunction("F.LAST_POST_DATE", "FULL")." as LAST_POST_DATE,
					F.LAST_MESSAGE_ID, F.LAST_MESSAGE_ID as MID,
					F.POSTS_UNAPPROVED, F.ABS_LAST_POSTER_ID, F.ABS_LAST_POSTER_NAME,
					".$DB->DateToCharFunction("F.ABS_LAST_POST_DATE", "FULL")." as ABS_LAST_POST_DATE,
					F.ABS_LAST_MESSAGE_ID, F.SORT, F.ORDER_BY,
					F.ORDER_DIRECTION, F.ALLOW_HTML, F.ALLOW_ANCHOR, F.ALLOW_BIU, F.ALLOW_TOPIC_TITLED,
					F.ALLOW_IMG, F.ALLOW_VIDEO, F.ALLOW_LIST, F.ALLOW_QUOTE, F.ALLOW_CODE, F.ALLOW_TABLE,
					F.ALLOW_ALIGN, F.ALLOW_FONT, F.ALLOW_SMILES, F.ALLOW_UPLOAD, F.EVENT1, F.EVENT2,
					F.EVENT3, F.ALLOW_NL2BR, '' as PATH2FORUM_MESSAGE, F.ALLOW_UPLOAD_EXT, F.ALLOW_SIGNATURE,
					F.FORUM_GROUP_ID, F.ASK_GUEST_EMAIL, F.USE_CAPTCHA, F.XML_ID
				FROM b_forum F
				WHERE F.ID = ".$ID;
			$db_res = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); $GLOBALS["FORUM_CACHE"]["FORUM"][$ID]["MAIN"] = $db_res->GetNext(); if (CACHED_b_forum !== false) $CACHE_MANAGER->Set($cache_id, $GLOBALS["FORUM_CACHE"]["FORUM"][$ID]["MAIN"]); } } return $GLOBALS["FORUM_CACHE"]["FORUM"][$ID]["MAIN"]; }