2
0
forked from Wavyzz/dolibarr

Merge branch '10.0' of git@github.com:Dolibarr/dolibarr.git into 10.0

This commit is contained in:
Laurent Destailleur
2020-01-19 12:16:33 +01:00
5 changed files with 19 additions and 11 deletions

View File

@@ -5756,9 +5756,9 @@ function dol_textishtml($msg, $option = 0)
elseif (preg_match('/<body/i', $msg)) return true;
elseif (preg_match('/<(b|em|i|u)>/i', $msg)) return true;
elseif (preg_match('/<br\/>/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('/<img\s+[^<>]*src[^<>]*>/i', $msg)) return true; // must accept <img src="http://example.com/aaa.png" />
elseif (preg_match('/<a\s+[^<>]*href[^<>]*>/i', $msg)) return true; // must accept <a href="http://example.com/aaa.png" />
elseif (preg_match('/<h[0-9]>/i', $msg)) return true;

View File

@@ -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)
{

View File

@@ -390,6 +390,7 @@ if (empty($reshook))
// CONTENT
$link = $urlwithroot.'/expensereport/card.php?id='.$object->id;
$link = '<a href="' . $link . '">' . $link . '</a>';
$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 = '<a href="' . $link . '">' . $link . '</a>';
$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 = '<a href="' . $link . '">' . $link . '</a>';
$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 = '<a href="' . $link . '">' . $link . '</a>';
$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 = '<a href="' . $link . '">' . $link . '</a>';
$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 = '<a href="' . $link . '">' . $link . '</a>';
$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'=>'<strong>'.$langs->trans("Comment").'</strong>','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')

View File

@@ -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)
{

View File

@@ -29,7 +29,7 @@ ExpenseReportApprovedMessage=La note de frais %s a été approuvée.<br>- Utilis
ExpenseReportRefused=Une note de frais a été refusée
ExpenseReportRefusedMessage=La note de frais %s a été refusée.<br>- Utilisateur : %s<br>- Refusée par : %s<br>- Motif du refus : %s<br>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.<br>- Utilisateur : %s<br>- Annulée par : %s<br>- Motif de l'annulation :%s<br>Cliquez ici pour afficher la note de frais %s
ExpenseReportCanceledMessage=La note de frais %s a été annulée.<br>- Utilisateur : %s<br>- Annulée par : %s<br>- Motif de l'annulation : %s<br>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.<br>- Utilisateur : %s<br>- Réglée par : %s<br>Cliquez ici pour afficher la note de frais %s
TripId=Id note de frais