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