• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/section_property.php
  • Класс: CIBlockSectionPropertyLink
  • Вызов: CIBlockSectionPropertyLink::HasIBlockLinks
static function HasIBlockLinks($IBLOCK_ID)
{
	global $DB;

	$result = false;

	$IBLOCK_ID = (int)$IBLOCK_ID;
	if ($IBLOCK_ID <= 0)
		return $result;

	$rs = $DB->Query($DB->TopSQL("
		SELECT
			1
		FROM
			b_iblock B
			INNER JOIN b_iblock_property BP ON BP.IBLOCK_ID = B.ID
			LEFT JOIN b_iblock_section_property BSP ON BSP.IBLOCK_ID = B.ID AND BSP.PROPERTY_ID = BP.ID
		WHERE
			B.ID = ".$IBLOCK_ID."
			AND (
				BSP.SECTION_ID IS NOT NULL
				OR BSP.SMART_FILTER = 'Y'
			)
	", 1));
	$row = $rs->Fetch();
	unset($rs);
	if (!empty($row))
		$result = true;
	unset($row);

	if (!$result)
	{
		if (Loader::includeModule('catalog'))
		{
			$catalog = CCatalogSku::GetInfoByProductIBlock($IBLOCK_ID);
			if (!empty($catalog))
			{
				$rs = $DB->Query($DB->TopSQL("
					SELECT
						1
					FROM
						b_iblock B
						INNER JOIN b_iblock_property BP ON BP.IBLOCK_ID = B.ID
						LEFT JOIN b_iblock_section_property BSP ON BSP.IBLOCK_ID = ".$IBLOCK_ID." AND BSP.PROPERTY_ID = BP.ID
					WHERE
						B.ID = ".$catalog['IBLOCK_ID']."
						AND (
							BSP.SECTION_ID IS NOT NULL
							OR BSP.SMART_FILTER = 'Y'
						)
				", 1));
				$row = $rs->Fetch();
				unset($rs);
				if (!empty($row))
					$result = true;
				unset($row);
			}
			unset($catalog);
		}
	}

	return $result;
}