• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/component/base.php
  • Класс: BitrixIblockComponentBase
  • Вызов: Base::checkIblock
protected function checkIblock()
{
	if (!empty($this->iblockProducts))
	{
		$iblocks = array();
		$iblockIterator = IblockIblockSiteTable::getList(array(
			'select' => array('IBLOCK_ID'),
			'filter' => array(
				'=IBLOCK_ID' => array_keys($this->iblockProducts),
				'=SITE_ID' => $this->getSiteId(),
				'=IBLOCK.ACTIVE' => 'Y'
			)
		));
		while ($iblock = $iblockIterator->fetch())
		{
			$iblocks[$iblock['IBLOCK_ID']] = true;
		}

		foreach ($this->iblockProducts as $iblock => $products)
		{
			if (!isset($iblocks[$iblock]))
			{
				unset($this->iblockProducts[$iblock]);
			}
		}

		if (empty($this->iblockProducts))
		{
			$this->abortResultCache();
			$this->errorCollection->setError(new Error(Loc::getMessage('INVALID_IBLOCK'), self::ERROR_TEXT));
		}
	}
}