svn: /pear/pear-core/trunk/PEAR/Command/ Remote.php
[email protected] (Helgi Þormar Þorbjörnsson) Sat, 31 Jul 2010 14:43:14 +0000
| Newsgroups | php.pear.cvs,php.pear.core |
|---|---|
| Message-ID | <[email protected]> |
dufuz Sat, 31 Jul 2010 14:43:14 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=301745
Log:
Sort searches/list-all/remote-all properly. Fixes Bug #17641 pecl-list doesn't sort packages by name
Bug: http://pear.php.net/bugs/17641 (unknown)
Changed paths:
U pear/pear-core/trunk/PEAR/Command/Remote.php
Modified: pear/pear-core/trunk/PEAR/Command/Remote.php
===================================================================
--- pear/pear-core/trunk/PEAR/Command/Remote.php 2010-07-31 13:35:13 UTC (rev 301744)
+++ pear/pear-core/trunk/PEAR/Command/Remote.php 2010-07-31 14:43:14 UTC (rev 301745)
@@ -286,7 +286,10 @@
if (count($available) == 0) {
$data = '(no packages available yet)';
} else {
- foreach ($available as $name => $info) {
+ $packages = array_keys($available);
+ natcasesort($packages);
+ foreach ($packages as $name) {
+ $info = $available[$name];
$version = (isset($info['stable']) && $info['stable']) ? $info['stable'] : '-n/a-';
$data['data'][] = array($name, $version);
}
@@ -350,17 +353,21 @@
}
$local_pkgs = $reg->listPackages($channel);
- foreach ($available as $name => $info) {
+ $packages = array_keys($available);
+ natcasesort($packages);
+ foreach ($packages as $name) {
+ $info = $available[$name];
$installed = $reg->packageInfo($name, null, $channel);
if (is_array($installed['version'])) {
$installed['version'] = $installed['version']['release'];
}
+
$desc = $info['summary'];
if (isset($params[$name])) {
$desc .= "\n\n".$info['description'];
}
- if (isset($options['mode']))
- {
+
+ if (isset($options['mode'])) {
if ($options['mode'] == 'installed' && !isset($installed['version'])) {
continue;
}
@@ -373,6 +380,7 @@
continue;
}
}
+
$pos = array_search(strtolower($name), $local_pkgs);
if ($pos !== false) {
unset($local_pkgs[$pos]);
@@ -413,7 +421,7 @@
isset($info['deps']) ? $info['deps'] : null,
);
}
- $data['data'][$info['category']][] = $packageinfo;
+ $data['data']['all'][] = $packageinfo;
}
if (isset($options['mode']) && in_array($options['mode'], array('notinstalled', 'upgrades'))) {
@@ -532,7 +540,10 @@
$available = array();
}
- foreach ($available as $name => $info) {
+ $packages = array_keys($available);
+ natcasesort($packages);
+ foreach ($packages as $name) {
+ $info = $available[$name];
$installed = $reg->packageInfo($name, null, $channel);
$desc = $info['summary'];
if (isset($params[$name]))
@@ -566,7 +577,7 @@
$desc,
);
}
- $data['data'][$info['category']][] = $packageinfo;
+ $data['data']['all'][] = $packageinfo;
}
$this->ui->outputData($data, $command);