/** * PEAR_Command_Auth constructor. * * @access public */ function PEAR_Command_Auth(&$ui, &$config) { parent::PEAR_Command_Channels($ui, $config); }
/** * PEAR_Command_Auth constructor. * * @access public */ function __construct(&$ui, &$config) { parent::__construct($ui, $config); }
/** * Add a channel within the install location. * * @param string $channel The channel name. * @param array $options Install options. * @param string $reason Optional reason for adding the channel. * * @return NULL */ public function addChannel($channel, $options = array(), $reason = '') { $static = $this->_channel_directory . '/' . $channel . '.channel.xml'; if (!file_exists($static)) { if (empty($options['allow_remote'])) { throw new Components_Exception(sprintf('Cannot add channel "%s". Remote access has been disabled (activate with --allow-remote)!', $channel)); } if (!empty($this->_channel_directory)) { $remote = new Horde_Pear_Remote($channel); file_put_contents($static, $remote->getChannel()); $this->_output->warn(sprintf('Downloaded channel %s via network to %s.', $channel, $static)); } } $channel_handler = new PEAR_Command_Channels(new PEAR_Frontend_CLI(), $this->getPearConfig()); $this->_output->ok(sprintf('About to add channel %s%s', $channel, $reason)); if (file_exists($static)) { ob_start(); Components_Exception_Pear::catchError($channel_handler->doAdd('channel-add', array(), array($static))); $this->_output->pear(ob_get_clean()); } else { $this->_output->warn(sprintf('Adding channel %s via network.', $channel)); ob_start(); Components_Exception_Pear::catchError($channel_handler->doDiscover('channel-discover', array(), array($channel))); $this->_output->pear(ob_get_clean()); } $this->_output->ok(sprintf('Successfully added channel %s%s', $channel, $reason)); }