• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/bitrix24disk/legacy/newdiskstorage.php
  • Класс: BitrixDiskBitrix24DiskLegacyNewDiskStorage
  • Вызов: NewDiskStorage::buildTree
private function buildTree(): void
{
	TreeNode::$__pathNodes = [];
	$this->treeData = [];

	[$firstLevelLinks, $firstLevelLinksVersion] = $this->buildSelfTree();
	[$deepLinks, $deepLinksVersion] = $this->buildTreeFromFirstLevelLinks($firstLevelLinks);
	[$theDeepestLinks, $theDeepestLinksVersion] = $this->buildTreeRecursiveFromLinks($deepLinks);

	$this->treeVersion = max($firstLevelLinksVersion, $deepLinksVersion, $theDeepestLinksVersion);

	foreach ($firstLevelLinks as $node)
	{
		if (isset($this->treeData[$node->realObjectId]))
		{
			$this->treeData[$node->realObjectId]->setLink($node);
		}
	}
	foreach ($deepLinks as $node)
	{
		if (isset($this->treeData[$node->realObjectId]))
		{
			$this->treeData[$node->realObjectId]->setLink($node);
		}
	}
	foreach ($theDeepestLinks as $node)
	{
		if (isset($this->treeData[$node->realObjectId]))
		{
			$this->treeData[$node->realObjectId]->setLink($node);
		}
	}
}