• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/ebay/exportoffersku.php
  • Класс: BitrixCatalogEbayExportOfferSKU
  • Вызов: ExportOfferSKU::getOffers
protected function getOffers()
{
	$arPropertyMap = array();
	$arSelectedPropTypes = array('S','N','L','E','G');
	$this->arSelectOfferProps = array();
	$arOffers = CCatalogSku::GetInfoByProductIBlock($this->iBlockId);

	if (empty($arOffers['IBLOCK_ID']))
		return array();

	$this->intOfferIBlockID = $arOffers['IBLOCK_ID'];
	$rsOfferIBlocks = CIBlock::GetByID($this->intOfferIBlockID);

	if (!$this->arOfferIBlock = $rsOfferIBlocks->Fetch())
		throw new SystemException("Bad offers iBlock ID  (".__CLASS__."::".__METHOD__.")");

	$rsProps = CIBlockProperty::GetList(
		array('SORT' => 'ASC', 'NAME' => 'ASC'),
		array('IBLOCK_ID' => $this->intOfferIBlockID, 'ACTIVE' => 'Y', 'CHECK_PERMISSIONS' => 'N')
	);

	while ($arProp = $rsProps->Fetch())
	{
		$arProp['ID'] = (int)$arProp['ID'];

		if ($arOffers['SKU_PROPERTY_ID'] != $arProp['ID'])
		{
			$arProp['USER_TYPE'] = (string)$arProp['USER_TYPE'];
			$arProp['CODE'] = (string)$arProp['CODE'];
			$this->arIblock['OFFERS_PROPERTY'][$arProp['ID']] = $arProp;
			$this->arProperties[$arProp['ID']] = $arProp;

			if (in_array($arProp['PROPERTY_TYPE'], $arSelectedPropTypes))
				$this->arSelectOfferProps[] = $arProp['ID'];

			if ($arProp['CODE'] !== '')
			{
				foreach ($this->arIblock['PROPERTY'] as &$arMainProp)
				{
					if ($arMainProp['CODE'] == $arProp['CODE'])
					{
						$arPropertyMap[$arProp['ID']] = $arMainProp['CODE'];
						break;
					}
				}

				if (isset($arMainProp))
					unset($arMainProp);
			}
		}
	}

	$this->arOfferIBlock['LID'] = $this->arIblock['LID'];

	$this->arOfferIBlock['PROPERTY'] = array();

	$rsProps = CIBlockProperty::GetList(
		array('SORT' => 'ASC', 'NAME' => 'ASC'),
		array('IBLOCK_ID' => $this->intOfferIBlockID, 'ACTIVE' => 'Y', 'CHECK_PERMISSIONS' => 'N')
	);

	while ($arProp = $rsProps->Fetch())
	{

		$arProp['ID'] = (int)$arProp['ID'];
		$arProp['USER_TYPE'] = (string)$arProp['USER_TYPE'];
		$arProp['CODE'] = (string)$arProp['CODE'];
		$this->arOfferIBlock['PROPERTY'][$arProp['ID']] = $arProp;
	}

	return $arOffers;
}