Пример #1
0
	function getExtraFieldsFromINI($path, $iniFileName, $recurse = false, $fullPath = false, $i18n = false)
	{
		$fields = array();

		$iniFileName = basename($iniFileName);
		if (empty($iniFileName))
			return $fields;
		
		$filePath = JPATH_ROOT . DS . $path . DS . $iniFileName;
		if ($i18n)
			$filePath = AriAppUtils::getLocalizedFileName($filePath);
		
		if (!@file_exists($filePath) || !is_file($filePath) || !is_readable($filePath))
			return $fields;
			
		$iniFields = parse_ini_file($filePath, true);
		if (empty($iniFields))
			return $fields;
			
		foreach ($iniFields as $secName => $secItems)
		{
			$prop = strtolower($secName);
			foreach ($secItems as $itemKey => $itemValue)
			{
				$key = $itemKey;
				if ($fullPath)
					$key = $path . DS . $key;
				if (!isset($fields[$key]))
					$fields[$key] = array();
					
				$fields[$key][$prop] = $itemValue;
			}
		}
		
		if ($recurse)
		{
			$subFolders = JFolder::folders($path);
			foreach ($subFolders as $subFolder)
			{
				$subFolderFields = AriAppUtils::getExtraFieldsFromINI($path . DS . $subFolder, $iniFileName, $recurse, $fullPath);
				if (count($subFolderFields) > 0)
					$fields = array_merge($fields, $subFolderFields);
			}
		}
	
		return $fields;
	}
	function getDescriptions($fileName, $path)
	{
		$data = array();
		$filePath = AriAppUtils::getLocalizedFileName($path . DS . $fileName);

		if (empty($fileName) || @!file_exists($filePath) || !@is_readable($filePath))
			return $data;

		$csvParser = new AriCSVParser();
		$csvParser->auto($filePath);
		$csvData = $csvParser->data;
		
		if (!empty($csvData))
		{
			foreach ($csvData as $csvDataItem)
			{
				if (isset($csvDataItem['File']))
					$data[$csvDataItem['File']] = $csvDataItem;
			}
		}

		return $data;
	}