• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/iblocktype.php
  • Класс: CIBlockType
  • Вызов: CIBlockType::_GetCache
static function _GetCache($ID)
{
	/** @global CDatabase $DB */
	global $DB;
	/** @global CCacheManager $CACHE_MANAGER */
	global $CACHE_MANAGER;
	$ID = trim($ID);

	if ($CACHE_MANAGER->Read(CACHED_b_iblock_type, "b_iblock_type", "b_iblock_type"))
	{
		$arIBlocks = $CACHE_MANAGER->Get("b_iblock_type");
	}
	else
	{
		$arIBlocks = array();
		$rs = $DB->Query("SELECT * FROM b_iblock_type");
		while ($ar = $rs->GetNext())
		{
			$ar["_lang"] = array();
			$arIBlocks[$ar['ID']] = $ar;
		}
		$rs = $DB->Query("SELECT * FROM b_iblock_type_lang");
		while ($ar = $rs->GetNext())
		{
			if (array_key_exists($ar['IBLOCK_TYPE_ID'], $arIBlocks))
			{
				$arIBlocks[$ar['IBLOCK_TYPE_ID']]["_lang"][$ar["LID"]] = $ar;
			}
		}
		$CACHE_MANAGER->Set("b_iblock_type", $arIBlocks);
	}
	if (array_key_exists($ID, $arIBlocks))
		return $arIBlocks[$ID];
	else
		return false;
}