• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/grid/access/iblockrightschecker.php
  • Класс: BitrixIblockGridAccessIblockRightsChecker
  • Вызов: IblockRightsChecker::setRawRows
public function setRawRows(iterable $rawValue): void
	{
		parent::setRawRows($rawValue);

		// preload rights
		if (!empty($rawValue))
		{
			$elementIds = [];
			$sectionIds = [];

			foreach ($this->getRawRows() as $row)
			{
				$id = (int)($row['ID'] ?? 0);
				if ($id <= 0)
				{
					continue;
				}

				$type = $row['ROW_TYPE'] ?? RowType::ELEMENT;
				if ($type === RowType::SECTION)
				{
					$sectionIds[] = $id;
				}
				else
				{
					$elementIds[] = $id;
				}
			}

			// before create getter for rights checker
			$this->getIblockRightsChecker()->preloadRights($elementIds, $sectionIds);
		}
	}