From 4e0a2093525c022e5ce7320a6b0739efe45ded47 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 02 Oct 2012 11:19:40 -0400
Subject: [PATCH] Fixed: FS#2431 - APS list update failed.
---
interface/lib/classes/aps_crawler.inc.php | 21 +++++++++++++++++----
1 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/interface/lib/classes/aps_crawler.inc.php b/interface/lib/classes/aps_crawler.inc.php
index 99e675f..25a700f 100644
--- a/interface/lib/classes/aps_crawler.inc.php
+++ b/interface/lib/classes/aps_crawler.inc.php
@@ -200,11 +200,12 @@
* A method to build query URLs out of a list of vendors
*
*/
- private function formatVendorCallback($array_item, $key)
+ private function formatVendorCallback($array_item)
{
$array_item = str_replace(' ', '%20', $array_item);
$array_item = str_replace('http://', '', $array_item);
$array_item = '/'.$this->aps_version.'.atom?vendor='.$array_item.'&pageSize=100';
+ return($array_item);
}
/**
@@ -227,7 +228,12 @@
if(!$vendors) throw new Exception('Unable to fetch vendors. Aborting');
// Format all vendors for further processing (i.e. typo3.org -> /1.atom?vendor=typo3.org&pageSize=100
- array_walk($vendors, array($this, 'formatVendorCallback'));
+ //array_walk($vendors, array($this, 'formatVendorCallback'));
+ if(is_array($vendors)) {
+ foreach($vendors as $key => $array_item) {
+ $vendors[$key] = $this->formatVendorCallback($array_item);
+ }
+ }
// Process all vendors in chunks of 50 entries
$vendor_chunks = array_chunk($vendors, 50);
@@ -273,9 +279,16 @@
// Find out a (possibly) existing package version
$ex_ver = '';
+ /*
array_walk($existing_apps,
- create_function('$v, $k, $ex_ver', 'if($v["Name"] == "'.$app_name.'") $ex_ver = $v["CurrentVersion"];'), $ex_ver);
-
+ create_function('$v, $k, $ex_ver', 'if($v["Name"] == "'.$app_name.'") $ex_ver = $v["CurrentVersion"];'), &$ex_ver);
+ */
+ if(is_array($existing_apps)) {
+ foreach($existing_apps as $k => $v) {
+ if($v["Name"] == $app_name) $ex_ver = $v["CurrentVersion"];
+ }
+ }
+
$new_ver = $app_version.'-'.$app_release;
$local_intf_folder = $this->interface_pkg_dir.'/'.$app_name.'-'.$new_ver.'.app.zip/';
--
Gitblit v1.9.1