• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/forum_new.php
  • Класс: CAllForumGroup
  • Вызов: CAllForumGroup::GetByLang
static function GetByLang($LANGUAGE_ID)
{
	global $CACHE_MANAGER;
	$LANGUAGE_ID = (!empty($LANGUAGE_ID) ? $LANGUAGE_ID : LANGUAGE_ID);
	$cache_id = "b_forum_group".$LANGUAGE_ID;

	if (!isset($GLOBALS["FORUM_CACHE"]["GROUPS"])):
		$GLOBALS["FORUM_CACHE"]["GROUPS"] = array();
	endif;

	if (!array_key_exists($LANGUAGE_ID, $GLOBALS["FORUM_CACHE"]["GROUPS"]))
	{
		if (CACHED_b_forum_group !== false && $CACHE_MANAGER->Read(CACHED_b_forum_group, $cache_id, "b_forum_group"))
		{
			$GLOBALS["FORUM_CACHE"]["GROUPS"][$LANGUAGE_ID] = $CACHE_MANAGER->Get($cache_id);
		}
		else
		{
			$arRes = array();
			$db_res = CForumGroup::GetListEx(array("LEFT_MARGIN" => "ASC", "SORT" => "ASC"), array("LID" => $LANGUAGE_ID));
			while ($res = $db_res->GetNext())
				$arRes[intval($res["ID"])] = $res;
			$GLOBALS["FORUM_CACHE"]["GROUPS"][$LANGUAGE_ID] = $arRes;
			if (CACHED_b_forum_group !== false)
				$CACHE_MANAGER->Set($cache_id, $GLOBALS["FORUM_CACHE"]["GROUPS"][$LANGUAGE_ID]);
		}
	}
	return $GLOBALS["FORUM_CACHE"]["GROUPS"][$LANGUAGE_ID];
}