From 4e0a2093525c022e5ce7320a6b0739efe45ded47 Mon Sep 17 00:00:00 2001 From: tbrehm Date: Tue, 2 Oct 2012 15:19:40 +0000 Subject: [PATCH] Fixed: FS#2431 - APS list update failed. --- interface/lib/classes/aps_crawler.inc.php | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/interface/lib/classes/aps_crawler.inc.php b/interface/lib/classes/aps_crawler.inc.php index 99e675f14..25a700f13 100644 --- a/interface/lib/classes/aps_crawler.inc.php +++ b/interface/lib/classes/aps_crawler.inc.php @@ -200,11 +200,12 @@ class ApsCrawler extends ApsBase * 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 @@ class ApsCrawler extends ApsBase 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 @@ class ApsCrawler extends ApsBase // 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/'; -- GitLab