You've already forked joomla_test
							
							
		
			
				
	
	
		
			142 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * @package     Joomla.Libraries
 | 
						|
 * @subpackage  Installer
 | 
						|
 *
 | 
						|
 * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
 | 
						|
 * @license     GNU General Public License version 2 or later; see LICENSE
 | 
						|
 */
 | 
						|
 | 
						|
defined('JPATH_PLATFORM') or die;
 | 
						|
 | 
						|
jimport('joomla.filesystem.file');
 | 
						|
 | 
						|
/**
 | 
						|
 * Joomla! Package Manifest File
 | 
						|
 *
 | 
						|
 * @package     Joomla.Libraries
 | 
						|
 * @subpackage  Installer
 | 
						|
 * @since       3.1
 | 
						|
 */
 | 
						|
abstract class JInstallerManifest
 | 
						|
{
 | 
						|
	/**
 | 
						|
	 * Path to the manifest file
 | 
						|
	 *
 | 
						|
	 * @var    string
 | 
						|
	 * @since  3.1
 | 
						|
	 */
 | 
						|
	public $manifest_file = '';
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Name of the extension
 | 
						|
	 *
 | 
						|
	 * @var    string
 | 
						|
	 * @since  3.1
 | 
						|
	 */
 | 
						|
	public $name = '';
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Version of the extension
 | 
						|
	 *
 | 
						|
	 * @var    string
 | 
						|
	 * @since  3.1
 | 
						|
	 */
 | 
						|
	public $version = '';
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Description of the extension
 | 
						|
	 *
 | 
						|
	 * @var    string
 | 
						|
	 * @since  3.1
 | 
						|
	 */
 | 
						|
	public $description = '';
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Packager of the extension
 | 
						|
	 *
 | 
						|
	 * @var    string
 | 
						|
	 * @since  3.1
 | 
						|
	 */
 | 
						|
	public $packager = '';
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Packager's URL of the extension
 | 
						|
	 *
 | 
						|
	 * @var    string
 | 
						|
	 * @since  3.1
 | 
						|
	 */
 | 
						|
	public $packagerurl = '';
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Update site for the extension
 | 
						|
	 *
 | 
						|
	 * @var    string
 | 
						|
	 * @since  3.1
 | 
						|
	 */
 | 
						|
	public $update = '';
 | 
						|
 | 
						|
	/**
 | 
						|
	 * List of files in the extension
 | 
						|
	 *
 | 
						|
	 * @var    array
 | 
						|
	 * @since  3.1
 | 
						|
	 */
 | 
						|
	public $filelist = array();
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Constructor
 | 
						|
	 *
 | 
						|
	 * @param   string  $xmlpath  Path to XML manifest file.
 | 
						|
	 *
 | 
						|
	 * @since   3.1
 | 
						|
	 */
 | 
						|
	public function __construct($xmlpath = '')
 | 
						|
	{
 | 
						|
		if (strlen($xmlpath))
 | 
						|
		{
 | 
						|
			$this->loadManifestFromXML($xmlpath);
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Load a manifest from a file
 | 
						|
	 *
 | 
						|
	 * @param   string  $xmlfile  Path to file to load
 | 
						|
	 *
 | 
						|
	 * @return  boolean
 | 
						|
	 *
 | 
						|
	 * @since   3.1
 | 
						|
	 */
 | 
						|
	public function loadManifestFromXML($xmlfile)
 | 
						|
	{
 | 
						|
		$this->manifest_file = basename($xmlfile, '.xml');
 | 
						|
 | 
						|
		$xml = simplexml_load_file($xmlfile);
 | 
						|
 | 
						|
		if (!$xml)
 | 
						|
		{
 | 
						|
			$this->_errors[] = JText::sprintf('JLIB_INSTALLER_ERROR_LOAD_XML', $xmlfile);
 | 
						|
 | 
						|
			return false;
 | 
						|
		}
 | 
						|
		else
 | 
						|
		{
 | 
						|
			$this->loadManifestFromData($xml);
 | 
						|
 | 
						|
			return true;
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Apply manifest data from a SimpleXMLElement to the object.
 | 
						|
	 *
 | 
						|
	 * @param   SimpleXMLElement  $xml  Data to load
 | 
						|
	 *
 | 
						|
	 * @return  void
 | 
						|
	 *
 | 
						|
	 * @since   3.1
 | 
						|
	 */
 | 
						|
	abstract protected function loadManifestFromData(SimpleXmlElement $xml);
 | 
						|
}
 |