• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/iblocktype.php
  • Класс: CIBlockType
  • Вызов: CIBlockType::GetByIDLang
static function GetByIDLang($ID, $LID, $bFindAny = true)
{
	/** @global CDatabase $DB */
	global $DB;
	$LID = $DB->ForSQL($LID, 2);

	if (CACHED_b_iblock_type === false)
	{
		$strSql = "
			SELECT BTL.*, BT.*
			FROM b_iblock_type BT, b_iblock_type_lang BTL
			WHERE BTL.IBLOCK_TYPE_ID = '".$DB->ForSQL($ID)."'
			AND BTL.LID='".$LID."'
			AND BT.ID=BTL.IBLOCK_TYPE_ID
		";
		$res = $DB->Query($strSql);
		if ($r = $res->GetNext())
			return $r;
	}
	else
	{
		$arResult = CIBlockType::_GetCache($ID);
		if ($arResult !== false && array_key_exists($LID, $arResult["_lang"]))
		{
			$res = $arResult["_lang"][$LID];
			unset($arResult["_lang"]);
			return array_merge($res, $arResult);
		}
	}

	if (!$bFindAny)
		return false;

	$strSql = "
		SELECT BTL.*, BT.*
		FROM b_iblock_type BT, b_iblock_type_lang BTL, b_language L
		WHERE BTL.IBLOCK_TYPE_ID = '".$DB->ForSQL($ID)."'
		AND BTL.LID = L.LID
		AND BT.ID=BTL.IBLOCK_TYPE_ID
		ORDER BY L.DEF DESC, L.SORT
	";
	$res = $DB->Query($strSql);
	if ($r = $res->GetNext())
		return $r;

	return false;
}