diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php
index ab7eaf73653..85455dd4be9 100644
--- a/htdocs/admin/dict.php
+++ b/htdocs/admin/dict.php
@@ -842,7 +842,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify'))
if ($db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') {
setEventMessages($langs->transnoentities("ErrorRecordAlreadyExists"), null, 'errors');
} else {
- dol_print_error($db);
+ setEventMessages($db->error(), null, 'errors');
}
}
}
diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php
index 2fb8ba6e1b8..3dd24b807ac 100644
--- a/htdocs/core/class/commonobject.class.php
+++ b/htdocs/core/class/commonobject.class.php
@@ -3177,12 +3177,17 @@ abstract class CommonObject
}
$sqlfix = "UPDATE ".MAIN_DB_PREFIX.$this->table_element_line." SET ".$fieldtva." = ".($obj->total_tva - $diff).", total_ttc = ".($obj->total_ttc - $diff)." WHERE rowid = ".$obj->rowid;
dol_syslog('We found a difference of '.$diff.' for line rowid = '.$obj->rowid.". We fix the total_vat and total_ttc of line by running sqlfix = ".$sqlfix);
- $resqlfix = $this->db->query($sqlfix);
- if (!$resqlfix) dol_print_error($this->db, 'Failed to update line');
- $this->total_tva -= $diff;
- $this->total_ttc -= $diff;
- $total_tva_by_vats[$obj->vatrate] -= $diff;
- $total_ttc_by_vats[$obj->vatrate] -= $diff;
+
+ $resqlfix = $this->db->query($sqlfix);
+
+ if (!$resqlfix) {
+ dol_print_error($this->db, 'Failed to update line');
+ }
+
+ $this->total_tva = (float) price2num($this->total_tva - $diff, '', 1);
+ $this->total_ttc = (float) price2num($this->total_ttc - $diff, '', 1);
+ $total_tva_by_vats[$obj->vatrate] = (float) price2num($total_tva_by_vats[$obj->vatrate] - $diff, '', 1);
+ $total_ttc_by_vats[$obj->vatrate] = (float) price2num($total_ttc_by_vats[$obj->vatrate] - $diff, '', 1);
}
}
@@ -3210,6 +3215,13 @@ abstract class CommonObject
}
}
+ // Clean total
+ $this->total_ht = (float) price2num($this->total_ht);
+ $this->total_tva = (float) price2num($this->total_tva);
+ $this->total_localtax1 = (float) price2num($this->total_localtax1);
+ $this->total_localtax2 = (float) price2num($this->total_localtax2);
+ $this->total_ttc = (float) price2num($this->total_ttc);
+
$this->db->free($resql);
// Now update global field total_ht, total_ttc and tva
diff --git a/htdocs/core/class/translate.class.php b/htdocs/core/class/translate.class.php
index ab075348c3a..13634b1619d 100644
--- a/htdocs/core/class/translate.class.php
+++ b/htdocs/core/class/translate.class.php
@@ -468,8 +468,7 @@ class Translate
}
}
- if (!$found && !empty($conf->global->MAIN_ENABLE_OVERWRITE_TRANSLATION))
- {
+ if (!$found && !empty($conf->global->MAIN_ENABLE_OVERWRITE_TRANSLATION)) {
// Overwrite translation with database read
$sql = "SELECT transkey, transvalue FROM ".MAIN_DB_PREFIX."overwrite_trans where lang='".$db->escape($this->defaultlang)."' OR lang IS NULL";
$sql .= " AND entity IN (0, ".getEntity('overwrite_trans').")";
diff --git a/htdocs/core/lib/price.lib.php b/htdocs/core/lib/price.lib.php
index 98311d093cd..a35cb659128 100644
--- a/htdocs/core/lib/price.lib.php
+++ b/htdocs/core/lib/price.lib.php
@@ -341,20 +341,18 @@ function calcul_price_total($qty, $pu, $remise_percent_ligne, $txtva, $uselocalt
}
// If rounding is not using base 10 (rare)
- if (!empty($conf->global->MAIN_ROUNDING_RULE_TOT))
- {
- if ($price_base_type == 'HT')
- {
- $result[0] = round($result[0] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT;
- $result[1] = round($result[1] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT;
- $result[9] = round($result[9] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT;
- $result[10] = round($result[10] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT;
+ if (!empty($conf->global->MAIN_ROUNDING_RULE_TOT)) {
+ if ($price_base_type == 'HT') {
+ $result[0] = price2num(round($result[0] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT, 'MT');
+ $result[1] = price2num(round($result[1] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT, 'MT');
+ $result[9] = price2num(round($result[9] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT, 'MT');
+ $result[10] = price2num(round($result[10] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT, 'MT');
$result[2] = price2num($result[0] + $result[1] + $result[9] + $result[10], 'MT');
} else {
- $result[1] = round($result[1] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT;
- $result[2] = round($result[2] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT;
- $result[9] = round($result[9] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT;
- $result[10] = round($result[10] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT;
+ $result[1] = price2num(round($result[1] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT, 'MT');
+ $result[2] = price2num(round($result[2] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT, 'MT');
+ $result[9] = price2num(round($result[9] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT, 'MT');
+ $result[10] = price2num(round($result[10] / $conf->global->MAIN_ROUNDING_RULE_TOT, 0) * $conf->global->MAIN_ROUNDING_RULE_TOT, 'MT');
$result[0] = price2num($result[2] - $result[1] - $result[9] - $result[10], 'MT');
}
}
diff --git a/htdocs/public/members/new.php b/htdocs/public/members/new.php
index 46aac8dce3b..c54061ebb7a 100644
--- a/htdocs/public/members/new.php
+++ b/htdocs/public/members/new.php
@@ -266,156 +266,161 @@ if (empty($reshook) && $action == 'add') {
// Fill array 'array_options' with data from add form
$extrafields->fetch_name_optionals_label($adh->table_element);
$ret = $extrafields->setOptionalsFromPost(null, $adh);
- if ($ret < 0) $error++;
-
- $result = $adh->create($user);
- if ($result > 0) {
- require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
- $object = $adh;
-
- $adht = new AdherentType($db);
- $adht->fetch($object->typeid);
-
- if ($object->email) {
- $subject = '';
- $msg = '';
-
- // Send subscription email
- include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
- $formmail = new FormMail($db);
- // Set output language
- $outputlangs = new Translate('', $conf);
- $outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
- // Load traductions files required by page
- $outputlangs->loadLangs(array("main", "members"));
- // Get email content from template
- $arraydefaultmessage = null;
- $labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_AUTOREGISTER;
-
- if (!empty($labeltouse)) $arraydefaultmessage = $formmail->getEMailTemplate($db, 'member', $user, $outputlangs, 0, 1, $labeltouse);
-
- if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) {
- $subject = $arraydefaultmessage->topic;
- $msg = $arraydefaultmessage->content;
- }
-
- $substitutionarray = getCommonSubstitutionArray($outputlangs, 0, null, $object);
- complete_substitutions_array($substitutionarray, $outputlangs, $object);
- $subjecttosend = make_substitutions($subject, $substitutionarray, $outputlangs);
- $texttosend = make_substitutions(dol_concatdesc($msg, $adht->getMailOnValid()), $substitutionarray, $outputlangs);
-
- if ($subjecttosend && $texttosend) {
- $moreinheader = 'X-Dolibarr-Info: send_an_email by public/members/new.php'."\r\n";
-
- $result = $object->send_an_email($texttosend, $subjecttosend, array(), array(), array(), "", "", 0, -1, '', $moreinheader);
- }
- /*if ($result < 0) {
- $error++;
- setEventMessages($object->error, $object->errors, 'errors');
- }*/
- }
-
- // Send email to the foundation to say a new member subscribed with autosubscribe form
- if (!empty($conf->global->MAIN_INFO_SOCIETE_MAIL) && !empty($conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT) &&
- !empty($conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL)) {
- // Define link to login card
- $appli = constant('DOL_APPLICATION_TITLE');
- if (!empty($conf->global->MAIN_APPLICATION_TITLE)) {
- $appli = $conf->global->MAIN_APPLICATION_TITLE;
- if (preg_match('/\d\.\d/', $appli)) {
- if (!preg_match('/'.preg_quote(DOL_VERSION).'/', $appli)) $appli .= " (".DOL_VERSION.")"; // If new title contains a version that is different than core
- } else $appli .= " ".DOL_VERSION;
- } else {
- $appli .= " ".DOL_VERSION;
- }
-
- $to = $adh->makeSubstitution($conf->global->MAIN_INFO_SOCIETE_MAIL);
- $from = $conf->global->ADHERENT_MAIL_FROM;
- $mailfile = new CMailFile(
- '['.$appli.'] '.$conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT,
- $to,
- $from,
- $adh->makeSubstitution($conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL),
- array(),
- array(),
- array(),
- "",
- "",
- 0,
- -1
- );
-
- if (!$mailfile->sendfile()) {
- dol_syslog($langs->trans("ErrorFailedToSendMail", $from, $to), LOG_ERR);
- }
- }
-
- if (!empty($backtopage)) {
- $urlback = $backtopage;
- } elseif (!empty($conf->global->MEMBER_URL_REDIRECT_SUBSCRIPTION)) {
- $urlback = $conf->global->MEMBER_URL_REDIRECT_SUBSCRIPTION;
- // TODO Make replacement of __AMOUNT__, etc...
- } else {
- $urlback = $_SERVER["PHP_SELF"]."?action=added";
- }
-
- if (!empty($conf->global->MEMBER_NEWFORM_PAYONLINE) && $conf->global->MEMBER_NEWFORM_PAYONLINE != '-1') {
- if ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'all') {
- $urlback = DOL_MAIN_URL_ROOT.'/public/payment/newpayment.php?from=membernewform&source=membersubscription&ref='.urlencode($adh->ref);
- if (price2num(GETPOST('amount', 'alpha'))) $urlback .= '&amount='.price2num(GETPOST('amount', 'alpha'));
- if (GETPOST('email')) $urlback .= '&email='.urlencode(GETPOST('email'));
- if (!empty($conf->global->PAYMENT_SECURITY_TOKEN)) {
- if (!empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE)) {
- $urlback .= '&securekey='.urlencode(dol_hash($conf->global->PAYMENT_SECURITY_TOKEN.'membersubscription'.$adh->ref, 2));
- } else {
- $urlback .= '&securekey='.urlencode($conf->global->PAYMENT_SECURITY_TOKEN);
- }
- }
- } elseif ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'paybox') {
- $urlback = DOL_MAIN_URL_ROOT.'/public/paybox/newpayment.php?from=membernewform&source=membersubscription&ref='.urlencode($adh->ref);
- if (price2num(GETPOST('amount', 'alpha'))) $urlback .= '&amount='.price2num(GETPOST('amount', 'alpha'));
- if (GETPOST('email')) $urlback .= '&email='.urlencode(GETPOST('email'));
- if (!empty($conf->global->PAYMENT_SECURITY_TOKEN)) {
- if (!empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE)) {
- $urlback .= '&securekey='.urlencode(dol_hash($conf->global->PAYMENT_SECURITY_TOKEN.'membersubscription'.$adh->ref, 2));
- } else {
- $urlback .= '&securekey='.urlencode($conf->global->PAYMENT_SECURITY_TOKEN);
- }
- }
- } elseif ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'paypal') {
- $urlback = DOL_MAIN_URL_ROOT.'/public/paypal/newpayment.php?from=membernewform&source=membersubscription&ref='.urlencode($adh->ref);
- if (price2num(GETPOST('amount', 'alpha'))) $urlback .= '&amount='.price2num(GETPOST('amount', 'alpha'));
- if (GETPOST('email')) $urlback .= '&email='.urlencode(GETPOST('email'));
- if (!empty($conf->global->PAYMENT_SECURITY_TOKEN)) {
- if (!empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE)) {
- $urlback .= '&securekey='.urlencode(dol_hash($conf->global->PAYMENT_SECURITY_TOKEN.'membersubscription'.$adh->ref, 2));
- } else {
- $urlback .= '&securekey='.urlencode($conf->global->PAYMENT_SECURITY_TOKEN);
- }
- }
- } elseif ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'stripe') {
- $urlback = DOL_MAIN_URL_ROOT.'/public/stripe/newpayment.php?from=membernewform&source=membersubscription&ref='.$adh->ref;
- if (price2num(GETPOST('amount', 'alpha'))) $urlback .= '&amount='.price2num(GETPOST('amount', 'alpha'));
- if (GETPOST('email')) $urlback .= '&email='.urlencode(GETPOST('email'));
- if (!empty($conf->global->PAYMENT_SECURITY_TOKEN)) {
- if (!empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE)) {
- $urlback .= '&securekey='.urlencode(dol_hash($conf->global->PAYMENT_SECURITY_TOKEN.'membersubscription'.$adh->ref, 2));
- } else {
- $urlback .= '&securekey='.urlencode($conf->global->PAYMENT_SECURITY_TOKEN);
- }
- }
- } else {
- dol_print_error('', "Autosubscribe form is setup to ask an online payment for a not managed online payment");
- exit;
- }
- }
-
- if (!empty($entity)) $urlback .= '&entity='.$entity;
- dol_syslog("member ".$adh->ref." was created, we redirect to ".$urlback);
- } else {
+ if ($ret < 0) {
$error++;
- $errmsg .= join('
', $adh->errors);
}
+
+ if (!$error) {
+ $result = $adh->create($user);
+
+ if ($result > 0) {
+ require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
+ $object = $adh;
+
+ $adht = new AdherentType($db);
+ $adht->fetch($object->typeid);
+
+ if ($object->email) {
+ $subject = '';
+ $msg = '';
+
+ // Send subscription email
+ include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
+ $formmail = new FormMail($db);
+ // Set output language
+ $outputlangs = new Translate('', $conf);
+ $outputlangs->setDefaultLang(empty($object->thirdparty->default_lang) ? $mysoc->default_lang : $object->thirdparty->default_lang);
+ // Load traductions files required by page
+ $outputlangs->loadLangs(array("main", "members"));
+ // Get email content from template
+ $arraydefaultmessage = null;
+ $labeltouse = $conf->global->ADHERENT_EMAIL_TEMPLATE_AUTOREGISTER;
+
+ if (!empty($labeltouse)) $arraydefaultmessage = $formmail->getEMailTemplate($db, 'member', $user, $outputlangs, 0, 1, $labeltouse);
+
+ if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) {
+ $subject = $arraydefaultmessage->topic;
+ $msg = $arraydefaultmessage->content;
+ }
+
+ $substitutionarray = getCommonSubstitutionArray($outputlangs, 0, null, $object);
+ complete_substitutions_array($substitutionarray, $outputlangs, $object);
+ $subjecttosend = make_substitutions($subject, $substitutionarray, $outputlangs);
+ $texttosend = make_substitutions(dol_concatdesc($msg, $adht->getMailOnValid()), $substitutionarray, $outputlangs);
+
+ if ($subjecttosend && $texttosend) {
+ $moreinheader = 'X-Dolibarr-Info: send_an_email by public/members/new.php'."\r\n";
+
+ $result = $object->send_an_email($texttosend, $subjecttosend, array(), array(), array(), "", "", 0, -1, '', $moreinheader);
+ }
+ /*if ($result < 0) {
+ $error++;
+ setEventMessages($object->error, $object->errors, 'errors');
+ }*/
+ }
+
+ // Send email to the foundation to say a new member subscribed with autosubscribe form
+ if (!empty($conf->global->MAIN_INFO_SOCIETE_MAIL) && !empty($conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT) &&
+ !empty($conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL)) {
+ // Define link to login card
+ $appli = constant('DOL_APPLICATION_TITLE');
+ if (!empty($conf->global->MAIN_APPLICATION_TITLE)) {
+ $appli = $conf->global->MAIN_APPLICATION_TITLE;
+ if (preg_match('/\d\.\d/', $appli)) {
+ if (!preg_match('/'.preg_quote(DOL_VERSION).'/', $appli)) $appli .= " (".DOL_VERSION.")"; // If new title contains a version that is different than core
+ } else $appli .= " ".DOL_VERSION;
+ } else {
+ $appli .= " ".DOL_VERSION;
+ }
+
+ $to = $adh->makeSubstitution($conf->global->MAIN_INFO_SOCIETE_MAIL);
+ $from = $conf->global->ADHERENT_MAIL_FROM;
+ $mailfile = new CMailFile(
+ '['.$appli.'] '.$conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT,
+ $to,
+ $from,
+ $adh->makeSubstitution($conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL),
+ array(),
+ array(),
+ array(),
+ "",
+ "",
+ 0,
+ -1
+ );
+
+ if (!$mailfile->sendfile()) {
+ dol_syslog($langs->trans("ErrorFailedToSendMail", $from, $to), LOG_ERR);
+ }
+ }
+
+ if (!empty($backtopage)) {
+ $urlback = $backtopage;
+ } elseif (!empty($conf->global->MEMBER_URL_REDIRECT_SUBSCRIPTION)) {
+ $urlback = $conf->global->MEMBER_URL_REDIRECT_SUBSCRIPTION;
+ // TODO Make replacement of __AMOUNT__, etc...
+ } else {
+ $urlback = $_SERVER["PHP_SELF"]."?action=added";
+ }
+
+ if (!empty($conf->global->MEMBER_NEWFORM_PAYONLINE) && $conf->global->MEMBER_NEWFORM_PAYONLINE != '-1') {
+ if ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'all') {
+ $urlback = DOL_MAIN_URL_ROOT.'/public/payment/newpayment.php?from=membernewform&source=membersubscription&ref='.urlencode($adh->ref);
+ if (price2num(GETPOST('amount', 'alpha'))) $urlback .= '&amount='.price2num(GETPOST('amount', 'alpha'));
+ if (GETPOST('email')) $urlback .= '&email='.urlencode(GETPOST('email'));
+ if (!empty($conf->global->PAYMENT_SECURITY_TOKEN)) {
+ if (!empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE)) {
+ $urlback .= '&securekey='.urlencode(dol_hash($conf->global->PAYMENT_SECURITY_TOKEN.'membersubscription'.$adh->ref, 2));
+ } else {
+ $urlback .= '&securekey='.urlencode($conf->global->PAYMENT_SECURITY_TOKEN);
+ }
+ }
+ } elseif ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'paybox') {
+ $urlback = DOL_MAIN_URL_ROOT.'/public/paybox/newpayment.php?from=membernewform&source=membersubscription&ref='.urlencode($adh->ref);
+ if (price2num(GETPOST('amount', 'alpha'))) $urlback .= '&amount='.price2num(GETPOST('amount', 'alpha'));
+ if (GETPOST('email')) $urlback .= '&email='.urlencode(GETPOST('email'));
+ if (!empty($conf->global->PAYMENT_SECURITY_TOKEN)) {
+ if (!empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE)) {
+ $urlback .= '&securekey='.urlencode(dol_hash($conf->global->PAYMENT_SECURITY_TOKEN.'membersubscription'.$adh->ref, 2));
+ } else {
+ $urlback .= '&securekey='.urlencode($conf->global->PAYMENT_SECURITY_TOKEN);
+ }
+ }
+ } elseif ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'paypal') {
+ $urlback = DOL_MAIN_URL_ROOT.'/public/paypal/newpayment.php?from=membernewform&source=membersubscription&ref='.urlencode($adh->ref);
+ if (price2num(GETPOST('amount', 'alpha'))) $urlback .= '&amount='.price2num(GETPOST('amount', 'alpha'));
+ if (GETPOST('email')) $urlback .= '&email='.urlencode(GETPOST('email'));
+ if (!empty($conf->global->PAYMENT_SECURITY_TOKEN)) {
+ if (!empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE)) {
+ $urlback .= '&securekey='.urlencode(dol_hash($conf->global->PAYMENT_SECURITY_TOKEN.'membersubscription'.$adh->ref, 2));
+ } else {
+ $urlback .= '&securekey='.urlencode($conf->global->PAYMENT_SECURITY_TOKEN);
+ }
+ }
+ } elseif ($conf->global->MEMBER_NEWFORM_PAYONLINE == 'stripe') {
+ $urlback = DOL_MAIN_URL_ROOT.'/public/stripe/newpayment.php?from=membernewform&source=membersubscription&ref='.$adh->ref;
+ if (price2num(GETPOST('amount', 'alpha'))) $urlback .= '&amount='.price2num(GETPOST('amount', 'alpha'));
+ if (GETPOST('email')) $urlback .= '&email='.urlencode(GETPOST('email'));
+ if (!empty($conf->global->PAYMENT_SECURITY_TOKEN)) {
+ if (!empty($conf->global->PAYMENT_SECURITY_TOKEN_UNIQUE)) {
+ $urlback .= '&securekey='.urlencode(dol_hash($conf->global->PAYMENT_SECURITY_TOKEN.'membersubscription'.$adh->ref, 2));
+ } else {
+ $urlback .= '&securekey='.urlencode($conf->global->PAYMENT_SECURITY_TOKEN);
+ }
+ }
+ } else {
+ dol_print_error('', "Autosubscribe form is setup to ask an online payment for a not managed online payment");
+ exit;
+ }
+ }
+
+ if (!empty($entity)) $urlback .= '&entity='.$entity;
+ dol_syslog("member ".$adh->ref." was created, we redirect to ".$urlback);
+ } else {
+ $error++;
+ $errmsg .= join('
', $adh->errors);
+ }
+ }
}
if (!$error) {
diff --git a/htdocs/societe/class/api_thirdparties.class.php b/htdocs/societe/class/api_thirdparties.class.php
index 492916935f8..a0722b1b848 100644
--- a/htdocs/societe/class/api_thirdparties.class.php
+++ b/htdocs/societe/class/api_thirdparties.class.php
@@ -1119,7 +1119,7 @@ class Thirdparties extends DolibarrApi
*/
public function getCompanyBankAccount($id)
{
- if (!DolibarrApiAccess::$user->rights->facture->lire) {
+ if (!DolibarrApiAccess::$user->rights->societe->lire) {
throw new RestException(401);
}
if (empty($id)) {
diff --git a/scripts/emailings/mailing-send.php b/scripts/emailings/mailing-send.php
index fcaa40e1fde..71d1604df4e 100755
--- a/scripts/emailings/mailing-send.php
+++ b/scripts/emailings/mailing-send.php
@@ -66,6 +66,8 @@ if (empty($conf->global->MAILING_LIMIT_SENDBYCLI))
$conf->global->MAILING_LIMIT_SENDBYCLI = 0;
}
+$langs->loadLangs(array("main", "mails"));
+
/*
* Main