- Модуль: 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;
}