• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/Access/Permission/Catalog/IblockCatalogPermissions.php
  • Класс: BitrixCatalogAccessPermissionCatalogIblockCatalogPermissions
  • Вызов: IblockCatalogPermissions::setRights
public function setRights(array $rights): void
{
	foreach ($rights as $item)
	{
		if (!is_array($item))
		{
			continue;
		}

		$id = (int)($item['id'] ?? 0);
		if (empty($id))
		{
			continue;
		}

		$value = (int)($item['value'] ?? 0);
		if (empty($value))
		{
			continue;
		}

		if (
			$id === PermissionDictionary::CATALOG_PRODUCT_READ
		)
		{
			$this->canRead = true;
		}
		elseif (
			$id === PermissionDictionary::CATALOG_PRODUCT_ADD
			|| $id === PermissionDictionary::CATALOG_PRODUCT_EDIT
			|| $id === PermissionDictionary::CATALOG_PRODUCT_DELETE
		)
		{
			$this->canWrite = true;
		}
		elseif ($id === PermissionDictionary::CATALOG_SETTINGS_ACCESS)
		{
			$this->canFullAccess = true;
		}

		if ($this->canRead && $this->canWrite && $this->canFullAccess)
		{
			break;
		}
	}
}