From 1fcacf2f982a74ff669f1be59da1650650888ab1 Mon Sep 17 00:00:00 2001 From: ldestailleur Date: Fri, 11 Apr 2025 23:42:18 +0200 Subject: [PATCH 01/18] Fix filter on agenda list --- htdocs/comm/action/list.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/htdocs/comm/action/list.php b/htdocs/comm/action/list.php index 47debff0fd2..ec543742922 100644 --- a/htdocs/comm/action/list.php +++ b/htdocs/comm/action/list.php @@ -492,13 +492,19 @@ if (!empty($actioncode)) { } } } else { - if ($actioncode == 'AC_NON_AUTO') { + if ($actioncode === 'AC_NON_AUTO') { $sql .= " AND c.type != 'systemauto'"; - } elseif ($actioncode == 'AC_ALL_AUTO') { + } elseif ($actioncode === 'AC_ALL_AUTO') { $sql .= " AND c.type = 'systemauto'"; } else { if (is_array($actioncode)) { - $sql .= " AND c.code IN (".$db->sanitize("'".implode("','", $actioncode)."'", 1).")"; + // Remove all -1 values + $actioncode = array_filter($actioncode, function ($value) { + return ((string) $value !== '-1'); + }); + if (count($actioncode)) { + $sql .= " AND c.code IN (".$db->sanitize("'".implode("','", $actioncode)."'", 1).")"; + } } elseif ($actioncode !== '-1') { $sql .= " AND c.code IN (".$db->sanitize("'".implode("','", explode(',', $actioncode))."'", 1).")"; } @@ -511,6 +517,7 @@ if ($resourceid > 0) { if ($pid) { $sql .= " AND a.fk_project=".((int) $pid); } + // If the internal user must only see his customers, force searching by him $search_sale = 0; if (isModEnabled("societe") && !$user->hasRight('societe', 'client', 'voir')) { From ce15dc25c8a7482b287e0a1b92bc242e60994e09 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 13 Apr 2025 19:46:52 +0200 Subject: [PATCH 02/18] FIX HTML broken by the trunc. --- .../accountancy/class/bookkeeping.class.php | 35 +++++++++++++------ .../journal/expensereportsjournal.php | 6 ++-- .../accountancy/journal/purchasesjournal.php | 8 ++--- htdocs/accountancy/journal/sellsjournal.php | 10 +++--- 4 files changed, 36 insertions(+), 23 deletions(-) diff --git a/htdocs/accountancy/class/bookkeeping.class.php b/htdocs/accountancy/class/bookkeeping.class.php index 324937f868e..2d9cb5361ac 100644 --- a/htdocs/accountancy/class/bookkeeping.class.php +++ b/htdocs/accountancy/class/bookkeeping.class.php @@ -2441,42 +2441,55 @@ class BookKeeping extends CommonObject } /** - * Generate label operation when operation is transferred into accounting + * Generate label operation when operation is transferred into accounting according to ACCOUNTING_LABEL_OPERATION_ON_TRANSFER + * If ACCOUNTING_LABEL_OPERATION_ON_TRANSFER is 0, we concat thirdparty name, ref and label. + * If ACCOUNTING_LABEL_OPERATION_ON_TRANSFER is 1, we concat thirdparty name, ref. + * If ACCOUNTING_LABEL_OPERATION_ON_TRANSFER is 2, we return just thirdparty name * * @param string $thirdpartyname Thirdparty name * @param string $reference Reference of the element * @param string $labelaccount Label of the accounting account + * @param string $full 0=Default, 1=Keep label intact (no trunc so HTML content is not corrupted) * @return string Label of the operation */ - public function accountingLabelForOperation($thirdpartyname, $reference, $labelaccount) + public function accountingLabelForOperation($thirdpartyname, $reference, $labelaccount, $full = 0) { - global $conf; - $accountingLabelOperation = ''; - if (!getDolGlobalString('ACCOUNTING_LABEL_OPERATION_ON_TRANSFER') || getDolGlobalString('ACCOUNTING_LABEL_OPERATION_ON_TRANSFER') == 0) { + if (!getDolGlobalInt('ACCOUNTING_LABEL_OPERATION_ON_TRANSFER')) { $truncThirdpartyName = 16; // Avoid trunc with dot in accountancy for the compatibility with another accounting software - $accountingLabelOperation = dol_trunc($thirdpartyname, $truncThirdpartyName, 'right', 'UTF-8', 1); + if (empty($full)) { + $accountingLabelOperation = dol_trunc($thirdpartyname, $truncThirdpartyName, 'right', 'UTF-8', 1); + } else { + $accountingLabelOperation = $thirdpartyname; + } if (!empty($reference)) { $accountingLabelOperation .= ' - '. $reference; } if (!empty($labelaccount)) { $accountingLabelOperation .= ' - '. $labelaccount; } - } elseif (getDolGlobalString('ACCOUNTING_LABEL_OPERATION_ON_TRANSFER') == 1) { + } elseif (getDolGlobalInt('ACCOUNTING_LABEL_OPERATION_ON_TRANSFER') == 1) { $truncThirdpartyName = 32; // Avoid trunc with dot in accountancy for the compatibility with another accounting software - $accountingLabelOperation = dol_trunc($thirdpartyname, $truncThirdpartyName, 'right', 'UTF-8', 1); + if (empty($full)) { + $accountingLabelOperation = dol_trunc($thirdpartyname, $truncThirdpartyName, 'right', 'UTF-8', 1); + } else { + $accountingLabelOperation = $thirdpartyname; + } if (!empty($reference)) { $accountingLabelOperation .= ' - '. $reference; } - } elseif (getDolGlobalString('ACCOUNTING_LABEL_OPERATION_ON_TRANSFER') == 2) { + } elseif (getDolGlobalInt('ACCOUNTING_LABEL_OPERATION_ON_TRANSFER') == 2) { $truncThirdpartyName = 64; // Avoid trunc with dot in accountancy for the compatibility with another accounting software - $accountingLabelOperation = dol_trunc($thirdpartyname, $truncThirdpartyName, 'right', 'UTF-8', 1); + if (empty($full)) { + $accountingLabelOperation = dol_trunc($thirdpartyname, $truncThirdpartyName, 'right', 'UTF-8', 1); + } else { + $accountingLabelOperation = $thirdpartyname; + } } - dol_syslog('label'.$accountingLabelOperation, LOG_ERR); return $accountingLabelOperation; } diff --git a/htdocs/accountancy/journal/expensereportsjournal.php b/htdocs/accountancy/journal/expensereportsjournal.php index 21131a25177..aaa0c43b635 100644 --- a/htdocs/accountancy/journal/expensereportsjournal.php +++ b/htdocs/accountancy/journal/expensereportsjournal.php @@ -765,7 +765,7 @@ if (empty($action) || $action == 'view') { print ''; $userstatic->id = $tabuser[$key]['id']; $userstatic->name = $tabuser[$key]['name']; - print "" . $bookkeepingstatic->accountingLabelForOperation($userstatic->getNomUrl(0, 'user'), '', $accountingaccount->label) . ""; + print "" . $bookkeepingstatic->accountingLabelForOperation($userstatic->getNomUrl(0, 'user'), '', $accountingaccount->label, 1) . ""; print ''.($mt >= 0 ? price($mt) : '').""; print ''.($mt < 0 ? price(-$mt) : '').""; print ""; @@ -801,7 +801,7 @@ if (empty($action) || $action == 'view') { print $accountoshow; } print ''; - print "" . $bookkeepingstatic->accountingLabelForOperation($userstatic->getNomUrl(0, 'user'), '', $langs->trans("SubledgerAccount")) . ""; + print "" . $bookkeepingstatic->accountingLabelForOperation($userstatic->getNomUrl(0, 'user'), '', $langs->trans("SubledgerAccount"), 1) . ""; print ''.($mt < 0 ? price(-$mt) : '').""; print ''.($mt >= 0 ? price($mt) : '').""; print ""; @@ -841,7 +841,7 @@ if (empty($action) || $action == 'view') { $tmpvatrate = (empty($def_tva[$key][$k]) ? (empty($arrayofvat[$key][$k]) ? '' : $arrayofvat[$key][$k]) : implode(', ', $def_tva[$key][$k])); $labelvatrate = $langs->trans("Taxes").' '.$tmpvatrate.' %'; $labelvatrate .= ($numtax ? ' - Localtax '.$numtax : ''); - print "" . $bookkeepingstatic->accountingLabelForOperation($userstatic->getNomUrl(0, 'user'), '', $labelvatrate) . ""; + print "" . $bookkeepingstatic->accountingLabelForOperation($userstatic->getNomUrl(0, 'user'), '', $labelvatrate, 1) . ""; print ''.($mt >= 0 ? price($mt) : '').""; print ''.($mt < 0 ? price(-$mt) : '').""; print ""; diff --git a/htdocs/accountancy/journal/purchasesjournal.php b/htdocs/accountancy/journal/purchasesjournal.php index afe272ba7d9..5565f3ac1af 100644 --- a/htdocs/accountancy/journal/purchasesjournal.php +++ b/htdocs/accountancy/journal/purchasesjournal.php @@ -1173,7 +1173,7 @@ if (empty($action) || $action == 'view') { print $accountoshow; } print ''; - print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'supplier'), $invoicestatic->ref_supplier, $langs->trans("SubledgerAccount")) . ""; + print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'supplier'), $invoicestatic->ref_supplier, $langs->trans("SubledgerAccount"), 1) . ""; print ''.($mt < 0 ? price(-$mt) : '').""; print ''.($mt >= 0 ? price($mt) : '').""; print ""; @@ -1216,7 +1216,7 @@ if (empty($action) || $action == 'view') { print ''; $companystatic->id = $tabcompany[$key]['id']; $companystatic->name = $tabcompany[$key]['name']; - print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'supplier'), $invoicestatic->ref_supplier, $accountingaccount->label) . ""; + print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'supplier'), $invoicestatic->ref_supplier, $accountingaccount->label, 1) . ""; print ''.($mt >= 0 ? price($mt) : '').""; print ''.($mt < 0 ? price(-$mt) : '').""; print ""; @@ -1279,7 +1279,7 @@ if (empty($action) || $action == 'view') { $tmpvatrate = (empty($def_tva[$key][$k]) ? (empty($arrayofvat[$key][$k]) ? '' : $arrayofvat[$key][$k]) : implode(', ', $def_tva[$key][$k])); $labelvatrate = $langs->trans("Taxes").' '.$tmpvatrate.' %'; $labelvatrate .= ($numtax ? ' - Localtax '.$numtax : ''); - print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'supplier'), $invoicestatic->ref_supplier, $labelvatrate) . ""; + print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'supplier'), $invoicestatic->ref_supplier, $labelvatrate, 1) . ""; print ''.($mt >= 0 ? price($mt) : '').""; print ''.($mt < 0 ? price(-$mt) : '').""; print ""; @@ -1309,7 +1309,7 @@ if (empty($action) || $action == 'view') { // Subledger account print ""; print ''; - print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'supplier'), $invoicestatic->ref_supplier, $langs->trans("VAT")." NPR (counterpart)") . ""; + print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'supplier'), $invoicestatic->ref_supplier, $langs->trans("VAT")." NPR (counterpart)", 1) . ""; print ''.($mt < 0 ? price(-$mt) : '').""; print ''.($mt >= 0 ? price($mt) : '').""; print ""; diff --git a/htdocs/accountancy/journal/sellsjournal.php b/htdocs/accountancy/journal/sellsjournal.php index d634288e372..93ad01b7588 100644 --- a/htdocs/accountancy/journal/sellsjournal.php +++ b/htdocs/accountancy/journal/sellsjournal.php @@ -1265,7 +1265,7 @@ if (empty($action) || $action == 'view') { print $accountoshow; } print ''; - print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0), $invoicestatic->ref, $langs->trans("RetainedWarranty")) . ""; + print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0), $invoicestatic->ref, $langs->trans("RetainedWarranty"), 1) . ""; print '' . ($mt >= 0 ? price($mt) : '') . ""; print '' . ($mt < 0 ? price(-$mt) : '') . ""; print ""; @@ -1296,7 +1296,7 @@ if (empty($action) || $action == 'view') { print $accountoshow; } print ''; - print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'customer'), $invoicestatic->ref, $langs->trans("SubledgerAccount")) . ""; + print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'customer'), $invoicestatic->ref, $langs->trans("SubledgerAccount"), 1) . ""; print ''.($mt >= 0 ? price($mt) : '').""; print ''.($mt < 0 ? price(-$mt) : '').""; print ""; @@ -1339,7 +1339,7 @@ if (empty($action) || $action == 'view') { print ''; $companystatic->id = $tabcompany[$key]['id']; $companystatic->name = $tabcompany[$key]['name']; - print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'customer'), $invoicestatic->ref, $accountingaccount->label) . ""; + print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'customer'), $invoicestatic->ref, $accountingaccount->label, 1) . ""; print ''.($mt < 0 ? price(-$mt) : '').""; print ''.($mt >= 0 ? price($mt) : '').""; print ""; @@ -1382,7 +1382,7 @@ if (empty($action) || $action == 'view') { $tmpvatrate = (empty($def_tva[$key][$k]) ? (empty($arrayofvat[$key][$k]) ? '' : $arrayofvat[$key][$k]) : implode(', ', $def_tva[$key][$k])); $labelvatrate = $langs->trans("Taxes").' '.$tmpvatrate.' %'; $labelvatrate .= ($numtax ? ' - Localtax '.$numtax : ''); - print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'customer'), $invoicestatic->ref, $labelvatrate) . ""; + print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'customer'), $invoicestatic->ref, $labelvatrate, 1) . ""; print ''.($mt < 0 ? price(-$mt) : '').""; print ''.($mt >= 0 ? price($mt) : '').""; print ""; @@ -1411,7 +1411,7 @@ if (empty($action) || $action == 'view') { // Subledger account print ""; print ''; - print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'customer'), $invoicestatic->ref, $langs->trans("RevenueStamp")) . ""; + print "" . $bookkeepingstatic->accountingLabelForOperation($companystatic->getNomUrl(0, 'customer'), $invoicestatic->ref, $langs->trans("RevenueStamp"), 1) . ""; print '' . ($mt < 0 ? price(-$mt) : '') . ""; print '' . ($mt >= 0 ? price($mt) : '') . ""; print ""; From 6185825f75aaf619cccfe7224160d30dd609ecd5 Mon Sep 17 00:00:00 2001 From: ldestailleur Date: Mon, 14 Apr 2025 13:58:54 +0200 Subject: [PATCH 03/18] Debug warning --- htdocs/website/samples/wrapper.php | 81 +++++++++++++++--------------- 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/htdocs/website/samples/wrapper.php b/htdocs/website/samples/wrapper.php index ea560aeb212..a84bc3a75b6 100644 --- a/htdocs/website/samples/wrapper.php +++ b/htdocs/website/samples/wrapper.php @@ -1,5 +1,6 @@ + * Copyright (C) 2025 MDW * * 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 @@ -152,11 +153,11 @@ if ($rss) { $website = new Website($db); $websitepage = new WebsitePage($db); - $website->fetch('', $websitekey); + $website->fetch(0, $websitekey); - $filters = array('type_container'=>'blogpost', 'status'=>1); + $filters = array('type_container' => 'blogpost', 'status' => '1'); if ($l) { - $filters['lang'] = $l; + $filters['lang'] = (string) $l; } $MAXNEWS = $limit; @@ -237,45 +238,43 @@ if ($rss) { } } - if ($result >= 0) { - $attachment = false; - if (GETPOSTISSET("attachment")) { - $attachment = GETPOST("attachment"); - } - //$attachment = false; - $contenttype = 'application/rss+xml'; - if (GETPOSTISSET("contenttype")) { - $contenttype = GETPOST("contenttype"); - } - //$contenttype='text/plain'; - $outputencoding = 'UTF-8'; - - if ($contenttype) { - header('Content-Type: '.$contenttype.($outputencoding ? '; charset='.$outputencoding : '')); - } - if ($attachment) { - header('Content-Disposition: attachment; filename="'.$filename.'"'); - } - - // Ajout directives pour resoudre bug IE - //header('Cache-Control: Public, must-revalidate'); - //header('Pragma: public'); - if ($cachedelay) { - header('Cache-Control: max-age='.$cachedelay.', private, must-revalidate'); - } else { - header('Cache-Control: private, must-revalidate'); - } - - // Clean parameters - $outputfile = $dir_temp.'/'.$filename; - $result = readfile($outputfile); - if (!$result) { - print 'File '.$outputfile.' was empty.'; - } - - // header("Location: ".DOL_URL_ROOT.'/document.php?modulepart=agenda&file='.urlencode($filename)); - exit(5); + $attachment = false; + if (GETPOSTISSET("attachment")) { + $attachment = GETPOST("attachment"); } + //$attachment = false; + $contenttype = 'application/rss+xml'; + if (GETPOSTISSET("contenttype")) { + $contenttype = GETPOST("contenttype"); + } + //$contenttype='text/plain'; + $outputencoding = 'UTF-8'; + + if ($contenttype) { + header('Content-Type: '.$contenttype.($outputencoding ? '; charset='.$outputencoding : '')); + } + if ($attachment) { + header('Content-Disposition: attachment; filename="'.$filename.'"'); + } + + // Ajout directives pour resoudre bug IE + //header('Cache-Control: Public, must-revalidate'); + //header('Pragma: public'); + if ($cachedelay) { + header('Cache-Control: max-age='.$cachedelay.', private, must-revalidate'); + } else { + header('Cache-Control: private, must-revalidate'); + } + + // Clean parameters + $outputfile = $dir_temp.'/'.$filename; + $result = readfile($outputfile); + if (!$result) { + print 'File '.$outputfile.' was empty.'; + } + + // header("Location: ".DOL_URL_ROOT.'/document.php?modulepart=agenda&file='.urlencode($filename)); + exit(5); } elseif ($modulepart == "mycompany" && preg_match('/^\/?logos\//', $original_file)) { // Get logos readfile(dol_osencode($conf->mycompany->dir_output."/".$original_file)); From c52b76cb2e9f941cee6e1e4bde425f7c09d50db3 Mon Sep 17 00:00:00 2001 From: Alexandre SPANGARO Date: Mon, 14 Apr 2025 19:24:42 +0200 Subject: [PATCH 04/18] FIX Order error translation (#33834) --- htdocs/langs/en_US/errors.lang | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang index 1a1571fba34..671eae89cd4 100644 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -327,6 +327,7 @@ ErrorGeneratingBarcode=Error while generating the barcode (probably invalid code ErrorTypeMenu=Impossible to add another menu for the same module on the navbar, not handle yet ErrorObjectNotFound = The object %s is not found, please check your url ErrorCountryCodeMustBe2Char=Country code must be a 2 character string +SomeShipmentExists=Error, there is some shipment linked to the order. Deletion refused. ErrorTableExist=Table %s already exist ErrorDictionaryNotFound=Dictionary %s not found From d7758f9ae6744f91a9adae1456346734485acc28 Mon Sep 17 00:00:00 2001 From: lvessiller-opendsi Date: Mon, 14 Apr 2025 19:25:41 +0200 Subject: [PATCH 05/18] FIX bank payment rejection on SEPA (backport commit 100a657) (#33838) --- .../class/rejetprelevement.class.php | 40 ++++++++++++------- htdocs/compta/prelevement/line.php | 2 +- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/htdocs/compta/prelevement/class/rejetprelevement.class.php b/htdocs/compta/prelevement/class/rejetprelevement.class.php index 27e27fe60bd..000b5389976 100644 --- a/htdocs/compta/prelevement/class/rejetprelevement.class.php +++ b/htdocs/compta/prelevement/class/rejetprelevement.class.php @@ -76,27 +76,28 @@ class RejetPrelevement } /** - * Create + * Create a reject * * @param User $user User object * @param int $id Id * @param string $motif Motif - * @param int $date_rejet Date rejet + * @param int $date_rejet Date reject * @param int $bonid Bon id - * @param int $facturation Facturation - * @return void + * @param int $facturation 1=Bill the reject + * @return int Return >=0 if OK, <0 if KO */ public function create($user, $id, $motif, $date_rejet, $bonid, $facturation = 0) { - global $langs, $conf; + global $langs; $error = 0; $this->id = $id; $this->bon_id = $bonid; $now = dol_now(); - dol_syslog("RejetPrelevement::Create id $id"); - $bankaccount = ($this->type == 'bank-transfer' ? $conf->global->PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT : $conf->global->PRELEVEMENT_ID_BANKACCOUNT); + dol_syslog("RejetPrelevement::Create id ".$id); + + $bankaccount = ($this->type == 'bank-transfer' ? getDolGlobalString('PAYMENTBYBANKTRANSFER_ID_BANKACCOUNT') : getDolGlobalString('PRELEVEMENT_ID_BANKACCOUNT')); $facs = $this->getListInvoices(1); require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/ligneprelevement.class.php'; @@ -152,17 +153,16 @@ class RejetPrelevement $fac->fetch($facs[$i][0]); - // Make a negative payment - //$pai = new Paiement($this->db); + $amountrejected = $facs[$i][1]; + // Make a negative payment + // Amount must be an array (id of invoice -> amount) $pai->amounts = array(); - /* - * We replace the comma with a point otherwise some - * PHP installs sends only the part integer negative - */ + //var_dump($this->type);exit; + + $pai->amounts[$facs[$i][0]] = price2num($amountrejected * -1); // The payment must be negative because it is a refund - $pai->amounts[$facs[$i][0]] = price2num($facs[$i][1] * ($this->type == 'bank-transfer' ? 1 : -1)); $pai->datepaye = $date_rejet; $pai->paiementid = 3; // type of payment: withdrawal $pai->num_paiement = $fac->ref; @@ -175,7 +175,13 @@ class RejetPrelevement $error++; dol_syslog("RejetPrelevement::Create Error creation payment invoice ".$facs[$i][0]); } else { - $result = $pai->addPaymentToBank($user, 'payment', '(InvoiceRefused)', $bankaccount, '', ''); + // We record entry into bank + $mode = 'payment'; + if ($this->type == 'bank-transfer') { + $mode = 'payment_supplier'; + } + + $result = $pai->addPaymentToBank($user, $mode, '(InvoiceRefused)', $bankaccount, '', ''); if ($result < 0) { dol_syslog("RejetPrelevement::Create AddPaymentToBan Error"); $error++; @@ -200,9 +206,13 @@ class RejetPrelevement if ($error == 0) { dol_syslog("RejetPrelevement::Create Commit"); $this->db->commit(); + + return 1; } else { dol_syslog("RejetPrelevement::Create Rollback"); $this->db->rollback(); + + return -1; } } diff --git a/htdocs/compta/prelevement/line.php b/htdocs/compta/prelevement/line.php index e91d76aca21..617d079c694 100644 --- a/htdocs/compta/prelevement/line.php +++ b/htdocs/compta/prelevement/line.php @@ -85,7 +85,7 @@ $error = 0; if ($action == 'confirm_rejet' && $permissiontoadd) { if (GETPOST("confirm") == 'yes') { if (GETPOST('remonth', 'int')) { - $daterej = mktime(2, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int')); + $daterej = dol_mktime(0, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int')); } if (empty($daterej)) { From a7206ed0f659c6f871244c77749f84726f80d4f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Mon, 14 Apr 2025 21:06:29 +0200 Subject: [PATCH 06/18] fix CI branch 21. (#33846) --- htdocs/accountancy/class/bookkeeping.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/accountancy/class/bookkeeping.class.php b/htdocs/accountancy/class/bookkeeping.class.php index 2d9cb5361ac..6717c0d03a0 100644 --- a/htdocs/accountancy/class/bookkeeping.class.php +++ b/htdocs/accountancy/class/bookkeeping.class.php @@ -2449,7 +2449,7 @@ class BookKeeping extends CommonObject * @param string $thirdpartyname Thirdparty name * @param string $reference Reference of the element * @param string $labelaccount Label of the accounting account - * @param string $full 0=Default, 1=Keep label intact (no trunc so HTML content is not corrupted) + * @param int<0,1> $full 0=Default, 1=Keep label intact (no trunc so HTML content is not corrupted) * @return string Label of the operation */ public function accountingLabelForOperation($thirdpartyname, $reference, $labelaccount, $full = 0) From 67962812d1ab50827f6ecf4a9fcba0dc3f551007 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Tue, 15 Apr 2025 17:19:27 +0200 Subject: [PATCH 07/18] fix CI branch 21.0 (#33851) --- htdocs/comm/action/list.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/htdocs/comm/action/list.php b/htdocs/comm/action/list.php index ec543742922..8e41e1d4c69 100644 --- a/htdocs/comm/action/list.php +++ b/htdocs/comm/action/list.php @@ -499,9 +499,16 @@ if (!empty($actioncode)) { } else { if (is_array($actioncode)) { // Remove all -1 values - $actioncode = array_filter($actioncode, function ($value) { - return ((string) $value !== '-1'); - }); + $actioncode = array_filter( + $actioncode, + /** + * @param string $value + * @return bool + */ + function ($value) { + return ((string) $value !== '-1'); + } + ); if (count($actioncode)) { $sql .= " AND c.code IN (".$db->sanitize("'".implode("','", $actioncode)."'", 1).")"; } From 1d71d2803349c2ed27bad537ef432d7543742e0f Mon Sep 17 00:00:00 2001 From: John BOTELLA <68917336+thersane-john@users.noreply.github.com> Date: Tue, 15 Apr 2025 17:20:47 +0200 Subject: [PATCH 08/18] Fix php warning (#33849) --- htdocs/fourn/facture/paiement.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index 377dd9a34ca..98b441d9d63 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -538,7 +538,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie print dol_get_fiche_end(); - $parameters = array('facid' => $facid, 'ref' => $ref, 'objcanvas' => $objcanvas); + $parameters = array('facid' => $facid, 'ref' => $obj->ref); $reshook = $hookmanager->executeHooks('paymentsupplierinvoices', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks $error = $hookmanager->error; $errors = $hookmanager->errors; @@ -587,7 +587,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie } print '
'; - print ''."\n"; + print '
'."\n"; print ''; print ''; From 6ed077e446abbe58dfea887332f990da46ca09cc Mon Sep 17 00:00:00 2001 From: Can Arslan <138895927+mc2rcanarslan@users.noreply.github.com> Date: Wed, 16 Apr 2025 09:48:17 -0600 Subject: [PATCH 09/18] fix: typo (#33877) --- htdocs/user/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/user/card.php b/htdocs/user/card.php index 264fa0f0647..1f5e39679a8 100644 --- a/htdocs/user/card.php +++ b/htdocs/user/card.php @@ -2585,7 +2585,7 @@ if ($action == 'create' || $action == 'adduserldap') { print ''; // Country - print '
'.$langs->trans('Invoice').'
'.$form->editfieldkey('Country', 'selectcounty_id', '', $object, 0).''; + print '
'.$form->editfieldkey('Country', 'selectcountry_id', '', $object, 0).''; print img_picto('', 'country', 'class="pictofixedwidth"'); if ($caneditfield) { print $form->select_country((GETPOST('country_id') != '' ? GETPOST('country_id') : $object->country_id), 'country_id'); From 483112810eb9fe1e6d2269b73b7f6d67c224de1f Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Wed, 16 Apr 2025 20:00:13 +0200 Subject: [PATCH 10/18] FIX avoid sql error when a comment is after without comma (#33758) * FIX avoid sql error when a comment is after without comma * FIX syntax error * Update admin.lib.php --------- Co-authored-by: Laurent Destailleur --- htdocs/core/lib/admin.lib.php | 2 +- .../install/mysql/tables/llx_societe_perentity-multicompany.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php index 3159c7d297a..3e9977faaed 100644 --- a/htdocs/core/lib/admin.lib.php +++ b/htdocs/core/lib/admin.lib.php @@ -242,7 +242,7 @@ function run_sql($sqlfile, $silent = 1, $entity = 0, $usesavepoint = 1, $handler // Add line buf to buffer if not a comment if ($nocommentremoval || !preg_match('/^\s*--/', $buf)) { if (empty($nocommentremoval)) { - $buf = preg_replace('/([,;ERLT\)])\s*--.*$/i', '\1', $buf); //remove comment from a line that not start with -- before add it to the buffer + $buf = preg_replace('/([,;ERLT0\)])\s+--.*$/i', '\1', $buf); //remove comment on lines that does not start with --, before adding it to the buffer } if ($buffer) { $buffer .= ' '; diff --git a/htdocs/install/mysql/tables/llx_societe_perentity-multicompany.sql b/htdocs/install/mysql/tables/llx_societe_perentity-multicompany.sql index 64308faacac..a8d28fb6b22 100644 --- a/htdocs/install/mysql/tables/llx_societe_perentity-multicompany.sql +++ b/htdocs/install/mysql/tables/llx_societe_perentity-multicompany.sql @@ -28,5 +28,5 @@ create table llx_societe_perentity accountancy_code_supplier varchar(32), -- supplier accountancy auxiliary account accountancy_code_sell varchar(32), -- Selling accountancy code accountancy_code_buy varchar(32), -- Buying accountancy code - vat_reverse_charge tinyint DEFAULT 0 + vat_reverse_charge tinyint DEFAULT 0 -- VAT reverse charge )ENGINE=innodb; From 5837c46f5a0644c62c5bdc011cd0ecda0ec20582 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Fali=C3=A8re?= <121813548+BenjaminFlr@users.noreply.github.com> Date: Fri, 18 Apr 2025 15:00:27 +0200 Subject: [PATCH 11/18] FIX: partial result on timespent list (#33855) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Benjamin Falière --- htdocs/projet/tasks/time.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index 00c4a8e8053..0449f06547e 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -1616,7 +1616,7 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0 || $allprojectforuser $sql .= " AND pt.fk_projet IN (" . $db->sanitize($projectidforalltimes) . ")"; } elseif (!empty($allprojectforuser)) { // Limit on on user - if (empty($search_user)) { + if (empty($search_user) && !empty($arrayfields['author']['checked'])) { $search_user = $user->id; } if ($search_user > 0) { From 06cbf7e50e2cee2907d8f8873436eae2923d3b9d Mon Sep 17 00:00:00 2001 From: Mohamed DAOUD Date: Fri, 18 Apr 2025 20:02:57 +0200 Subject: [PATCH 12/18] enhance website payment v21 (#33915) --- htdocs/public/payment/paymentko.php | 14 +++----------- htdocs/public/payment/paymentok.php | 28 ++++++---------------------- 2 files changed, 9 insertions(+), 33 deletions(-) diff --git a/htdocs/public/payment/paymentko.php b/htdocs/public/payment/paymentko.php index de41adb9ef4..3cd0ecd04a6 100644 --- a/htdocs/public/payment/paymentko.php +++ b/htdocs/public/payment/paymentko.php @@ -359,15 +359,7 @@ if (!empty($doactionsthenredirect)) { $ext_urlko = DOL_URL_ROOT.'/public/website/index.php?paymentsessionkey='.urlencode($randomseckey).'&website='.urlencode($ws).'&pageref=paymentko&fulltag='.$FULLTAG; } - if (getDolGlobalInt('MARKETPLACE_PAYMENT_IN_FRAME') == 1) { // TODO Remove this to make only a http redirect, if the website need a js redirect to parent frame, he must do it itself. - dol_syslog("Now do a redirect in iframe mode in js to ".$ext_urlko, LOG_DEBUG, 0, '_payment'); - - // Redirect in js is not reliable - print ""; - } else { - dol_syslog("Now do a redirect using Location : ".$ext_urlko, LOG_DEBUG, 0, '_payment'); - - header("Location: ".$ext_urlko); - exit; - } + dol_syslog("Now do a redirect using Location : ".$ext_urlko, LOG_DEBUG, 0, '_payment'); + header("Location: ".$ext_urlko); + exit; } diff --git a/htdocs/public/payment/paymentok.php b/htdocs/public/payment/paymentok.php index 6bde8c52f96..7ee00438afc 100644 --- a/htdocs/public/payment/paymentok.php +++ b/htdocs/public/payment/paymentok.php @@ -2166,17 +2166,9 @@ if (!empty($doactionsthenredirect)) { $ext_urlok = DOL_URL_ROOT.'/public/website/index.php?paymentsessionkey='.urlencode($randomseckey).'&website='.urlencode($ws).'&pageref=paymentok&fulltag='.$FULLTAG; } - if (getDolGlobalInt('MARKETPLACE_PAYMENT_IN_FRAME') == 1) { // TODO Remove this to make only a http redirect, if the website need a js redirect to parent frame, he must do it itself. - dol_syslog("Now do a redirect in iframe mode in js to ".$ext_urlok, LOG_DEBUG, 0, '_payment'); - - // Redirect in js is not reliable - print ""; - } else { - dol_syslog("Now do a redirect using a Location: ".$ext_urlok, LOG_DEBUG, 0, '_payment'); - - header("Location: ".$ext_urlok); - exit; - } + dol_syslog("Now do a redirect using a Location: ".$ext_urlok, LOG_DEBUG, 0, '_payment'); + header("Location: ".$ext_urlok); + exit; } else { // Redirect to an error page // Paymentko page must be created for the specific website @@ -2186,16 +2178,8 @@ if (!empty($doactionsthenredirect)) { $ext_urlko = DOL_URL_ROOT.'/public/website/index.php?paymentsessionkey='.urlencode($randomseckey).'&website='.urlencode($ws).'&pageref=paymentko&fulltag='.$FULLTAG; } - if (getDolGlobalInt('MARKETPLACE_PAYMENT_IN_FRAME') == 1) { // TODO Remove this to make only a http redirect, if the website need a js redirect to parent frame, he must do it itself. - dol_syslog("Now do a redirect in iframe mode in js to ".$ext_urlko, LOG_DEBUG, 0, '_payment'); - - // Redirect in js is not reliable - print ""; - } else { - dol_syslog("Now do a redirect using a Location:".$ext_urlko, LOG_DEBUG, 0, '_payment'); - - header("Location: ".$ext_urlko); - exit; - } + dol_syslog("Now do a redirect using a Location:".$ext_urlko, LOG_DEBUG, 0, '_payment'); + header("Location: ".$ext_urlko); + exit; } } From f5b11b78daf2a247781e8d5edd25736870e3ab1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Sat, 19 Apr 2025 11:46:22 +0200 Subject: [PATCH 13/18] fix typo (#33920) --- htdocs/core/class/html.form.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 880c450f798..7f3a5678671 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -6248,7 +6248,7 @@ class Form $TCurrency = array(); $sql = "SELECT code FROM " . $this->db->prefix() . "multicurrency"; - $sql .= " WHERE entity IN ('" . getEntity('mutlicurrency') . "')"; + $sql .= " WHERE entity IN ('" . getEntity('multicurrency') . "')"; if ($filter) { $sql .= " AND " . $filter; } From 5b8de3560dc6204bdb04a040ef6619c506c0c691 Mon Sep 17 00:00:00 2001 From: ldestailleur Date: Sun, 20 Apr 2025 12:38:48 +0200 Subject: [PATCH 14/18] Fix cast var in sql --- htdocs/comm/propal/class/propal.class.php | 50 +++++++++++------------ 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index a215eece1c4..32f7749190a 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -1817,33 +1817,33 @@ class Propal extends CommonObject // Update request $sql = "UPDATE ".MAIN_DB_PREFIX."propal SET"; - $sql .= " ref=".(isset($this->ref) ? "'".$this->db->escape($this->ref)."'" : "null").","; - $sql .= " ref_client=".(isset($this->ref_client) ? "'".$this->db->escape($this->ref_client)."'" : "null").","; - $sql .= " ref_ext=".(isset($this->ref_ext) ? "'".$this->db->escape($this->ref_ext)."'" : "null").","; - $sql .= " fk_soc=".(isset($this->socid) ? $this->socid : "null").","; - $sql .= " datep=".(strval($this->date) != '' ? "'".$this->db->idate($this->date)."'" : 'null').","; + $sql .= " ref = ".(isset($this->ref) ? "'".$this->db->escape($this->ref)."'" : "null").","; + $sql .= " ref_client = ".(isset($this->ref_client) ? "'".$this->db->escape($this->ref_client)."'" : "null").","; + $sql .= " ref_ext = ".(isset($this->ref_ext) ? "'".$this->db->escape($this->ref_ext)."'" : "null").","; + $sql .= " fk_soc = ".(!empty($this->socid) ? (int) $this->socid : "null").","; + $sql .= " datep = ".(strval($this->date) != '' ? "'".$this->db->idate($this->date)."'" : 'null').","; if (!empty($this->fin_validite)) { - $sql .= " fin_validite=".(strval($this->fin_validite) != '' ? "'".$this->db->idate($this->fin_validite)."'" : 'null').","; + $sql .= " fin_validite = ".(strval($this->fin_validite) != '' ? "'".$this->db->idate($this->fin_validite)."'" : 'null').","; } - $sql .= " date_valid=".(strval($this->date_validation) != '' ? "'".$this->db->idate($this->date_validation)."'" : 'null').","; - $sql .= " total_tva=".(isset($this->total_tva) ? $this->total_tva : "null").","; - $sql .= " localtax1=".(isset($this->total_localtax1) ? $this->total_localtax1 : "null").","; - $sql .= " localtax2=".(isset($this->total_localtax2) ? $this->total_localtax2 : "null").","; - $sql .= " total_ht=".(isset($this->total_ht) ? $this->total_ht : "null").","; - $sql .= " total_ttc=".(isset($this->total_ttc) ? $this->total_ttc : "null").","; - $sql .= " fk_statut=".(isset($this->status) ? $this->status : "null").","; - $sql .= " fk_user_author=".(isset($this->user_author_id) ? $this->user_author_id : "null").","; - $sql .= " fk_user_valid=".(isset($this->user_validation_id) ? $this->user_validation_id : "null").","; - $sql .= " fk_projet=".(isset($this->fk_project) ? $this->fk_project : "null").","; - $sql .= " fk_cond_reglement=".(isset($this->cond_reglement_id) ? $this->cond_reglement_id : "null").","; - $sql .= " deposit_percent=".(!empty($this->deposit_percent) ? "'".$this->db->escape($this->deposit_percent)."'" : "null").","; - $sql .= " fk_mode_reglement=".(isset($this->mode_reglement_id) ? $this->mode_reglement_id : "null").","; - $sql .= " fk_input_reason=".(isset($this->demand_reason_id) ? $this->demand_reason_id : "null").","; - $sql .= " note_private=".(isset($this->note_private) ? "'".$this->db->escape($this->note_private)."'" : "null").","; - $sql .= " note_public=".(isset($this->note_public) ? "'".$this->db->escape($this->note_public)."'" : "null").","; - $sql .= " model_pdf=".(isset($this->model_pdf) ? "'".$this->db->escape($this->model_pdf)."'" : "null").","; - $sql .= " import_key=".(isset($this->import_key) ? "'".$this->db->escape($this->import_key)."'" : "null"); - $sql .= " WHERE rowid=".((int) $this->id); + $sql .= " date_valid = ".(strval($this->date_validation) != '' ? "'".$this->db->idate($this->date_validation)."'" : 'null').","; + $sql .= " total_tva = ".(isset($this->total_tva) ? (float) $this->total_tva : "null").","; + $sql .= " localtax1 = ".(isset($this->total_localtax1) ? (float) $this->total_localtax1 : "null").","; + $sql .= " localtax2 = ".(isset($this->total_localtax2) ? (float) $this->total_localtax2 : "null").","; + $sql .= " total_ht = ".(isset($this->total_ht) ? (float) $this->total_ht : "null").","; + $sql .= " total_ttc = ".(isset($this->total_ttc) ? (float) $this->total_ttc : "null").","; + $sql .= " fk_statut = ".(isset($this->status) ? (int) $this->status : "null").","; + $sql .= " fk_user_author = ".(!empty($this->user_author_id) ? (int) $this->user_author_id : "null").","; + $sql .= " fk_user_valid = ".(!empty($this->user_validation_id) ? (int) $this->user_validation_id : "null").","; + $sql .= " fk_projet = ".(!empty($this->fk_project) ? (int) $this->fk_project : "null").","; + $sql .= " fk_cond_reglement = ".(!empty($this->cond_reglement_id) ? (int) $this->cond_reglement_id : "null").","; + $sql .= " deposit_percent = ".(!empty($this->deposit_percent) ? "'".$this->db->escape($this->deposit_percent)."'" : "null").","; + $sql .= " fk_mode_reglement = ".(!empty($this->mode_reglement_id) ? (int) $this->mode_reglement_id : "null").","; + $sql .= " fk_input_reason = ".(!empty($this->demand_reason_id) ? (int) $this->demand_reason_id : "null").","; + $sql .= " note_private = ".(isset($this->note_private) ? "'".$this->db->escape($this->note_private)."'" : "null").","; + $sql .= " note_public = ".(isset($this->note_public) ? "'".$this->db->escape($this->note_public)."'" : "null").","; + $sql .= " model_pdf = ".(isset($this->model_pdf) ? "'".$this->db->escape($this->model_pdf)."'" : "null").","; + $sql .= " import_key = ".(isset($this->import_key) ? "'".$this->db->escape($this->import_key)."'" : "null"); + $sql .= " WHERE rowid = ".((int) $this->id); $this->db->begin(); From f1fbb98acd3007586f533d1c2581cfa31f7c2ccc Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Sun, 20 Apr 2025 18:55:35 +0200 Subject: [PATCH 15/18] Fix api_setup.class.php (#33930) --- htdocs/api/class/api_setup.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/api/class/api_setup.class.php b/htdocs/api/class/api_setup.class.php index f888c5a1efe..6636f7b82b1 100644 --- a/htdocs/api/class/api_setup.class.php +++ b/htdocs/api/class/api_setup.class.php @@ -85,8 +85,9 @@ class Setup extends DolibarrApi $sql = "SELECT t.rowid as id, t.elementtype, t.code, t.contexts, t.label, t.description, t.rang"; $sql .= " FROM ".MAIN_DB_PREFIX."c_action_trigger as t"; + $sql .= " WHERE 1=1"; if (!empty($elementtype)) { - $sql .= " WHERE t.elementtype = '".$this->db->escape($elementtype)."'"; + $sql .= " AND t.elementtype = '".$this->db->escape($elementtype)."'"; } // Add sql filters if ($sqlfilters) { From 61df34acd6e2f63de700fcb12cfe96a075a98797 Mon Sep 17 00:00:00 2001 From: William Mead Date: Mon, 21 Apr 2025 10:42:51 +0200 Subject: [PATCH 16/18] Fixed public ticket layout for Safari (#33933) --- htdocs/theme/eldy/global.inc.php | 2 +- htdocs/theme/md/style.css.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/theme/eldy/global.inc.php b/htdocs/theme/eldy/global.inc.php index 4ee2d59f8a9..732a03b9d5f 100644 --- a/htdocs/theme/eldy/global.inc.php +++ b/htdocs/theme/eldy/global.inc.php @@ -1546,7 +1546,7 @@ div.fiche { } .flexcontainer { - browser->name, array('chrome', 'firefox'))) { + browser->name, array('chrome', 'firefox', 'safari'))) { echo 'display: inline-flex;'."\n"; } ?> flex-flow: row wrap; diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index a1ca45245ac..b218fcdb35f 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -1772,7 +1772,7 @@ div.fiche>form>div.div-table-responsive { } .flexcontainer { - browser->name, array('chrome', 'firefox'))) { + browser->name, array('chrome', 'firefox', 'safari'))) { echo 'display: inline-flex;'."\n"; } ?> flex-flow: row wrap; From b8589efd924864729d35caa1352d3f91df2006ba Mon Sep 17 00:00:00 2001 From: ldestailleur Date: Mon, 21 Apr 2025 13:35:48 +0200 Subject: [PATCH 17/18] Fix spellcheck --- htdocs/admin/system/filecheck.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/admin/system/filecheck.php b/htdocs/admin/system/filecheck.php index 06905ffb3ca..46ecb4c2674 100644 --- a/htdocs/admin/system/filecheck.php +++ b/htdocs/admin/system/filecheck.php @@ -133,18 +133,18 @@ print '
'; print ''."\n"; if (dol_is_file($xmlfile)) { print ' = '; - print ''; + print ''; print '
'; } else { print ' '; print '
'; } print ''."\n"; if ($enableremotecheck) { print ' = '; - print '
'; + print '
'; } else { print ' '.$langs->trans("RemoteSignature").' = '.dol_escape_htmltag($xmlremote); if (!GETPOST('xmlremote')) { From da437d6ff2bc7781640f33ac37d7f5960a753377 Mon Sep 17 00:00:00 2001 From: ldestailleur Date: Mon, 21 Apr 2025 13:38:22 +0200 Subject: [PATCH 18/18] Space --- htdocs/admin/system/filecheck.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/admin/system/filecheck.php b/htdocs/admin/system/filecheck.php index 46ecb4c2674..01e67514e49 100644 --- a/htdocs/admin/system/filecheck.php +++ b/htdocs/admin/system/filecheck.php @@ -58,7 +58,7 @@ llxHeader('', '', '', '', 0, 0, '', '', '', 'mod-admin page-system_filecheck'); print load_fiche_titre($langs->trans("FileCheckDolibarr"), '', 'title_setup'); -print ''.$langs->trans("FileCheckDesc").'

'; +print '
'.$langs->trans("FileCheckDesc").'


'; // Version print '
'; @@ -141,6 +141,7 @@ if (dol_is_file($xmlfile)) { print ' ('.$langs->trans("AvailableOnlyOnPackagedVersions").')'; print '
'; } +print '
'; print ''."\n"; if ($enableremotecheck) { print ' = ';