• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/bitrix24disk/legacy/newdiskstorage.php
  • Класс: BitrixDiskBitrix24DiskLegacyNewDiskStorage
  • Вызов: NewDiskStorage::workFromState
protected function workFromState(PageState $pageState, FixedArray $items, PageState &$newPageState, $internalVersion)
{
	foreach($this->getStepSlice($pageState->getStep()) as $stepName => $stepData)
	{
		$this->runStep($stepName, array(
			$items, $newPageState, $internalVersion, $this::SNAPSHOT_PAGE_SIZE - $items->getCountOfPushedElements()
		));

		if($items->getCountOfPushedElements() === self::SNAPSHOT_PAGE_SIZE && ($newPageState->hasCursor() ||$newPageState->hasNextId()))
		{
			//same step, next page
			return;
		}

		$nextStep = $this->getNextStep($stepName);
		if($nextStep)
		{
			//next step, first page
			$newPageState->setStep(key($nextStep));
		}

		if($items->getCountOfPushedElements() === self::SNAPSHOT_PAGE_SIZE && $nextStep)
		{
			return;
		}
	}
	//last page
	$newPageState = null;

	return;
}