Use curl to get rates from CurrecyLayer API

This commit is contained in:
Mavyre 2018-05-30 21:14:51 +02:00 committed by GitHub
parent e59a91bdae
commit ace57859e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -626,24 +626,38 @@ class MultiCurrency extends CommonObject
{
global $db,$conf;
$TRate = $response->quotes;
$timestamp = $response->timestamp;
$ch = curl_init('http://apilayer.net/api/live?access_key='.$key.'');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$response = json_decode($response);
if ($response->success)
{
if (self::recalculRates($TRate) >= 0)
{
foreach ($TRate as $currency_code => $rate)
$TRate = $response->quotes;
$timestamp = $response->timestamp;
if (self::recalculRates($TRate) >= 0)
{
$code = substr($currency_code, 3, 3);
$obj = new MultiCurrency($db);
if ($obj->fetch(null, $code) > 0)
foreach ($TRate as $currency_code => $rate)
{
$obj->updateRate($rate);
}
else
{
self::addRateFromDolibarr($code, $rate);
}
}
$code = substr($currency_code, 3, 3);
$obj = new MultiCurrency($db);
if ($obj->fetch(null, $code) > 0)
{
$obj->updateRate($rate);
}
else
{
self::addRateFromDolibarr($code, $rate);
}
}
}
}
else
{
setEventMessages($langs->trans('multicurrency_syncronize_error', $response->error->info), null, 'errors');
}
}