• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/Access/Permission/Catalog/IblockCatalogPermissionsSaver.php
  • Класс: BitrixCatalogAccessPermissionCatalogIblockCatalogPermissionsSaver
  • Вызов: IblockCatalogPermissionsSaver::getIblockIds
private function getIblockIds(): array
{
	static $iblockIds;

	if (!isset($iblockIds))
	{
		$rows = CatalogIblockTable::getList([
			'select' => [
				'IBLOCK_ID',
			],
			'filter' => [
				'=IBLOCK.IBLOCK_TYPE_ID' => 'CRM_PRODUCT_CATALOG',
			],
		]);
		$iblockIds = array_column($rows->fetchAll(), 'IBLOCK_ID');

		// filter by site
		if ($iblockIds && isset($this->siteId))
		{
			$rows = IblockSiteTable::getList([
				'select' => [
					'IBLOCK_ID',
				],
				'filter' => [
					'=SITE_ID' => $this->siteId,
					'=IBLOCK_ID' => $iblockIds,
				],
			]);
			$iblockIds = array_column($rows->fetchAll(), 'IBLOCK_ID');
		}
	}

	return $iblockIds;
}