• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/cml2.php
  • Класс: CIBlockCMLExport
  • Вызов: CIBlockCMLExport::GetIBlockXML_ID
function GetIBlockXML_ID($IBLOCK_ID, $XML_ID=false)
{
	if($XML_ID === false)
	{
		$IBLOCK_ID = intval($IBLOCK_ID);
		if($IBLOCK_ID>0)
		{
			$obIBlock = new CIBlock;
			$rsIBlock = $obIBlock->GetList(array(), array("ID"=>$IBLOCK_ID));
			if($arIBlock = $rsIBlock->Fetch())
				$XML_ID = $arIBlock["XML_ID"];
			else
				return "";
		}
		else
			return "";
	}
	if($XML_ID == '')
	{
		$XML_ID = $IBLOCK_ID;
		$obIBlock = new CIBlock;
		$rsIBlock = $obIBlock->GetList(array(), array("XML_ID"=>$XML_ID));
		while($rsIBlock->Fetch())
		{
			$XML_ID = md5(uniqid(mt_rand(), true));
			$rsIBlock = $obIBlock->GetList(array(), array("XML_ID"=>$XML_ID));
		}
		$obIBlock->Update($IBLOCK_ID, array("XML_ID" => $XML_ID));
	}
	return $XML_ID;
}