/** * 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'];