diff --git a/htdocs/admin/multicurrency.php b/htdocs/admin/multicurrency.php
index fbf6603d139..fa622a7ee81 100644
--- a/htdocs/admin/multicurrency.php
+++ b/htdocs/admin/multicurrency.php
@@ -109,9 +109,18 @@ elseif ($action == 'update_currency')
}
}
}
-elseif ($action == 'synchronize')
+elseif ($action == 'setapilayer')
{
- MultiCurrency::syncRates($conf->global->MULTICURRENCY_APP_ID);
+ if (GETPOSTISSET('modify_apilayer'))
+ {
+ dolibarr_set_const($db, 'MULTICURRENCY_APP_ID', GETPOST('MULTICURRENCY_APP_ID', 'alpha'));
+ dolibarr_set_const($db, 'MULTICURRENCY_APP_SOURCE', GETPOST('MULTICURRENCY_APP_SOURCE', 'alpha'));
+ dolibarr_set_const($db, 'MULTICURRENCY_ALTERNATE_SOURCE', GETPOST('MULTICURRENCY_ALTERNATE_SOURCE', 'alpha'));
+ }
+ else
+ {
+ MultiCurrency::syncRates($conf->global->MULTICURRENCY_APP_ID);
+ }
}
@@ -177,17 +186,20 @@ if ($conf->use_javascript_ajax) {
}
print '';
-//Online payment with currency on document
-print '
';
-print '| '.$langs->transnoentitiesnoconv("multicurrency_useCurrency").' | ';
-print '';
-if ($conf->use_javascript_ajax) {
- print ajax_constantonoff('MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT');
-} else {
- $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
- print $form->selectarray("MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT", $arrval, $conf->global->MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT);
+// Online payment with currency on document. This option should be on by default.
+if ($conf->global->MAIN_FEATURES_LEVEL >= 2)
+{
+ print ' |
';
+ print '| '.$langs->transnoentitiesnoconv("MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT").' | ';
+ print '';
+ if ($conf->use_javascript_ajax) {
+ print ajax_constantonoff('MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT');
+ } else {
+ $arrval = array('0' => $langs->trans("No"), '1' => $langs->trans("Yes"));
+ print $form->selectarray("MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT", $arrval, $conf->global->MULTICURRENCY_USE_CURRENCY_ON_DOCUMENT);
+ }
+ print ' |
';
}
-print '';
/* TODO uncomment when the functionality will integrated
@@ -224,59 +236,48 @@ print '
';
if (!empty($conf->global->MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION))
{
+ print '';
+}
print '';
-print '
-
-';
// End of page
llxFooter();
diff --git a/htdocs/langs/en_US/multicurrency.lang b/htdocs/langs/en_US/multicurrency.lang
index 47c5590b862..68791b41320 100644
--- a/htdocs/langs/en_US/multicurrency.lang
+++ b/htdocs/langs/en_US/multicurrency.lang
@@ -7,10 +7,10 @@ multicurrency_syncronize_error=Synchronization error: %s
MULTICURRENCY_USE_RATE_ON_DOCUMENT_DATE=Use the date of the document to find the currency rate, instead of using the latest known rate
multicurrency_useOriginTx=When an object is created from another, keep the original rate from the source object (otherwise use the latest known rate)
CurrencyLayerAccount=CurrencyLayer API
-CurrencyLayerAccount_help_to_synchronize=You must create an account on their website to use this functionality.
Get your API key.
If you use a free account you can't change the currency source (USD by default).
If your main currency is not USD you can use the alternate currency source to force your main currency.
You are limited to 1000 synchronizations per month.
+CurrencyLayerAccount_help_to_synchronize=You must create an account on website %s to use this functionality.
Get your API key.
If you use a free account you can't change the currency source (USD by default).
If your main currency is not USD you can use the alternate currency source to force your main currency.
You are limited to 1000 synchronizations per month.
multicurrency_appId=API key
-multicurrency_appCurrencySource=Currency source
-multicurrency_alternateCurrencySource=Alternate currency source
+multicurrency_appCurrencySource=Source currency
+multicurrency_alternateCurrencySource=Alternate source currency
CurrenciesUsed=Currencies used
CurrenciesUsed_help_to_add=Add the different currencies and rates you need to use on your proposals, orders etc.
rate=rate
diff --git a/htdocs/multicurrency/class/multicurrency.class.php b/htdocs/multicurrency/class/multicurrency.class.php
index ea39cb85b8e..7cb73686fc5 100644
--- a/htdocs/multicurrency/class/multicurrency.class.php
+++ b/htdocs/multicurrency/class/multicurrency.class.php
@@ -633,7 +633,11 @@ class MultiCurrency extends CommonObject
{
global $conf, $db, $langs;
- $ch = curl_init('http://apilayer.net/api/live?access_key='.$key.'');
+ $urlendpoint = 'http://apilayer.net/api/live?access_key='.$key;
+ dol_syslog("Call url endpoint ".$urlendpoint);
+
+ // TODO Use getURLContent() function instead.
+ $ch = curl_init($urlendpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
@@ -663,6 +667,7 @@ class MultiCurrency extends CommonObject
}
else
{
+ dol_syslog("Failed to call endpoint ".$response->error->info, LOG_WARNING);
setEventMessages($langs->trans('multicurrency_syncronize_error', $response->error->info), null, 'errors');
}
}