Back to InstallerExtension class

Method __construct

public
__construct
(\SimpleXMLElement $element = null)
Constructor
Parameters
  • \SimpleXMLElement $element A SimpleXMLElement from which to load data from
Since
  • 3.1

Method __construct - Source code

/**
 * 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 = ApplicationHelper::getClientInfo($this->client, 1);
                if ($tmp_client_id == null) {
                    Log::add(Text::_('JLIB_INSTALLER_ERROR_EXTENSION_INVALID_CLIENT_IDENTIFIER'), Log::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 = ApplicationHelper::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;
    }
}