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

	if (!array_key_exists($key, $GLOBALS["FORUM_CACHE"]["GROUP"]))
	{
		if (CACHED_b_forum_group !== false && $CACHE_MANAGER->Read(CACHED_b_forum_group, $cache_id, "b_forum_group"))
		{
			$GLOBALS["FORUM_CACHE"]["GROUP"][$key] = $CACHE_MANAGER->Get($cache_id);
		}
		else
		{
			$strSql = "SELECT FR.ID, FRL.LID, FRL.NAME, FR.SORT, FRL.DESCRIPTION,
				FR.PARENT_ID, FR.LEFT_MARGIN, FR.RIGHT_MARGIN, FR.DEPTH_LEVEL ".
				"FROM b_forum_group FR ".
				"	LEFT JOIN b_forum_group_lang FRL ON (FR.ID = FRL.FORUM_GROUP_ID AND FRL.LID = '".$DB->ForSql($LANGUAGE_ID)."') ".
				"WHERE FR.ID = ".$ID."";
			$db_res = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); $GLOBALS["FORUM_CACHE"]["GROUP"][$key] = $db_res->Fetch(); if (CACHED_b_forum_group !== false) $CACHE_MANAGER->Set($cache_id, $GLOBALS["FORUM_CACHE"]["GROUP"][$key]); } } return $GLOBALS["FORUM_CACHE"]["GROUP"][$key]; }