• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/location/import/compiler/db/exporttree.php
  • Класс: BitrixSaleLocationImportCompilerDbExportTreeTable
  • Вызов: ExportTreeTable::waklInDeepBundle
private function waklInDeepBundle($callbacks, $ignoreThisAndDeeper = array(), $parentCode = '', $depth = 1)
{
	if($depth > static::RECURSION_MAX_DEPTH)
		throw new MainSystemException('Too deep recursion');

	$res = $this->getList(array('filter' => array('PARENT_CODE' => $parentCode)));
	while($item = $res->fetch())
	{
		array_push($this->exportPath, $item);

		$goDeeper = true;
		if(call_user_func($callbacks['ITEM'], $item, $this) === false)
			$goDeeper = false;

		if(isset($ignoreThisAndDeeper[$item['TYPE_CODE']]))
			$goDeeper = false;

		if($goDeeper)
			$this->waklInDeepBundle($callbacks, $ignoreThisAndDeeper, $item['CODE'], $depth + 1);

		array_pop($this->exportPath);
	}
}