*
* This program is free software; you can redistribute it and/or modify
@@ -60,19 +59,9 @@ if ($id > 0 || !empty($ref)) {
$upload_dir = $conf->bookcal->multidir_output[!empty($object->entity) ? $object->entity : $conf->entity]."/".$object->id;
}
-
-// There is several ways to check permission.
-// Set $enablepermissioncheck to 1 to enable a minimum low level of checks
-$enablepermissioncheck = 0;
-if ($enablepermissioncheck) {
- $permissiontoread = $user->hasRight('bookcal', 'availabilities', 'read');
- $permissiontoadd = $user->hasRight('bookcal', 'availabilities', 'write');
- $permissionnote = $user->hasRight('bookcal', 'availabilities', 'write'); // Used by the include of actions_setnotes.inc.php
-} else {
- $permissiontoread = 1;
- $permissiontoadd = 1;
- $permissionnote = 1;
-}
+$permissiontoread = $user->hasRight('bookcal', 'availabilities', 'read');
+$permissiontoadd = $user->hasRight('bookcal', 'availabilities', 'write');
+$permissionnote = $user->hasRight('bookcal', 'availabilities', 'write'); // Used by the include of actions_setnotes.inc.php
// Security check (enable the most restrictive one)
//if ($user->socid > 0) accessforbidden();
diff --git a/htdocs/comm/mailing/cibles.php b/htdocs/comm/mailing/cibles.php
index d5d99d1c8da..ce1ef8fbcce 100644
--- a/htdocs/comm/mailing/cibles.php
+++ b/htdocs/comm/mailing/cibles.php
@@ -915,7 +915,7 @@ if ($object->fetch($id) >= 0) {
// Action column
if (getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
- print '| ';
+ print ' | ';
print '';
if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
$selected = 0;
@@ -926,7 +926,7 @@ if ($object->fetch($id) >= 0) {
}
if ($obj->status == $object::STATUS_DRAFT) { // Not sent yet
if ($user->hasRight('mailing', 'creer')) {
- print ''.img_delete($langs->trans("RemoveRecipient")).'';
+ print ''.img_delete($langs->trans("RemoveRecipient")).'';
}
}
/*if ($obj->status == -1) // Sent with error
@@ -977,14 +977,14 @@ if ($object->fetch($id) >= 0) {
// Date last update
print ' | ';
- print dol_print_date(dol_stringtotime($obj->tms), 'dayhour');
+ print dol_print_date($db->jdate($obj->tms), 'dayhour', 'tzuserrel');
print ' | ';
// Date sent
print '';
if ($obj->status != $object::STATUS_DRAFT) { // If status of target line is not draft
// Date sent
- print $obj->date_envoi; // @TODO Must store date in date format
+ print dol_print_date($db->jdate($obj->date_envoi), 'dayhour', 'tzuserrel'); // @TODO Must store date in date format
}
print ' | ';
@@ -999,11 +999,11 @@ if ($object->fetch($id) >= 0) {
// Action column
if (!getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
- print '';
+ print ' | ';
print '';
if ($obj->status == $object::STATUS_DRAFT) { // If status of target line is not sent yet
if ($user->hasRight('mailing', 'creer')) {
- print ''.img_delete($langs->trans("RemoveRecipient")).'';
+ print ''.img_delete($langs->trans("RemoveRecipient")).'';
}
}
/*if ($obj->status == -1) // Sent with error
diff --git a/htdocs/compta/paiement_charge.php b/htdocs/compta/paiement_charge.php
index f1a51a873a5..aa477454751 100644
--- a/htdocs/compta/paiement_charge.php
+++ b/htdocs/compta/paiement_charge.php
@@ -195,7 +195,7 @@ if ($action == 'create') {
print ' | | '.$langs->trans("Ref").' | '.$chid.' |
';
print '| '.$langs->trans("Label").' | '.$charge->label." |
\n";
print '| '.$langs->trans("Type")." | ".$charge->type_label." |
\n";
- print '| '.$langs->trans("Period")." | ".dol_print_date($charge->periode, 'day')." |
\n";
+ print '| '.$langs->trans("Period")." | ".dol_print_date($charge->period, 'day')." |
\n";
/*print '| '.$langs->trans("DateDue")." | ".dol_print_date($charge->date_ech,'day')." |
\n";
print '| '.$langs->trans("Amount")." | ".price($charge->amount,0,$outputlangs,1,-1,-1,$conf->currency).' |
';*/
diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php
index 967c4cf2f9c..24ce4487aed 100644
--- a/htdocs/compta/prelevement/class/bonprelevement.class.php
+++ b/htdocs/compta/prelevement/class/bonprelevement.class.php
@@ -2394,12 +2394,16 @@ class BonPrelevement extends CommonObject
} else {
$instrprty = 'NORM';
}
+
+ // Set $categoryPurpose: CORE, TREA, SUPP, ...
+ $categoryPurpose = getDolGlobalString('PAYMENTBYBANKTRANSFER_CUSTOM_CATEGORY_PURPOSE', 'CORE');
+
$XML_CREDITOR .= ' ' . $instrprty . '' . $CrLf;
$XML_CREDITOR .= ' ' . $CrLf;
$XML_CREDITOR .= ' SEPA' . $CrLf;
$XML_CREDITOR .= ' ' . $CrLf;
$XML_CREDITOR .= ' ' . $CrLf;
- $XML_CREDITOR .= ' CORE' . $CrLf;
+ $XML_CREDITOR .= ' ' . $categoryPurpose . '' . $CrLf;
$XML_CREDITOR .= ' ' . $CrLf;
$XML_CREDITOR .= ' ' . $CrLf;
}
@@ -2578,6 +2582,7 @@ class BonPrelevement extends CommonObject
$country = explode(':', $configuration->global->MAIN_INFO_SOCIETE_COUNTRY);
$IdBon = sprintf("%05d", $obj->rowid);
$RefBon = $obj->ref;
+ $localInstrument = getDolGlobalString('PAYMENTBYBANKTRANSFER_CUSTOM_LOCAL_INSTRUMENT', 'CORE');
if (!empty($configuration->global->SEPA_FORCE_TWO_DECIMAL)) {
$total = number_format((float) price2num($total, 'MT'), 2, ".", "");
@@ -2596,7 +2601,7 @@ class BonPrelevement extends CommonObject
$XML_SEPA_INFO .= ' SEPA' . $CrLf;
$XML_SEPA_INFO .= ' ' . $CrLf;
$XML_SEPA_INFO .= ' ' . $CrLf;
- $XML_SEPA_INFO .= ' CORE' . $CrLf;
+ $XML_SEPA_INFO .= ' ' . $localInstrument . '' . $CrLf;
$XML_SEPA_INFO .= ' ' . $CrLf;
$XML_SEPA_INFO .= ' ' . $format . '' . $CrLf;
$XML_SEPA_INFO .= ' ' . $CrLf;
@@ -2661,7 +2666,7 @@ class BonPrelevement extends CommonObject
$XML_SEPA_INFO .= ' SEPA' . $CrLf;
$XML_SEPA_INFO .= ' ' . $CrLf;
$XML_SEPA_INFO .= ' ' . $CrLf;
- $XML_SEPA_INFO .= ' CORE' . $CrLf;
+ $XML_SEPA_INFO .= ' ' . $localInstrument . '' . $CrLf;
$XML_SEPA_INFO .= ' ' . $CrLf;
$XML_SEPA_INFO .= ' ' . $format . '' . $CrLf;
$XML_SEPA_INFO .= ' ' . $CrLf;
diff --git a/htdocs/compta/sociales/card.php b/htdocs/compta/sociales/card.php
index 72283b129b3..5bfe9ab6054 100644
--- a/htdocs/compta/sociales/card.php
+++ b/htdocs/compta/sociales/card.php
@@ -293,12 +293,13 @@ if (empty($reshook)) {
$object->date_ech = dol_time_plus_duree($object->date_ech, 1, 'm');
} else {
// Note date_ech is often a little bit higher than dateperiod
+ $newdateech = dol_mktime(0, 0, 0, GETPOSTINT('clone_date_echmonth'), GETPOSTINT('clone_date_echday'), GETPOSTINT('clone_date_echyear')); // = date of creation or due date
$newdateperiod = dol_mktime(0, 0, 0, GETPOSTINT('clone_periodmonth'), GETPOSTINT('clone_periodday'), GETPOSTINT('clone_periodyear'));
- $newdateech = dol_mktime(0, 0, 0, GETPOSTINT('clone_date_echmonth'), GETPOSTINT('clone_date_echday'), GETPOSTINT('clone_date_echyear'));
+
if ($newdateperiod) {
$object->period = $newdateperiod;
if (empty($newdateech)) {
- $object->date_ech = $object->periode;
+ $object->date_ech = $object->period;
}
}
if ($newdateech) {
diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php
index 7aa08227626..fcfffab7b7c 100644
--- a/htdocs/compta/sociales/class/chargesociales.class.php
+++ b/htdocs/compta/sociales/class/chargesociales.class.php
@@ -300,7 +300,7 @@ class ChargeSociales extends CommonObject
$sql .= ", ".($this->mode_reglement_id > 0 ? ((int) $this->mode_reglement_id) : "NULL");
$sql .= ", '".$this->db->escape($this->label ? $this->label : $this->lib)."'";
$sql .= ", '".$this->db->idate($this->date_ech)."'";
- $sql .= ", '".$this->db->idate($this->periode)."'";
+ $sql .= ", '".$this->db->idate($this->period)."'";
$sql .= ", '".price2num($newamount)."'";
$sql .= ", ".($this->fk_project > 0 ? ((int) $this->fk_project) : 'NULL');
$sql .= ", ".((int) $conf->entity);
diff --git a/htdocs/compta/sociales/list.php b/htdocs/compta/sociales/list.php
index cc84c6c53bd..f2a4f3ecba0 100644
--- a/htdocs/compta/sociales/list.php
+++ b/htdocs/compta/sociales/list.php
@@ -210,7 +210,7 @@ llxHeader('', $title, '', '', 0, 0, '', '', '', 'bodyforlist');
$arrayofselected = is_array($toselect) ? $toselect : array();
$sql = "SELECT cs.rowid, cs.fk_type as type, cs.fk_user,";
-$sql .= " cs.amount, cs.date_ech, cs.libelle as label, cs.paye, cs.periode, cs.fk_account,";
+$sql .= " cs.amount, cs.date_ech, cs.libelle as label, cs.paye, cs.periode as period, cs.fk_account,";
if (isModEnabled('project')) {
$sql .= " p.rowid as project_id, p.ref as project_ref, p.title as project_label,";
}
@@ -748,7 +748,7 @@ while ($i < $imaxinloop) {
// Date end period
if (!empty($arrayfields['cs.periode']['checked'])) {
- print ''.dol_print_date($db->jdate($obj->periode), 'day').' | ';
+ print ''.dol_print_date($db->jdate($obj->period), 'day').' | ';
if (!$i) {
$totalarray['nbfield']++;
}
diff --git a/htdocs/compta/sociales/payments.php b/htdocs/compta/sociales/payments.php
index a32d652fd1c..fe9816caf40 100644
--- a/htdocs/compta/sociales/payments.php
+++ b/htdocs/compta/sociales/payments.php
@@ -154,7 +154,7 @@ print '';
print '';
$sql = "SELECT c.id, c.libelle as type_label,";
-$sql .= " cs.rowid, cs.libelle as label_sc, cs.fk_type as type, cs.periode, cs.date_ech, cs.amount as total, cs.paye,";
+$sql .= " cs.rowid, cs.libelle as label_sc, cs.fk_type as type, cs.periode as period, cs.date_ech, cs.amount as total, cs.paye,";
$sql .= " pc.rowid as pid, pc.datep, pc.amount as totalpaid, pc.num_paiement as num_payment, pc.fk_bank,";
$sql .= " pct.code as payment_code,";
$sql .= " u.rowid as uid, u.lastname, u.firstname, u.email, u.login, u.admin, u.statut,";
@@ -175,8 +175,8 @@ if ($search_sc_type > 0) {
}
if ($year > 0) {
$sql .= " AND (";
- // Si period renseignee on l'utilise comme critere de date, sinon on prend date echeance,
- // ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire
+ // If period defined, we use it as a date criteria, elsewe use the dure date,
+ // so we are compatible with case where period is not mandatory.
$sql .= " (cs.periode IS NOT NULL AND cs.periode between '".$db->idate(dol_get_first_day($year))."' AND '".$db->idate(dol_get_last_day($year))."')";
$sql .= " OR (cs.periode IS NULL AND cs.date_ech between '".$db->idate(dol_get_first_day($year))."' AND '".$db->idate(dol_get_last_day($year))."')";
$sql .= ")";
@@ -296,9 +296,9 @@ while ($i < min($num, $limit)) {
print $socialcontrib->getNomUrl(1, '');
print '';
// Type
- print ''.$obj->type_label.' | ';
+ print ''.dolPrintHTML($obj->type_label).' | ';
// Date
- $date = $obj->periode;
+ $date = $obj->period;
if (empty($date)) {
$date = $obj->date_ech;
}
diff --git a/htdocs/compta/tva/payments.php b/htdocs/compta/tva/payments.php
index 9384a292aff..48fa39fce67 100644
--- a/htdocs/compta/tva/payments.php
+++ b/htdocs/compta/tva/payments.php
@@ -204,8 +204,8 @@ if (isModEnabled('tax') && $user->hasRight('tax', 'charges', 'lire')) {
$sql .= " AND tva.entity = " . $conf->entity;
if ($year > 0) {
$sql .= " AND (";
- // Si period renseignee on l'utilise comme critere de date, sinon on prend date echeance,
- // ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire
+ // We'll use the specified period as the date filter, unless it's missing, in which case we'll use the due date.
+ // This is to handle situations where the period was optional.
$sql .= " (tva.datev IS NOT NULL AND tva.datev between '" . $db->idate(dol_get_first_day($year)) . "' AND '" . $db->idate(dol_get_last_day($year)) . "')";
$sql .= " OR (tva.datev IS NULL AND tva.datev between '" . $db->idate(dol_get_first_day($year)) . "' AND '" . $db->idate(dol_get_last_day($year)) . "')";
$sql .= ")";
diff --git a/htdocs/core/class/CMailFile.class.php b/htdocs/core/class/CMailFile.class.php
index 268de88d57f..d3f124a39a1 100644
--- a/htdocs/core/class/CMailFile.class.php
+++ b/htdocs/core/class/CMailFile.class.php
@@ -1960,11 +1960,14 @@ class CMailFile
// Check response from Server
if ($_retVal = $this->server_parse($socket, "220")) {
$_retVal = $socket;
+ } else {
+ $this->error = ($this->error ? $this->error." - " : "")."Succeed in opening socket but answer 220 not received";
}
} else {
$this->error = utf8_check('Error '.$errno.' - '.$errstr) ? 'Error '.$errno.' - '.$errstr : mb_convert_encoding('Error '.$errno.' - '.$errstr, 'UTF-8', 'ISO-8859-1');
}
}
+
return $_retVal;
}
diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php
index d7e687c590b..ecb4ada7f88 100644
--- a/htdocs/core/class/extrafields.class.php
+++ b/htdocs/core/class/extrafields.class.php
@@ -1500,9 +1500,9 @@ class ExtraFields
$sqlwhere .= ' AND entity = '.((int) $conf->entity);
}
$sql .= $sqlwhere;
- //print $sql;
$sql .= $this->db->order(implode(',', $fields_label));
+ //print $sql;
dol_syslog(get_class($this).'::showInputField type=sellist', LOG_DEBUG);
$resql = $this->db->query($sql);
diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php
index f24bc7d9d9a..2fe1ac92ddd 100644
--- a/htdocs/expensereport/card.php
+++ b/htdocs/expensereport/card.php
@@ -309,7 +309,7 @@ if (empty($reshook)) {
}
if (!$error && !getDolGlobalString('EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS')) {
- $overlappingExpenseReportID = $object->periode_existe($fuser, $object->date_debut, $object->date_fin);
+ $overlappingExpenseReportID = $object->periodExists($fuser, $object->date_debut, $object->date_fin);
if ($overlappingExpenseReportID > 0) {
$error++;
diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php
index 01827248462..f9757c4f779 100644
--- a/htdocs/expensereport/class/expensereport.class.php
+++ b/htdocs/expensereport/class/expensereport.class.php
@@ -2378,26 +2378,24 @@ class ExpenseReport extends CommonObject
return 1;
}
- // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
/**
- * periode_existe
+ * periodExists
*
* @param User $fuser User
* @param integer $date_debut Start date
* @param integer $date_fin End date
* @return int Return integer <0 if KO, >0 if OK
*/
- public function periode_existe($fuser, $date_debut, $date_fin)
+ public function periodExists($fuser, $date_debut, $date_fin)
{
global $conf;
- // phpcs:enable
$sql = "SELECT rowid, date_debut, date_fin";
$sql .= " FROM ".MAIN_DB_PREFIX.$this->table_element;
$sql .= " WHERE entity = ".((int) $conf->entity); // not shared, only for the current entity
$sql .= " AND fk_user_author = ".((int) $fuser->id);
- dol_syslog(get_class($this)."::periode_existe sql=".$sql);
+ dol_syslog(get_class($this)."::periodExists sql=".$sql);
$result = $this->db->query($sql);
if ($result) {
$num_rows = $this->db->num_rows($result);
@@ -2426,7 +2424,7 @@ class ExpenseReport extends CommonObject
}
} else {
$this->error = $this->db->lasterror();
- dol_syslog(get_class($this)."::periode_existe Error ".$this->error, LOG_ERR);
+ dol_syslog(get_class($this)."::periodExists Error ".$this->error, LOG_ERR);
return -1;
}
}
diff --git a/htdocs/theme/eldy/global.inc.php b/htdocs/theme/eldy/global.inc.php
index af9fd02c678..15558ad11d7 100644
--- a/htdocs/theme/eldy/global.inc.php
+++ b/htdocs/theme/eldy/global.inc.php
@@ -2359,6 +2359,9 @@ td.showDragHandle {
.bodyforlist #id-right {
padding-bottom: 4px;
}
+.page-modulehelp div#id-right {
+ display: flex;
+}
/* DOL_XXX For having horizontal scroll into array (like with smartphone) */
@@ -2577,6 +2580,9 @@ div.fiche {
print 'margin-bottom: 12px;'."\n";
} ?>
}
+.page-modulehelp div.fiche {
+ width: 100%;
+}
body.onlinepaymentbody div.fiche { /* For online payment page */
margin: 20px !important;
}
@@ -5418,7 +5424,7 @@ div.info {
background: #eff8fc;
color: #558;
}
-div.fiche div.info {
+div.fiche div.info, div.fiche div.warning {
box-shadow: 4px 4px 12px #e4e4e4;
margin: 1em 0em 1.2em 0em;
}
diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php
index 2de3f335e82..fcdc79aeb95 100644
--- a/htdocs/theme/md/style.css.php
+++ b/htdocs/theme/md/style.css.php
@@ -5397,7 +5397,7 @@ div.info {
background: #eff8fc;
color: #558;
}
-div.fiche div.info {
+div.fiche div.info, div.fiche div.warning {
box-shadow: 4px 4px 12px #e4e4e4;
margin: 1em 0em 1.2em 0em;
}