1. <?php
  2. //require_once 'varDump.php';
  3. require_once 'PEAR/Config.php';
  4. require_once 'PEAR/Registry.php';
  5.  
  6. $pearConfig =& new PEAR_Config();
  7. $pear_install_dir = $pearConfig->get('php_dir');
  8.  
  9. $pearRegistry = new PEAR_Registry($pear_install_dir);
  10. $packages = $pearRegistry->listPackages();
  11. //varDump($packages, false, 'PEAR listPackages'); exit;
  12.  
  13. $html = '<table cellpadding="4" cellpadding="cellspacing=1" border="1" border="bordercolor=c0c0c0" style="border-collapse: collapse;">';
  14.  
  15. foreach($packages as $package) {
  16.     $info = $pearRegistry->packageInfo($package);
  17.     if (!isset($info['xsdversion'])) {
  18.         error_log($info['package']."\n", 3, 'reg_listpackages_no_xsdversion.log');
  19.     }
  20.  
  21. //    if ($info['xsdversion'] === '1.0') {
  22.     if (isset($info['package'])) {
  23.         $package = $info['package'];
  24.         $version = $info['version'];
  25.         $release_date  = $info['release_date'];
  26.         $release_state = $info['release_state'];
  27.         $description = $info['description'];
  28.         error_log("$package \n", 3, 'reg_listpackages_xsd_1.log');
  29.     } else {
  30.         $package = $info['name'];
  31.         $version = $info['version']['release'];
  32.         $release_date = $info['date'];
  33.         $release_state = $info['stability']['release'];
  34.         $description = $info['description'];
  35.         error_log("$package \n", 3, 'reg_listpackages_xsd_2.log');
  36.     }
  37.  
  38.     $html .= "
  39.     <tr>
  40.     <td><strong>$package</strong><br />
  41.     Version $version<br />
  42.     Released on $release_date<br />
  43.     Release state $release_state</td>
  44.     <td>$description</td>
  45.     </tr>
  46.     ";
  47. }
  48. $html .= '</table>';
  49.  
  50. echo $html;
  51. ?>