Beispiel #1
0
 function parse($data, $file)
 {
     if (PEAR::isError($err = parent::parse($data, $file))) {
         return $err;
     }
     $ret = new PEAR_ChannelFile();
     $ret->setConfig($this->_config);
     if (isset($this->_logger)) {
         $ret->setLogger($this->_logger);
     }
     $ret->fromArray($this->_unserializedData);
     // make sure the filelist is in the easy to read format needed
     $ret->flattenFilelist();
     $ret->setPackagefile($file, $archive);
     return $ret;
 }
Beispiel #2
0
 /**
  * @param string channel name
  * @param bool whether to strictly retrieve channel names
  * @return PEAR_ChannelFile|false
  * @access private
  */
 function &_getChannel($channel, $noaliases = false)
 {
     $ch = false;
     if ($this->_channelExists($channel, $noaliases)) {
         if (!class_exists('PEAR_ChannelFile')) {
             require_once 'PEAR/ChannelFile.php';
         }
         $ch =& PEAR_ChannelFile::fromArray($this->_channelInfo($channel, $noaliases));
     }
     if ($ch) {
         return $ch;
     }
     if ($this->_getChannelFromAlias($channel) == 'pear.php.net') {
         // the registry is not properly set up, so use defaults
         if (!class_exists('PEAR_ChannelFile')) {
             require_once 'PEAR/ChannelFile.php';
         }
         $pear_channel = new PEAR_ChannelFile();
         $pear_channel->setName('pear.php.net');
         $pear_channel->setAlias('pear');
         $pear_channel->setSummary('PHP Extension and Application Repository');
         $pear_channel->setDefaultPEARProtocols();
         $pear_channel->setBaseURL('REST1.0', 'http://pear.php.net/rest/');
         $pear_channel->setBaseURL('REST1.1', 'http://pear.php.net/rest/');
         return $pear_channel;
     }
     if ($this->_getChannelFromAlias($channel) == 'pecl.php.net') {
         // the registry is not properly set up, so use defaults
         if (!class_exists('PEAR_ChannelFile')) {
             require_once 'PEAR/ChannelFile.php';
         }
         $pear_channel = new PEAR_ChannelFile();
         $pear_channel->setName('pecl.php.net');
         $pear_channel->setAlias('pecl');
         $pear_channel->setSummary('PHP Extension Community Library');
         $pear_channel->setDefaultPEARProtocols();
         $pear_channel->setBaseURL('REST1.0', 'http://pecl.php.net/rest/');
         $pear_channel->setBaseURL('REST1.1', 'http://pecl.php.net/rest/');
         $pear_channel->setValidationPackage('PEAR_Validator_PECL', '1.0');
         return $pear_channel;
     }
     if ($this->_getChannelFromAlias($channel) == '__uri') {
         // the registry is not properly set up, so use defaults
         if (!class_exists('PEAR_ChannelFile')) {
             require_once 'PEAR/ChannelFile.php';
         }
         $private = new PEAR_ChannelFile();
         $private->setName('__uri');
         $private->addFunction('xmlrpc', '1.0', '****');
         $private->setSummary('Pseudo-channel for static packages');
         return $private;
     }
     return $ch;
 }