Skip to content
Snippets Groups Projects
Commit 42f0c93c authored by Till Brehm's avatar Till Brehm
Browse files

Fixed: FS#3888 - APS installer: String could not be parsed as XML

parent d94b1e27
No related branches found
No related tags found
1 merge request!185Stable 3.0.5
...@@ -189,6 +189,8 @@ class ApsCrawler extends ApsBase ...@@ -189,6 +189,8 @@ class ApsCrawler extends ApsBase
curl_setopt($conn[$i], CURLOPT_TIMEOUT, 0); curl_setopt($conn[$i], CURLOPT_TIMEOUT, 0);
curl_setopt($conn[$i], CURLOPT_FAILONERROR, 1); curl_setopt($conn[$i], CURLOPT_FAILONERROR, 1);
curl_setopt($conn[$i], CURLOPT_FOLLOWLOCATION, 1); curl_setopt($conn[$i], CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($conn[$i], CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($conn[$i], CURLOPT_SSL_VERIFYPEER, false);
curl_multi_add_handle($mh, $conn[$i]); curl_multi_add_handle($mh, $conn[$i]);
} }
...@@ -283,6 +285,7 @@ class ApsCrawler extends ApsBase ...@@ -283,6 +285,7 @@ class ApsCrawler extends ApsBase
$apps_count = substr_count($apps[$j], '<opensearch:totalResults>0</opensearch:totalResults>'); $apps_count = substr_count($apps[$j], '<opensearch:totalResults>0</opensearch:totalResults>');
if($apps_count == 0) // obviously this vendor provides one or more apps if($apps_count == 0) // obviously this vendor provides one or more apps
{ {
try {
// Rename namespaces and register them // Rename namespaces and register them
$xml = str_replace("xmlns=", "ns=", $apps[$j]); $xml = str_replace("xmlns=", "ns=", $apps[$j]);
$sxe = new SimpleXMLElement($xml); $sxe = new SimpleXMLElement($xml);
...@@ -456,9 +459,15 @@ class ApsCrawler extends ApsBase ...@@ -456,9 +459,15 @@ class ApsCrawler extends ApsBase
unset($sxe); unset($sxe);
$apps_in_repo++; $apps_in_repo++;
} catch (Exception $e) {
// We dont want the crawler to fail on xml parse errors
$app->log($this->log_prefix.$e->getMessage(), LOGLEVEL_WARN);
//echo 'Caught exception: ', $e->getMessage(), "\n";
}
} }
} }
//var_dump($apps); //var_dump($apps);
//echo print_r($apps_to_dl).'<br>-------------------<br>';
// For memory reasons, unset the current vendor and his apps // For memory reasons, unset the current vendor and his apps
unset($apps); unset($apps);
......
...@@ -554,6 +554,7 @@ class ApsInstaller extends ApsBase ...@@ -554,6 +554,7 @@ class ApsInstaller extends ApsBase
curl_setopt($conn[$i], CURLOPT_TIMEOUT, 0); curl_setopt($conn[$i], CURLOPT_TIMEOUT, 0);
curl_setopt($conn[$i], CURLOPT_FAILONERROR, 1); curl_setopt($conn[$i], CURLOPT_FAILONERROR, 1);
curl_setopt($conn[$i], CURLOPT_FOLLOWLOCATION, 1); curl_setopt($conn[$i], CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($conn[$i], CURLOPT_SSL_VERIFYPEER, 0);
curl_multi_add_handle($mh, $conn[$i]); curl_multi_add_handle($mh, $conn[$i]);
} }
...@@ -696,6 +697,7 @@ class ApsInstaller extends ApsBase ...@@ -696,6 +697,7 @@ class ApsInstaller extends ApsBase
curl_setopt($ch, CURLOPT_TIMEOUT, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 0);
curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
if(curl_exec($ch) === false) $app->log(curl_error($ch), 1); if(curl_exec($ch) === false) $app->log(curl_error($ch), 1);
fclose($fh); fclose($fh);
curl_close($ch); curl_close($ch);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment