• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/volume/cleaner.php
  • Класс: BitrixDiskVolumeCleaner
  • Вызов: Cleaner::repeatMeasure
static function repeatMeasure(VolumeIVolumeIndicator $indicator): bool
{
	$indicator->resetMeasurementResult();
	$indicator->measure();

	if ($indicator->getFilterValue('STORAGE_ID') > 0)
	{
		if ($indicator::className() != VolumeStorageStorage::className())
		{
			/** @var VolumeIVolumeIndicator $storageIndicator */
			$storageIndicator = new VolumeStorageStorage();
			$storageIndicator->setOwner($indicator->getOwner());

			$storageIndicator->addFilter('STORAGE_ID', $indicator->getFilterValue('STORAGE_ID'));
			$result = $storageIndicator->getMeasurementResult();
			if ($row = $result->fetch())
			{
				$storageIndicator->setFilterId($row['ID']);
			}
			$storageIndicator->measure();
		}

		if ($indicator::className() != VolumeStorageTrashCan::className())
		{
			/** @var VolumeIVolumeIndicator $trashCanIndicator */
			$trashCanIndicator = new VolumeStorageTrashCan();
			$trashCanIndicator->setOwner($indicator->getOwner());

			$trashCanIndicator->addFilter('STORAGE_ID', $indicator->getFilterValue('STORAGE_ID'));
			$result = $trashCanIndicator->getMeasurementResult();
			if ($row = $result->fetch())
			{
				$trashCanIndicator->setFilterId($row['ID']);
			}
			$trashCanIndicator->measure();
		}
	}

	return true;
}