JInstaller/discover install
From Joomla! Documentation
< API16:JInstaller
The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
<! removed transcluded page call, red link never existed >
Syntax[edit]
discover_install($eid=null)
Parameter Name | Default Value | Description |
---|---|---|
$eid | null |
Defined in[edit]
libraries/joomla/installer/installer.php
Importing[edit]
jimport( 'joomla.installer.installer' );
Source Body[edit]
function discover_install($eid=null)
{
if ($eid)
{
$this->extension =& JTable::getInstance('extension');
if (!$this->extension->load($eid))
{
$this->abort(JText::_('Failed to load extension details'));
return false;
}
if ($this->extension->state != -1)
{
$this->abort(JText::_('Extension is already installed'));
return false;
}
// Lazy load the adapter
if (!isset($this->_adapters[$this->extension->type]) || !is_object($this->_adapters[$this->extension->type]))
{
if (!$this->setAdapter($this->extension->type)) {
return false;
}
}
if (is_object($this->_adapters[$this->extension->type]))
{
if (method_exists($this->_adapters[$this->extension->type], 'discover_install'))
{
// Fire the onBeforeExtensionInstall event.
JPluginHelper::importPlugin('installer');
$dispatcher =& JDispatcher::getInstance();
$dispatcher->trigger('onBeforeExtensionInstall', array('method'=>'discover_install', 'type'=>$this->extension->get('type'), 'manifest'=>null, 'extension'=>$this->extension->get('extension_id')));
// Run the install
$result = $this->_adapters[$this->extension->type]->discover_install();
// Fire the onAfterExtensionInstall
$dispatcher->trigger('onAfterExtensionInstall', array('installer'=>clone $this, 'eid'=> $result));
if ($result !== false) return true; else return false;
}
else
{
$this->abort(JText::_('Method not supported for this extension type'));
return false;
}
}
return false;
}
else
{
$this->abort(JText::_('Extension is not a valid'));
return false;
}
}
<! removed transcluded page call, red link never existed >
Examples[edit]
Code Examples[edit]