• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/volume/base.php
  • Класс: BitrixDiskVolumeBase
  • Вызов: Base::restoreFilter
public function restoreFilter($measurementResult): self
{
	$restoringFields = [
		'STORAGE_ID',
		'MODULE_ID',
		'FOLDER_ID',
		'PARENT_ID',
		'USER_ID',
		'GROUP_ID',
		'ENTITY_TYPE',
		'ENTITY_ID',
		'IBLOCK_ID',
		'TYPE_FILE',
	];

	if (is_array($measurementResult) && isset($measurementResult['ID']))
	{
		$this->setFilterId($measurementResult['ID']);

		foreach ((array)$measurementResult as $key => $value)
		{
			if (!in_array($key, $restoringFields))
			{
				continue;
			}
			if (!is_null($value))
			{
				$this->addFilter("=$key", $value);
			}
		}
	}
	else
	{
		$this->setFilterId((int)$measurementResult);

		$parameter = [
			'select' => $restoringFields,
			'filter' => [
				'=OWNER_ID' => $this->getOwner(),
				'=ID' => $this->getFilterId(),
			],
		];
		$row = VolumeTable::getList($parameter)->fetch();
		foreach ($row as $key => $value)
		{
			if (!is_null($value))
			{
				$this->addFilter("=$key", $value);
			}
		}
	}

	return $this;
}