• Модуль: lists
  • Путь к файлу: ~/bitrix/modules/lists/lib/importer.php
  • Класс: BitrixListsImporter
  • Вызов: Importer::loadDataProcesses
static function loadDataProcesses($lang, $systemProcesses = true, &$fileData, $path = null)
{
	if (empty($lang))
		throw new MainArgumentNullException("lang");

	if(in_array($lang, self::$listRuLanguage))
		$lang = 'ru';

	if(!empty($path))
	{
		$path = rtrim($path, "/");
		$path = $path."/";
	}
	else
	{
		$path = self::getPathToProcesses($lang, $systemProcesses);
	}

	$dir = new MainIODirectory($path);
	if (!$dir->isExists() && $lang === 'en')
	{
		return;
	}

	if ($dir->isExists())
	{
		$children = $dir->getChildren();
		foreach ($children as $key => $child)
		{
			/** @var MainIOFile $child */
			if ($child->isFile() && ($child->getExtension() == "prc"))
			{
				$data = self::getDataProcess($path.$child->getName());
				$fileData[$data['CODE']]['FILE_NAME'] = $child->getName();
				$fileData[$data['CODE']]['FILE_PATH'] = str_replace(MainLoader::getDocumentRoot(), '', $child->getPath());
				$fileData[$data['CODE']]['NAME'] = $data['NAME'];
				$fileData[$data['CODE']]['DESCRIPTION'] = $data['DESCRIPTION'];
				$fileData[$data['CODE']]['CODE'] = $data['CODE'];
				$fileData[$data['CODE']]['IBLOCK_TYPE_ID'] = $data['IBLOCK_TYPE_ID'];
				$fileData[$data['CODE']]['DIRECTORY_NAME'] = $child->getDirectory()->getName();
			}
			elseif($child->isDirectory())
			{
				self::loadDataProcesses($lang, $systemProcesses, $fileData, $child->getPath());
			}
		}
	}
	else
	{
		$path = self::getPathToProcesses("en", $systemProcesses);
		self::loadDataProcesses('en', $systemProcesses, $fileData, $path);
	}
}