• Модуль: fileman
  • Путь к файлу: ~/bitrix/modules/fileman/lib/block/editor.php
  • Класс: BitrixFilemanBlockEditor
  • Вызов: Editor::getComponentListPlain
protected function getComponentListPlain($list)
{
	$result = array();
	$path = null;

	if(!is_array($list))
	{
		return $result;
	}

	if(isset($list['@']))
	{
		$path = $list['@'];
	}

	if(isset($list['*']))
	{
		$componentList = array();
		foreach($list['*'] as $componentName => $componentData)
		{
			$componentData['TREE_PATH'] = array($path);
			$componentList[$componentName] = $componentData;
		}
		return $componentList;
	}

	if(isset($list['#']))
	{
		foreach($list['#'] as $key => $item)
		{
			$resultItem = static::getComponentListPlain($item);
			if(is_array($resultItem) && is_array($path))
			{
				foreach($resultItem as $componentName => $componentData)
				{
					if(!isset($componentData['TREE_PATH']))
					{
						$componentData['TREE_PATH'] = array();
					}
					$resultItem[$componentName]['TREE_PATH'] = array_merge(array($path), $componentData['TREE_PATH']);
				}
			}

			$result = array_merge($result, $resultItem);
		}
	}

	return $result;
}