diff --git a/.travis.yml b/.travis.yml index 98dcca4cf20..17c25da09b8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ # from Dolibarr GitHub repository. # For syntax, see http://about.travis-ci.org/docs/user/languages/php/ -# We use dist: precise to have php 5.3 available +# We use dist: trusty to have php 5.4+ available dist: trusty sudo: required @@ -37,7 +37,6 @@ php: - '7.0' - '7.1' - '7.2' -#- hhvm only with dist: trusty - nightly env: @@ -59,10 +58,17 @@ env: matrix: fast_finish: true allow_failures: - - php: hhvm - php: nightly # We exclude some combinations not usefull to save Travis CPU exclude: + - php: '5.5' + env: DB=mariadb + - php: '5.6' + env: DB=mariadb + - php: '7.0' + env: DB=mariadb + - php: '7.1' + env: DB=mariadb - php: '5.5' env: DB=postgresql - php: '5.6' @@ -71,8 +77,6 @@ matrix: env: DB=postgresql - php: '7.1' env: DB=postgresql - - php: hhvm - env: DB=postgresql - php: nightly env: DB=postgresql diff --git a/.tx/config b/.tx/config index db380163540..27327f033ea 100644 --- a/.tx/config +++ b/.tx/config @@ -38,6 +38,12 @@ source_file = htdocs/langs/en_US/bills.lang source_lang = en_US type = MOZILLAPROPERTIES +[dolibarr.blockedlog] +file_filter = htdocs/langs//blockedlog.lang +source_file = htdocs/langs/en_US/blockedlog.lang +source_lang = en_US +type = MOZILLAPROPERTIES + [dolibarr.bookmarks] file_filter = htdocs/langs//bookmarks.lang source_file = htdocs/langs/en_US/bookmarks.lang diff --git a/ChangeLog b/ChangeLog index ceb1d847ddb..2f0d6538e7a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,38 @@ English Dolibarr ChangeLog -------------------------------------------------------------- +***** ChangeLog for 8.0.1 compared to 8.0.0 ***** +FIX: #9258 +FIX: #9328 +FIX: #9337 +FIX: adding GROUP BY for PostgreSQL +FIX: API template for list pages in module builder +FIX: API template for record page to delete a record +FIX: a removed option was still in setup +FIX: badge on time spent on project and tasks +FIX: Delete file on smartphone +FIX: Fetch function will fetch comments +FIX: Fetch task will now fetch comments +FIX: $fk_account is always empty, must be $soc->fk_account +FIX: Force stripe api version to avoid trouble if we update stripe api +FIX: get_product_vat_for_country functions.lib.php +FIX: Get templates in a forced language +FIX: hook on dispatch order fourn +FIX: Language selection lost if error during creation of email template +FIX: Look and feel v8 +FIX: propal.class.php +FIX: Add calls to fetchComments function +FIX: Remove fetchComments from project and task fetch function +FIX: remove internal property isextrafieldmanaged from API returns +FIX: sql error +FIX: table llx_chargessociales doesn't exists +FIX: trans on null object +FIX: vat rate code not returned by get_product_vat_for_country +FIX: warning for late template invoices to remove when suspended +FIX: Add hidden option MAIN_xxx_IN_SOURCE_ADDRESS to solve legal issues on PDF +FIX: Table llx_facture_rec_extrafields missing after migration + + ***** ChangeLog for 8.0.0 compared to 7.0.0 ***** For Users: diff --git a/README.md b/README.md index b68e8b65558..5feec47e56f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # DOLIBARR ERP & CRM -![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/develop.svg) ![Downloads per day](https://img.shields.io/sourceforge/dm/dolibarr.svg) +![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/8.0.svg) ![Downloads per day](https://img.shields.io/sourceforge/dm/dolibarr.svg) Dolibarr ERP & CRM is a modern software package to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda…). diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index 65da8cabfd7..d5a9189229e 100755 --- a/build/rpm/dolibarr_fedora.spec +++ b/build/rpm/dolibarr_fedora.spec @@ -212,6 +212,7 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/supplier_proposal %_datadir/dolibarr/htdocs/support %_datadir/dolibarr/htdocs/theme +%_datadir/dolibarr/htdocs/ticket %_datadir/dolibarr/htdocs/user %_datadir/dolibarr/htdocs/variants %_datadir/dolibarr/htdocs/webservices diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index 2fed89c03f3..673d5919d1a 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -292,6 +292,7 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/supplier_proposal %_datadir/dolibarr/htdocs/support %_datadir/dolibarr/htdocs/theme +%_datadir/dolibarr/htdocs/ticket %_datadir/dolibarr/htdocs/user %_datadir/dolibarr/htdocs/variants %_datadir/dolibarr/htdocs/webservices diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index fb15a2d2d92..e3d2a849db2 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -209,6 +209,7 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/supplier_proposal %_datadir/dolibarr/htdocs/support %_datadir/dolibarr/htdocs/theme +%_datadir/dolibarr/htdocs/ticket %_datadir/dolibarr/htdocs/user %_datadir/dolibarr/htdocs/variants %_datadir/dolibarr/htdocs/webservices diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index 70eba841bd8..5a64bec2e78 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -220,6 +220,7 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/supplier_proposal %_datadir/dolibarr/htdocs/support %_datadir/dolibarr/htdocs/theme +%_datadir/dolibarr/htdocs/ticket %_datadir/dolibarr/htdocs/user %_datadir/dolibarr/htdocs/variants %_datadir/dolibarr/htdocs/webservices diff --git a/dev/translation/sanity_check_en_langfiles.php b/dev/translation/sanity_check_en_langfiles.php index f65cefd7f94..2eedcda8760 100755 --- a/dev/translation/sanity_check_en_langfiles.php +++ b/dev/translation/sanity_check_en_langfiles.php @@ -295,6 +295,9 @@ if ((! empty($_REQUEST['unused']) && $_REQUEST['unused'] == 'true') || (isset($a if (preg_match('/^DescADHERENT_/', $value)) $qualifiedforclean=0; if (preg_match('/^SubmitTranslation/', $value)) $qualifiedforclean=0; if (preg_match('/^ModuleCompanyCode/', $value)) $qualifiedforclean=0; + // admin.lang + if (preg_match('/^DAV_ALLOW_PUBLIC_DIR/i', $value)) $qualifiedforclean=0; + if (preg_match('/^DAV_ALLOW_ECM_DIR/i', $value)) $qualifiedforclean=0; // boxes.lang if (preg_match('/^BoxTitleLast/', $value)) $qualifiedforclean=0; if (preg_match('/^BoxTitleLatest/', $value)) $qualifiedforclean=0; diff --git a/htdocs/accountancy/admin/account.php b/htdocs/accountancy/admin/account.php index 493c9e62717..b38ab56383b 100644 --- a/htdocs/accountancy/admin/account.php +++ b/htdocs/accountancy/admin/account.php @@ -121,6 +121,9 @@ if (empty($reshook)) if ($country_code) { $sqlfile = DOL_DOCUMENT_ROOT.'/install/mysql/data/llx_accounting_account_'.strtolower($country_code).'.sql'; + + // FIXME Get the ADD rowid and pass it + num of comapny * 100 000 000 to run_sql as a new parameter to say to update sql on the fly to add offset to rowid and account_parent value. + $result = run_sql($sqlfile, 1, 0, 1); } diff --git a/htdocs/accountancy/admin/export.php b/htdocs/accountancy/admin/export.php index 79588db5ac1..0308df2f400 100644 --- a/htdocs/accountancy/admin/export.php +++ b/htdocs/accountancy/admin/export.php @@ -5,7 +5,7 @@ * Copyright (C) 2014 Marcos García * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2015 Jean-François Ferry - * Copyright (C) 2017 Frédéric France + * Copyright (C) 2017-2018 Frédéric France * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -50,11 +50,11 @@ $main_option = array ( $configuration = AccountancyExport::getTypeConfig(); -$listparam = $configuration[param]; +$listparam = $configuration['param']; -$listformat = $configuration[format]; +$listformat = $configuration['format']; -$listcr = $configuration[cr]; +$listcr = $configuration['cr']; $model_option = array ( @@ -117,7 +117,7 @@ if ($action == 'update') { if (! $error) { // reload $configuration = AccountancyExport::getTypeConfig(); - $listparam = $configuration[param]; + $listparam = $configuration['param']; setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); } else { setEventMessages($langs->trans("Error"), null, 'errors'); @@ -142,27 +142,27 @@ print ' {'."\n"; foreach ($listparam as $key => $param) { print ' if (jQuery("#ACCOUNTING_EXPORT_MODELCSV").val()=="'.$key.'")'."\n"; print ' {'."\n"; - print ' //console.log("'.$param[label].'");'."\n"; - if (empty($param[ACCOUNTING_EXPORT_FORMAT])) { + print ' //console.log("'.$param['label'].'");'."\n"; + if (empty($param['ACCOUNTING_EXPORT_FORMAT'])) { print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").val("'.$conf->global->ACCOUNTING_EXPORT_FORMAT.'");'."\n"; print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").prop("disabled", true);'."\n"; } else { - print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").val("'.$param[ACCOUNTING_EXPORT_FORMAT].'");'."\n"; + print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").val("'.$param['ACCOUNTING_EXPORT_FORMAT'].'");'."\n"; print ' jQuery("#ACCOUNTING_EXPORT_FORMAT").removeAttr("disabled");'."\n"; } - if (empty($param[ACCOUNTING_EXPORT_SEPARATORCSV])) { + if (empty($param['ACCOUNTING_EXPORT_SEPARATORCSV'])) { print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").val("");'."\n"; print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").prop("disabled", true);'."\n"; } else { print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").val("'.$conf->global->ACCOUNTING_EXPORT_SEPARATORCSV.'");'."\n"; print ' jQuery("#ACCOUNTING_EXPORT_SEPARATORCSV").removeAttr("disabled");'."\n"; } - if (empty($param[ACCOUNTING_EXPORT_ENDLINE])) { + if (empty($param['ACCOUNTING_EXPORT_ENDLINE'])) { print ' jQuery("#ACCOUNTING_EXPORT_ENDLINE").prop("disabled", true);'."\n"; } else { print ' jQuery("#ACCOUNTING_EXPORT_ENDLINE").removeAttr("disabled");'."\n"; } - if (empty($param[ACCOUNTING_EXPORT_DATE])) { + if (empty($param['ACCOUNTING_EXPORT_DATE'])) { print ' jQuery("#ACCOUNTING_EXPORT_DATE").val("");'."\n"; print ' jQuery("#ACCOUNTING_EXPORT_DATE").prop("disabled", true);'."\n"; } else { @@ -257,15 +257,15 @@ if ($num2) { print ''; // Param - $label = $key[label]; + $label = $key['label']; print '' . $langs->trans($label) . ''; // Value print ''; - if (is_array($key[param])) { - print $form->selectarray($label, $key[param], $conf->global->$label, 0); + if (is_array($key['param'])) { + print $form->selectarray($label, $key['param'], $conf->global->$label, 0); } else { - print ''; + print ''; } print ''; diff --git a/htdocs/adherents/admin/website.php b/htdocs/adherents/admin/website.php index b35df5f0083..3f8c62eb153 100644 --- a/htdocs/adherents/admin/website.php +++ b/htdocs/adherents/admin/website.php @@ -55,14 +55,12 @@ if ($action == 'update') $amount=GETPOST('MEMBER_NEWFORM_AMOUNT'); $editamount=GETPOST('MEMBER_NEWFORM_EDITAMOUNT'); $payonline=GETPOST('MEMBER_NEWFORM_PAYONLINE'); - $email=GETPOST('MEMBER_PAYONLINE_SENDEMAIL'); - $forcetype=GETPOST('MEMBER_NEWFORM_FORCETYPE'); + $forcetype=GETPOST('MEMBER_NEWFORM_FORCETYPE'); $res=dolibarr_set_const($db, "MEMBER_ENABLE_PUBLIC",$public,'chaine',0,'',$conf->entity); $res=dolibarr_set_const($db, "MEMBER_NEWFORM_AMOUNT",$amount,'chaine',0,'',$conf->entity); $res=dolibarr_set_const($db, "MEMBER_NEWFORM_EDITAMOUNT",$editamount,'chaine',0,'',$conf->entity); $res=dolibarr_set_const($db, "MEMBER_NEWFORM_PAYONLINE",$payonline,'chaine',0,'',$conf->entity); - $res=dolibarr_set_const($db, "MEMBER_PAYONLINE_SENDEMAIL",$email,'chaine',0,'',$conf->entity); if ($forcetype < 0) $res=dolibarr_del_const($db, "MEMBER_NEWFORM_FORCETYPE",$conf->entity); else $res=dolibarr_set_const($db, "MEMBER_NEWFORM_FORCETYPE",$forcetype,'chaine',0,'',$conf->entity); @@ -211,13 +209,6 @@ if (! empty($conf->global->MEMBER_ENABLE_PUBLIC)) print $form->selectarray("MEMBER_NEWFORM_PAYONLINE",$listofval,(! empty($conf->global->MEMBER_NEWFORM_PAYONLINE)?$conf->global->MEMBER_NEWFORM_PAYONLINE:''),0); print "\n"; - // Jump to an online payment page - print ''; - print $langs->trans("MEMBER_PAYONLINE_SENDEMAIL"); - print ''; - print ''; - print "\n"; - print ''; print '
'; diff --git a/htdocs/adherents/card.php b/htdocs/adherents/card.php index 990c8349e33..48b731c0f50 100644 --- a/htdocs/adherents/card.php +++ b/htdocs/adherents/card.php @@ -209,7 +209,7 @@ if (empty($reshook)) } else { - setEventMessages($object->errors, $object->error, 'errors'); + setEventMessages($object->error, $object->errors, 'errors'); } } diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 537b6f76a63..a517ea8a18b 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -464,7 +464,7 @@ class Adherent extends CommonObject $action='update'; // Actions on extra fields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (! $error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used { $result=$this->insertExtraFields(); if ($result < 0) @@ -531,6 +531,13 @@ class Adherent extends CommonObject $luser->pass=$this->pass; $luser->societe_id=$this->societe; + $luser->birth=$this->birth; + $luser->address=$this->address; + $luser->zip=$this->zip; + $luser->town=$this->town; + $luser->country_id=$this->country_id; + $luser->state_id=$this->state_id; + $luser->email=$this->email; $luser->skype=$this->skype; $luser->office_phone=$this->phone; @@ -1340,7 +1347,7 @@ class Adherent extends CommonObject * @param string $num_chq Numero cheque (if Id bank account provided) * @param string $emetteur_nom Name of cheque writer * @param string $emetteur_banque Name of bank of cheque - * @param string $autocreatethirdparty Auto create new thirdparty if member not linked to a thirdparty and we request an option that generate invoice. + * @param string $autocreatethirdparty Auto create new thirdparty if member not yet linked to a thirdparty and we request an option that generate invoice. * @return int <0 if KO, >0 if OK */ function subscriptionComplementaryActions($subscriptionid, $option, $accountid, $datesubscription, $paymentdate, $operation, $label, $amount, $num_chq, $emetteur_nom='', $emetteur_banque='', $autocreatethirdparty=0) diff --git a/htdocs/adherents/class/adherent_type.class.php b/htdocs/adherents/class/adherent_type.class.php index 75f518074b1..ca8372c04ed 100644 --- a/htdocs/adherents/class/adherent_type.class.php +++ b/htdocs/adherents/class/adherent_type.class.php @@ -142,7 +142,7 @@ class AdherentType extends CommonObject /** * Met a jour en base donnees du type * - * @param User $user Object user making change + * @param User $user Object user making change * @param int $notrigger 1=do not execute triggers, 0 otherwise * @return int >0 if OK, < 0 if KO */ @@ -172,7 +172,7 @@ class AdherentType extends CommonObject $action='update'; // Actions on extra fields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + if (! $error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used { $result=$this->insertExtraFields(); if ($result < 0) diff --git a/htdocs/adherents/ldap.php b/htdocs/adherents/ldap.php index ff0bad063bd..1f9f348d564 100644 --- a/htdocs/adherents/ldap.php +++ b/htdocs/adherents/ldap.php @@ -75,7 +75,7 @@ if ($action == 'dolibarr2ldap') setEventMessages($langs->trans("MemberSynchronized"), null, 'mesgs'); } else { - setEventMessages($ldap->errors, $ldap->error, 'errors'); + setEventMessages($ldap->error, $ldap->errors, 'errors'); } } diff --git a/htdocs/adherents/subscription.php b/htdocs/adherents/subscription.php index 3e4af5438c6..f7a074106b9 100644 --- a/htdocs/adherents/subscription.php +++ b/htdocs/adherents/subscription.php @@ -330,7 +330,7 @@ if ($user->rights->adherent->cotisation->creer && $action == 'subscription' && ! if (! $error) { -// $db->commit(); + $db->commit(); } else { diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index 62f17d5cb1d..50edc32d55f 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -309,8 +309,8 @@ if ($action == 'edit') // Edit // Firstname/Name print ''.$langs->trans("FirstnameNamePosition").''; - $array=array(0=>$langs->trans("Firstname").' '.$langs->trans("Lastname"),1=>$langs->trans("Lastname").' '.$langs->trans("Firstname")); - print $form->selectarray('MAIN_FIRSTNAME_NAME_POSITION',$array,(isset($conf->global->MAIN_FIRSTNAME_NAME_POSITION)?$conf->global->MAIN_FIRSTNAME_NAME_POSITION:0)); + $array=array(0=>$langs->trans("Firstname").' '.$langs->trans("Lastname"), 1=>$langs->trans("Lastname").' '.$langs->trans("Firstname")); + print $form->selectarray('MAIN_FIRSTNAME_NAME_POSITION', $array, (isset($conf->global->MAIN_FIRSTNAME_NAME_POSITION)?$conf->global->MAIN_FIRSTNAME_NAME_POSITION:0)); print ''; print ' '; print ''; diff --git a/htdocs/admin/mails_templates.php b/htdocs/admin/mails_templates.php index c63ff44c32b..394742c7d2a 100644 --- a/htdocs/admin/mails_templates.php +++ b/htdocs/admin/mails_templates.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2004-2018 Laurent Destailleur * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2016 Juanjo Menent @@ -989,7 +989,7 @@ function fieldList($fieldlist, $obj='', $tabname='', $context='') print ''; if (! empty($conf->global->MAIN_MULTILANGS)) { - $selectedlang = $langs->defaultlang; + $selectedlang = GETPOSTISSET('langcode','aZ09')?GETPOST('langcode','aZ09'):$langs->defaultlang; if ($context == 'edit') $selectedlang = $obj->{$fieldlist[$field]}; print $formadmin->select_language($selectedlang, 'langcode', 0, null, 1, 0, 0, 'maxwidth150'); } diff --git a/htdocs/admin/modulehelp.php b/htdocs/admin/modulehelp.php index cf4596ccda2..6281376dc2e 100644 --- a/htdocs/admin/modulehelp.php +++ b/htdocs/admin/modulehelp.php @@ -313,7 +313,9 @@ if ($mode == 'desc') { $textexternal.='
'.$langs->trans("Origin").': '.$langs->trans("ExternalModule",$dirofmodule); if ($objMod->editor_name != 'dolibarr') $textexternal.='
'.$langs->trans("Publisher").': '.(empty($objMod->editor_name)?$langs->trans("Unknown"):$objMod->editor_name); - if (! empty($objMod->editor_url) && ! preg_match('/dolibarr\.org/i',$objMod->editor_url)) $textexternal.='
'.$langs->trans("Url").': '.$objMod->editor_url.''; + $editor_url = $objMod->editor_url; + if (! preg_match('/^http/', $editor_url)) $editor_url = 'http://'.$editor_url; + if (! empty($objMod->editor_url) && ! preg_match('/dolibarr\.org/i',$objMod->editor_url)) $textexternal.='
'.$langs->trans("Url").': '.$objMod->editor_url.''; $text.=$textexternal; $text.='
'; } diff --git a/htdocs/admin/multicurrency.php b/htdocs/admin/multicurrency.php index d4a031a6148..b301a2c7a03 100644 --- a/htdocs/admin/multicurrency.php +++ b/htdocs/admin/multicurrency.php @@ -19,14 +19,11 @@ /** * \file admin/multicurrency.php * \ingroup multicurrency - * \brief This file is an example module setup page - * Put some comments here + * \brief Page to setup multicurrency module */ + // Dolibarr environment - require '../main.inc.php'; - -// Libraries require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/multicurrency.lib.php'; require_once DOL_DOCUMENT_ROOT.'/multicurrency/class/multicurrency.class.php'; @@ -42,6 +39,8 @@ if (! $user->admin) { // Parameters $action = GETPOST('action', 'alpha'); + + /* * Actions */ @@ -164,6 +163,8 @@ if ($resql) * View */ +$form=new Form($db); + $page_name = "MultiCurrencySetup"; llxHeader('', $langs->trans($page_name)); @@ -176,21 +177,16 @@ print_fiche_titre($langs->trans($page_name), $linkback); $head = multicurrencyAdminPrepareHead(); dol_fiche_head($head, 'settings', $langs->trans("ModuleSetup"), -1, "multicurrency"); -// Setup page goes here -$form=new Form($db); -$var=false; print ''; print ''; print ''."\n"; -print ''; -print ''."\n"; - +print ''."\n"; +print ''; print ''; print ''; -print ''; -print ''; - print ''; print ''; -print ''; -print ''; print ''; print ''; -print ''; -print ''; print ''; print ''; -print ''; -print ''; */ print '
'.$langs->trans("Parameters").' '.$langs->trans("Value").''.$langs->trans("Value").'
'.$langs->transnoentitiesnoconv("MULTICURRENCY_USE_RATE_ON_DOCUMENT_DATE").' '; +print ''; print '
'; print ''; print ''; @@ -200,11 +196,9 @@ print '
'; print '
'.$langs->transnoentitiesnoconv("multicurrency_useOriginTx").' '; +print ''; print '
'; print ''; print ''; @@ -217,8 +211,7 @@ print '
'.$langs->transnoentitiesnoconv("multicurrency_buyPriceInCurrency").' '; +print ''; print ''; print ''; print ''; @@ -232,8 +225,7 @@ print '
'.$langs->transnoentitiesnoconv("multicurrency_modifyRateApplication").' '; +print ''; print ''; print ''; print ''; @@ -245,16 +237,17 @@ print '
'; + print '
'; if (!empty($conf->global->MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION)) { - $var=false; + print '
'; print ''; + print ''; print ''."\n"; - print ''; - print ''; - print ''; print ''; - print ''; - print ''; print ''; - print ''; - print ''; print ''; - print ''; - print ''; print '
'.$form->textwithpicto($langs->trans("CurrencyLayerAccount"), $langs->trans("CurrencyLayerAccount_help_to_synchronize")).' '; + print ''; print ''; print ''; print ''; @@ -263,11 +256,9 @@ if (!empty($conf->global->MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION)) print '
'.$langs->transnoentitiesnoconv("multicurrency_appId").' '; + print ''; print ''; print ''; print ''; @@ -279,8 +270,7 @@ if (!empty($conf->global->MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION)) print '
'.$langs->transnoentitiesnoconv("multicurrency_appCurrencySource").' '; + print ''; print ''; print ''; print ''; @@ -291,8 +281,7 @@ if (!empty($conf->global->MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION)) print '
'.$langs->transnoentitiesnoconv("multicurrency_alternateCurrencySource").' '; + print ''; print ''; print ''; print ''; @@ -302,35 +291,35 @@ if (!empty($conf->global->MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION)) print '
'; + print '
'; print '
'; } +print '
'; print ''; print ''; print ''."\n"; -print ''; -print ''."\n"; +print ''."\n"; +print ''; - -print ''; print ''; +print ''; +print ''; +print ''; -print ''; -print ''; - +print ''; +print ''; +print ''; print ''; print ''; -print ''; -print ''; +print ''; +print ''; foreach ($TCurrency as &$currency) { @@ -338,8 +327,7 @@ foreach ($TCurrency as &$currency) print ''; print ''; - print ''; - print ''; } print '
'.$form->textwithpicto($langs->trans("CurrenciesUsed"), $langs->transnoentitiesnoconv("CurrenciesUsed_help_to_add")).' '.$langs->trans("Rate").''.$langs->trans("Rate").'
'.$form->selectCurrency('', 'code').''; print ''; print ''; -print ''.$form->selectCurrency('', 'code').' '; print ' '; print ''; -print '
'.$conf->currency.$form->textwithpicto(' ', $langs->trans("BaseCurrency")).' 1'; -print '
1
'.$currency->code.' - '.$currency->name.' '; + print ''; print '
'; print ''; print ''; @@ -349,13 +337,11 @@ foreach ($TCurrency as &$currency) print ' '; print ''; print '
'; - print '
'; - - +print '
'; print '