svn: /pear/pear-core/tags/PEAR-1.9.2/PEAR/Frontend/ CLI.php

[email protected] (Helgi Þormar Þorbjörnsson) Fri, 25 Feb 2011 23:40:14 +0000
Newsgroups php.pear.cvs,php.pear.core
Message-ID <[email protected]>
dufuz                                    Fri, 25 Feb 2011 23:40:14 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=308695

Log:
Fixed Bug #17641: pecl-list doesn't sort packages by name [dufuz]

# backported from trunk

Bug: http://pear.php.net/bugs/17641 (unknown) 
      
Changed paths:
    U   pear/pear-core/tags/PEAR-1.9.2/PEAR/Frontend/CLI.php

Modified: pear/pear-core/tags/PEAR-1.9.2/PEAR/Frontend/CLI.php
===================================================================
--- pear/pear-core/tags/PEAR-1.9.2/PEAR/Frontend/CLI.php	2011-02-25 23:35:49 UTC (rev 308694)
+++ pear/pear-core/tags/PEAR-1.9.2/PEAR/Frontend/CLI.php	2011-02-25 23:40:14 UTC (rev 308695)
@@ -415,12 +415,19 @@
                     $this->_tableRow($data['headline'], array('bold' => true), array(1 => array('wrap' => 55)));
                 }

+                $packages = array();
                 foreach($data['data'] as $category) {
-                    foreach($category as $pkg) {
-                        $this->_tableRow($pkg, null, array(1 => array('wrap' => 55)));
+                    foreach($category as $name => $pkg) {
+                        $packages[$pkg[0]] = $pkg;
                     }
                 }

+                $p = array_keys($packages);
+                natcasesort($p);
+                foreach ($p as $name) {
+                    $this->_tableRow($packages[$name], null, array(1 => array('wrap' => 55)));
+                }
+
                 $this->_endTable();
                 break;
             case 'list-all':
@@ -434,13 +441,21 @@
                     $this->_tableRow($data['headline'], array('bold' => true), array(1 => array('wrap' => 55)));
                 }

+                $packages = array();
                 foreach($data['data'] as $category) {
-                    foreach($category as $pkg) {
-                        unset($pkg[4], $pkg[5]);
-                        $this->_tableRow($pkg, null, array(1 => array('wrap' => 55)));
+                    foreach($category as $name => $pkg) {
+                        $packages[$pkg[0]] = $pkg;
                     }
                 }

+                $p = array_keys($packages);
+                natcasesort($p);
+                foreach ($p as $name) {
+                    $pkg = $packages[$name];
+                    unset($pkg[4], $pkg[5]);
+                    $this->_tableRow($pkg, null, array(1 => array('wrap' => 55)));
+                }
+
                 $this->_endTable();
                 break;
             case 'config-show':