class Horde_Element_Module_Installer
implements Horde_Element_Module
{
+ private $_run;
+
public function getOptionGroupTitle()
{
return 'Installer';
$element = basename(realpath($arguments[0]));
$root_path = dirname(realpath($arguments[0]));
+ $this->_run = array();
+
$this->_installHordeDependency(
$installer,
$pear_config,
$dependencies = $pkg->getDeps();
foreach ($dependencies as $dependency) {
if (isset($dependency['channel']) && $dependency['channel'] != 'pear.horde.org') {
+ $key = $dependency['channel'] . '/' . $dependency['name'];
+ if (in_array($key, $this->_run)) {
+ continue;
+ }
$installer->doInstall(
'install',
array(
),
array($dependency['name'])
);
+ $this->_run[] = $key;
} else if (isset($dependency['channel'])) {
+ $key = $dependency['channel'] . '/' . $dependency['name'];
+ if (in_array($key, $this->_run)) {
+ continue;
+ }
+ $this->_run[] = $key;
$this->_installHordeDependency(
$installer,
$pear_config,
);
}
}
+ if (in_array($package_file, $this->_run)) {
+ return;
+ }
$installer->doInstall(
'install',
array('nodeps' => true),
array($package_file)
);
+ $this->_run[] = $package_file;
}
}