Exemple #1
0
 /**
  * Output details of one package, info (local)
  *
  * @param array $data array containing all information about the package
  *
  * @return boolean true (yep. i am an optimist)
  */
 function _outputPackageInfo($data)
 {
     $data['data'] = $this->htmlentities_recursive($data['data']);
     if (!isset($data['raw']['channel'])) {
         // package1.xml, channel by default pear
         $channel = 'pear.php.net';
         $package_name = $data['raw']['package'];
     } else {
         $channel = $data['raw']['channel'];
         $package_name = $data['raw']['name'];
     }
     $package = $channel . '/' . $package_name;
     // parse extra options
     if (!in_array($package, $this->_no_delete_pkgs)) {
         $image = sprintf('<img src="%s?img=uninstall" width="18" height="17"  border="0" alt="uninstall">', $_SERVER["PHP_SELF"]);
         $output = sprintf('<a href="%s?command=uninstall&pkg=%s" class="green" %s>%s Uninstall package</a>', $_SERVER["PHP_SELF"], $package, 'onClick="return uninstallPkg(\'' . $package . '\');"', $image);
         $data['data'][] = array('Options', $output);
     }
     $output = '';
     // More: Local Documentation
     require_once 'PEAR/Frontend/Web/Docviewer.php';
     if (count(PEAR_Frontend_Web_Docviewer::getDocFiles($package_name, $channel)) !== 0) {
         $image = sprintf('<img src="%s?img=manual" border="0" alt="manual">', $_SERVER["PHP_SELF"]);
         $output .= sprintf('<a href="%s?command=list-docs&pkg=%s" class="green">%s Package Documentation</a>', $_SERVER["PHP_SELF"], $package, $image);
         $output .= '<br />';
     }
     $output .= sprintf('<a href="%s?command=list-files&pkg=%s" class="green">./.. List Files</a>', $_SERVER["PHP_SELF"], $package);
     $output .= '<br />';
     // More: Extended Package Information
     $image = sprintf('<img src="%s?img=infoplus" border="0" alt="extra info">', $_SERVER["PHP_SELF"]);
     if ($channel == 'pear.php.net' || $channel == 'pecl.php.net') {
         $url = 'http://%s/package/%s/download/%s';
     } else {
         // the normal default
         $url = 'http://%s/index.php?package=%s&release=%s';
     }
     $output .= sprintf('<a href="' . $url . '" class="green" target="_new">%s Extended Package Information</a>', $this->config->get('preferred_mirror', null, $channel), $package_name, $data['raw']['version']['release'], $image);
     // More: Developer Documentation && Package Manual
     if ($channel == 'pear.php.net') {
         $output .= '<br />';
         $image = sprintf('<img src="%s?img=manualplus" border="0" alt="manual">', $_SERVER["PHP_SELF"]);
         $output .= sprintf('<a href="http://pear.php.net/package/%s/docs/latest" class="green" target="_new">%s pear.php.net Developer Documentation</a>', $package_name, $image);
         $output .= '<br />';
         $image = sprintf('<img src="%s?img=manualplus" border="0" alt="manual">', $_SERVER["PHP_SELF"]);
         $output .= sprintf('<a href="http://pear.php.net/manual/en/" class="green" target="_new">%s pear.php.net Package Manual </a>', $image);
     }
     $data['data'][] = array('More', $output);
     return $this->_outputGenericTableVertical($data['caption'], $data['data']);
 }
     }
     require_once 'PEAR/Frontend/Web/Docviewer.php';
     $reg = $config->getRegistry();
     $pkg = $reg->parsePackageName($_GET['pkg']);
     $docview = new PEAR_Frontend_Web_Docviewer($ui);
     $docview->outputListDocs($pkg['package'], $pkg['channel']);
     break;
 case 'doc-show':
     if (!isset($_GET['pkg']) || !isset($_GET['file'])) {
         PEAR::raiseError('The webfrontend-command list-docs needs one \'pkg\' and one \'file\' argument.');
         break;
     }
     require_once 'PEAR/Frontend/Web/Docviewer.php';
     $reg = $config->getRegistry();
     $pkg = $reg->parsePackageName($_GET['pkg']);
     $docview = new PEAR_Frontend_Web_Docviewer($ui);
     $docview->outputDocShow($pkg['package'], $pkg['channel'], $_GET['file']);
     break;
 case 'list-all':
     // Deprecated, use 'list-categories' is used instead
     if (isset($_GET['chan']) && $_GET['chan'] != '') {
         $opts['channel'] = $_GET['chan'];
     }
     $opts['channelinfo'] = true;
     $cmd = PEAR_Command::factory($command, $config);
     $res = $cmd->run($command, $opts, $params);
     break;
 case 'list-categories':
 case 'list-packages':
     if (isset($_GET['chan']) && $_GET['chan'] != '') {
         $opts['channel'] = $_GET['chan'];