diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php
index 3f7d9b8af09..63759ba71ed 100644
--- a/htdocs/core/lib/functions.lib.php
+++ b/htdocs/core/lib/functions.lib.php
@@ -5756,9 +5756,9 @@ function dol_textishtml($msg, $option = 0)
elseif (preg_match('/
/i', $msg)) return true;
elseif (preg_match('/
/i', $msg)) return true;
- elseif (preg_match('/<(br|div|font|li|p|span|strong|table)>/i', $msg)) return true;
- elseif (preg_match('/<(br|div|font|li|p|span|strong|table)\s+[^<>\/]*>/i', $msg)) return true;
- elseif (preg_match('/<(br|div|font|li|p|span|strong|table)\s+[^<>\/]*\/>/i', $msg)) return true;
+ elseif (preg_match('/<(br|div|font|li|p|span|strong|table|s)>/i', $msg)) return true;
+ elseif (preg_match('/<(br|div|font|li|p|span|strong|table|s)\s+[^<>\/]*>/i', $msg)) return true;
+ elseif (preg_match('/<(br|div|font|li|p|span|strong|table|s)\s+[^<>\/]*\/>/i', $msg)) return true;
elseif (preg_match('/
]*src[^<>]*>/i', $msg)) return true; // must accept
elseif (preg_match('/]*href[^<>]*>/i', $msg)) return true; // must accept
elseif (preg_match('//i', $msg)) return true;
diff --git a/htdocs/core/modules/modSociete.class.php b/htdocs/core/modules/modSociete.class.php
index 23d92f53cb7..b57617b4582 100644
--- a/htdocs/core/modules/modSociete.class.php
+++ b/htdocs/core/modules/modSociete.class.php
@@ -449,7 +449,7 @@ class modSociete extends DolibarrModules
's.multicurrency_code' => 'MulticurrencyCurrency'
);
// Add extra fields
- $sql = "SELECT name, label, fieldrequired FROM " . MAIN_DB_PREFIX . "extrafields WHERE elementtype = 'societe' AND entity = " . $conf->entity;
+ $sql = "SELECT name, label, fieldrequired FROM " . MAIN_DB_PREFIX . "extrafields WHERE elementtype = 'societe' AND entity IN (0," . $conf->entity .")";
$resql = $this->db->query($sql);
if ($resql) // This can fail when class is used on old database (during migration for example)
{
diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php
index b95dad0f200..44179745267 100644
--- a/htdocs/expensereport/card.php
+++ b/htdocs/expensereport/card.php
@@ -390,6 +390,7 @@ if (empty($reshook))
// CONTENT
$link = $urlwithroot.'/expensereport/card.php?id='.$object->id;
+ $link = '' . $link . '';
$message = $langs->transnoentities("ExpenseReportWaitingForApprovalMessage", $expediteur->getFullName($langs), get_date_range($object->date_debut, $object->date_fin, '', $langs), $link);
// Rebuild pdf
@@ -509,6 +510,7 @@ if (empty($reshook))
// CONTENT
$link = $urlwithroot.'/expensereport/card.php?id='.$object->id;
+ $link = '' . $link . '';
$dateRefusEx = explode(" ", $object->date_refuse);
$message = $langs->transnoentities("ExpenseReportWaitingForReApprovalMessage", $dateRefusEx[0], $object->detail_refuse, $expediteur->getFullName($langs), $link);
@@ -634,6 +636,7 @@ if (empty($reshook))
// CONTENT
$link = $urlwithroot.'/expensereport/card.php?id='.$object->id;
+ $link = '' . $link . '';
$message = $langs->transnoentities("ExpenseReportApprovedMessage", $object->ref, $destinataire->getFullName($langs), $expediteur->getFullName($langs), $link);
// Rebuilt pdf
@@ -704,7 +707,8 @@ if (empty($reshook))
$object = new ExpenseReport($db);
$object->fetch($id);
- $result = $object->setDeny($user, GETPOST('detail_refuse', 'alpha'));
+ $detailRefuse = GETPOST('detail_refuse', 'alpha');
+ $result = $object->setDeny($user, $detailRefuse);
if ($result > 0)
{
@@ -752,7 +756,8 @@ if (empty($reshook))
// CONTENT
$link = $urlwithroot.'/expensereport/card.php?id='.$object->id;
- $message = $langs->transnoentities("ExpenseReportRefusedMessage", $object->ref, $destinataire->getFullName($langs), $expediteur->getFullName($langs), $_POST['detail_refuse'], $link);
+ $link = '' . $link . '';
+ $message = $langs->transnoentities("ExpenseReportRefusedMessage", $object->ref, $destinataire->getFullName($langs), $expediteur->getFullName($langs), $detailRefuse, $link);
// Rebuilt pdf
/*
@@ -832,7 +837,8 @@ if (empty($reshook))
if ($user->id == $object->fk_user_valid || $user->id == $object->fk_user_author)
{
- $result = $object->set_cancel($user, GETPOST('detail_cancel', 'alpha'));
+ $detailCancel = GETPOST('detail_cancel', 'alpha');
+ $result = $object->set_cancel($user, $detailCancel);
if ($result > 0)
{
@@ -880,7 +886,8 @@ if (empty($reshook))
// CONTENT
$link = $urlwithroot.'/expensereport/card.php?id='.$object->id;
- $message = $langs->transnoentities("ExpenseReportCanceledMessage", $object->ref, $destinataire->getFullName($langs), $expediteur->getFullName($langs), GETPOST('detail_cancel', 'alpha'), $link);
+ $link = '' . $link . '';
+ $message = $langs->transnoentities("ExpenseReportCanceledMessage", $object->ref, $destinataire->getFullName($langs), $expediteur->getFullName($langs), $detailCancel, $link);
// Rebuilt pdf
/*
@@ -1105,6 +1112,7 @@ if (empty($reshook))
// CONTENT
$link = $urlwithroot.'/expensereport/card.php?id='.$object->id;
+ $link = '' . $link . '';
$message = $langs->transnoentities("ExpenseReportPaidMessage", $object->ref, $destinataire->getFullName($langs), $expediteur->getFullName($langs), $link);
// Generate pdf before attachment
@@ -1736,7 +1744,7 @@ else
if ($action == 'cancel')
{
$array_input = array('text'=>$langs->trans("ConfirmCancelTrip"), array('type'=>"text",'label'=>''.$langs->trans("Comment").'','name'=>"detail_cancel",'value'=>""));
- $formconfirm=$form->formconfirm($_SEVER["PHP_SELF"]."?id=".$id, $langs->trans("Cancel"), "", "confirm_cancel", $array_input, "", 1);
+ $formconfirm=$form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id, $langs->trans("Cancel"), "", "confirm_cancel", $array_input, "", 1);
}
if ($action == 'setdraft')
diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php
index c404fc2b264..9122c93bae4 100644
--- a/htdocs/exports/export.php
+++ b/htdocs/exports/export.php
@@ -373,7 +373,7 @@ if ($step == 2 && $action == 'select_model')
$result = $objexport->fetch($exportmodelid);
if ($result > 0)
{
- $fieldsarray=explode(',', $objexport->hexa);
+ $fieldsarray=preg_split("/,(?! [^(]*\))/", $objexport->hexa);
$i=1;
foreach($fieldsarray as $val)
{
diff --git a/htdocs/langs/fr_FR/trips.lang b/htdocs/langs/fr_FR/trips.lang
index cffe2cc14e8..efb5b645a3d 100644
--- a/htdocs/langs/fr_FR/trips.lang
+++ b/htdocs/langs/fr_FR/trips.lang
@@ -29,7 +29,7 @@ ExpenseReportApprovedMessage=La note de frais %s a été approuvée.
- Utilis
ExpenseReportRefused=Une note de frais a été refusée
ExpenseReportRefusedMessage=La note de frais %s a été refusée.
- Utilisateur : %s
- Refusée par : %s
- Motif du refus : %s
Cliquez ici pour afficher la note de frais: %s
ExpenseReportCanceled=Une note de frais a été annulée
-ExpenseReportCanceledMessage=La note de frais %s a été annulée.
- Utilisateur : %s
- Annulée par : %s
- Motif de l'annulation :%s
Cliquez ici pour afficher la note de frais %s
+ExpenseReportCanceledMessage=La note de frais %s a été annulée.
- Utilisateur : %s
- Annulée par : %s
- Motif de l'annulation : %s
Cliquez ici pour afficher la note de frais %s
ExpenseReportPaid=Une note de frais a été réglée
ExpenseReportPaidMessage=La note de frais %s a été réglée.
- Utilisateur : %s
- Réglée par : %s
Cliquez ici pour afficher la note de frais %s
TripId=Id note de frais