You've already forked joomla_test
							
							first commit
This commit is contained in:
		
							
								
								
									
										167
									
								
								libraries/cms/installer/extension.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								libraries/cms/installer/extension.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,167 @@
 | 
			
		||||
<?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;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Extension object
 | 
			
		||||
 *
 | 
			
		||||
 * @package     Joomla.Libraries
 | 
			
		||||
 * @subpackage  Installer
 | 
			
		||||
 * @since       3.1
 | 
			
		||||
 */
 | 
			
		||||
class JInstallerExtension extends JObject
 | 
			
		||||
{
 | 
			
		||||
	/**
 | 
			
		||||
	 * Filename of the extension
 | 
			
		||||
	 *
 | 
			
		||||
	 * @var    string
 | 
			
		||||
	 * @since  3.1
 | 
			
		||||
	 */
 | 
			
		||||
	public $filename = '';
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Type of the extension
 | 
			
		||||
	 *
 | 
			
		||||
	 * @var    string
 | 
			
		||||
	 * @since  3.1
 | 
			
		||||
	 */
 | 
			
		||||
	public $type = '';
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Unique Identifier for the extension
 | 
			
		||||
	 *
 | 
			
		||||
	 * @var    string
 | 
			
		||||
	 * @since  3.1
 | 
			
		||||
	 */
 | 
			
		||||
	public $id = '';
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * The status of the extension
 | 
			
		||||
	 *
 | 
			
		||||
	 * @var    boolean
 | 
			
		||||
	 * @since  3.1
 | 
			
		||||
	 */
 | 
			
		||||
	public $published = false;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * String representation of client. Valid for modules, templates and languages.
 | 
			
		||||
	 * Set by default to site.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @var    string
 | 
			
		||||
	 * @since  3.1
 | 
			
		||||
	 */
 | 
			
		||||
	public $client = 'site';
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * The group name of the plugin. Not used for other known extension types (only plugins)
 | 
			
		||||
	 *
 | 
			
		||||
	 * @var string
 | 
			
		||||
	 * @since  3.1
 | 
			
		||||
	 */
 | 
			
		||||
	public $group = '';
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * An object representation of the manifest file stored metadata
 | 
			
		||||
	 *
 | 
			
		||||
	 * @var object
 | 
			
		||||
	 * @since  3.1
 | 
			
		||||
	 */
 | 
			
		||||
	public $manifest_cache = null;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * An object representation of the extension params
 | 
			
		||||
	 *
 | 
			
		||||
	 * @var    object
 | 
			
		||||
	 * @since  3.1
 | 
			
		||||
	 */
 | 
			
		||||
	public $params = null;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Constructor
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param   SimpleXMLElement  $element  A SimpleXMLElement from which to load data from
 | 
			
		||||
	 *
 | 
			
		||||
	 * @since  3.1
 | 
			
		||||
	 */
 | 
			
		||||
	public function __construct(SimpleXMLElement $element = null)
 | 
			
		||||
	{
 | 
			
		||||
		if ($element)
 | 
			
		||||
		{
 | 
			
		||||
			$this->type = (string) $element->attributes()->type;
 | 
			
		||||
			$this->id = (string) $element->attributes()->id;
 | 
			
		||||
 | 
			
		||||
			switch ($this->type)
 | 
			
		||||
			{
 | 
			
		||||
				case 'component':
 | 
			
		||||
					// By default a component doesn't have anything
 | 
			
		||||
					break;
 | 
			
		||||
 | 
			
		||||
				case 'module':
 | 
			
		||||
				case 'template':
 | 
			
		||||
				case 'language':
 | 
			
		||||
					$this->client = (string) $element->attributes()->client;
 | 
			
		||||
					$tmp_client_id = JApplicationHelper::getClientInfo($this->client, 1);
 | 
			
		||||
 | 
			
		||||
					if ($tmp_client_id == null)
 | 
			
		||||
					{
 | 
			
		||||
						JLog::add(JText::_('JLIB_INSTALLER_ERROR_EXTENSION_INVALID_CLIENT_IDENTIFIER'), JLog::WARNING, 'jerror');
 | 
			
		||||
					}
 | 
			
		||||
					else
 | 
			
		||||
					{
 | 
			
		||||
						$this->client_id = $tmp_client_id->id;
 | 
			
		||||
					}
 | 
			
		||||
					break;
 | 
			
		||||
 | 
			
		||||
				case 'plugin':
 | 
			
		||||
					$this->group = (string) $element->attributes()->group;
 | 
			
		||||
					break;
 | 
			
		||||
 | 
			
		||||
				default:
 | 
			
		||||
					// Catch all
 | 
			
		||||
					// Get and set client and group if we don't recognise the extension
 | 
			
		||||
					if ($element->attributes()->client)
 | 
			
		||||
					{
 | 
			
		||||
						$this->client_id = JApplicationHelper::getClientInfo($this->client, 1);
 | 
			
		||||
						$this->client_id = $this->client_id->id;
 | 
			
		||||
					}
 | 
			
		||||
					if ($element->attributes()->group)
 | 
			
		||||
					{
 | 
			
		||||
						$this->group = (string) $element->attributes()->group;
 | 
			
		||||
					}
 | 
			
		||||
					break;
 | 
			
		||||
			}
 | 
			
		||||
			$this->filename = (string) $element;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Deprecated class placeholder. You should use JInstallerExtension instead.
 | 
			
		||||
 *
 | 
			
		||||
 * @package     Joomla.Libraries
 | 
			
		||||
 * @subpackage  Installer
 | 
			
		||||
 * @since       3.1
 | 
			
		||||
 * @deprecated  4.0
 | 
			
		||||
 * @codeCoverageIgnore
 | 
			
		||||
 */
 | 
			
		||||
class JExtension extends JInstallerExtension
 | 
			
		||||
{
 | 
			
		||||
	/**
 | 
			
		||||
	 * Constructor
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param   SimpleXMLElement  $element  A SimpleXMLElement from which to load data from
 | 
			
		||||
	 *
 | 
			
		||||
	 * @since  3.1
 | 
			
		||||
	 */
 | 
			
		||||
	public function __construct(SimpleXMLElement $element = null)
 | 
			
		||||
	{
 | 
			
		||||
		parent::__construct($element);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user