diff --git a/dev/translation/txpull.sh b/dev/translation/txpull.sh index 664f4cef1f5..3f24bd0912d 100755 --- a/dev/translation/txpull.sh +++ b/dev/translation/txpull.sh @@ -54,3 +54,5 @@ fi echo Think to launch also: echo "> dev/tools/fixaltlanguages.sh fix all" +echo "For v11: Replace also regex \(.*(sponge|cornas|eratosthene|cyan).*\) with ''" + diff --git a/doc/images/dolibarr_screenshot1_1920x1080.jpg b/doc/images/dolibarr_screenshot1_1920x1080.jpg index 67ddece6df5..bc46b00a130 100644 Binary files a/doc/images/dolibarr_screenshot1_1920x1080.jpg and b/doc/images/dolibarr_screenshot1_1920x1080.jpg differ diff --git a/htdocs/accountancy/customer/lines.php b/htdocs/accountancy/customer/lines.php index f6b149de291..d52c4c51f07 100644 --- a/htdocs/accountancy/customer/lines.php +++ b/htdocs/accountancy/customer/lines.php @@ -230,7 +230,7 @@ if (strlen(trim($search_country))) { elseif ($search_country == 'special_eec') $sql .= " AND co.code IN (".$country_code_in_EEC.")"; elseif ($search_country == 'special_eecnotme') $sql .= " AND co.code IN (".$country_code_in_EEC_without_me.")"; elseif ($search_country == 'special_noteec') $sql .= " AND co.code NOT IN (".$country_code_in_EEC.")"; - else $sql .= natural_search(array("co.code", "co.label"), $search_country); + else $sql .= natural_search("co.code", $search_country); } if (strlen(trim($search_tvaintra))) { $sql .= natural_search("s.tva_intra", $search_tvaintra); diff --git a/htdocs/accountancy/customer/list.php b/htdocs/accountancy/customer/list.php index e8b898a455d..d964d348889 100644 --- a/htdocs/accountancy/customer/list.php +++ b/htdocs/accountancy/customer/list.php @@ -262,7 +262,7 @@ if (strlen(trim($search_country))) { elseif ($search_country == 'special_eec') $sql .= " AND co.code IN (".$country_code_in_EEC.")"; elseif ($search_country == 'special_eecnotme') $sql .= " AND co.code IN (".$country_code_in_EEC_without_me.")"; elseif ($search_country == 'special_noteec') $sql .= " AND co.code NOT IN (".$country_code_in_EEC.")"; - else $sql .= natural_search(array("co.code", "co.label"), $search_country); + else $sql .= natural_search("co.code", $search_country); } if (strlen(trim($search_tvaintra))) { $sql .= natural_search("s.tva_intra", $search_tvaintra); diff --git a/htdocs/accountancy/supplier/lines.php b/htdocs/accountancy/supplier/lines.php index 7afae1538e7..a035aed2b1f 100644 --- a/htdocs/accountancy/supplier/lines.php +++ b/htdocs/accountancy/supplier/lines.php @@ -225,7 +225,7 @@ if (strlen(trim($search_country))) { elseif ($search_country == 'special_eec') $sql .= " AND co.code IN (".$country_code_in_EEC.")"; elseif ($search_country == 'special_eecnotme') $sql .= " AND co.code IN (".$country_code_in_EEC_without_me.")"; elseif ($search_country == 'special_noteec') $sql .= " AND co.code NOT IN (".$country_code_in_EEC.")"; - else $sql .= natural_search(array("co.code", "co.label"), $search_country); + else $sql .= natural_search("co.code", $search_country); } if (strlen(trim($search_tvaintra))) { $sql .= natural_search("s.tva_intra", $search_tvaintra); diff --git a/htdocs/accountancy/supplier/list.php b/htdocs/accountancy/supplier/list.php index 33e356dddb4..ecd41f2f9da 100644 --- a/htdocs/accountancy/supplier/list.php +++ b/htdocs/accountancy/supplier/list.php @@ -263,7 +263,7 @@ if (strlen(trim($search_country))) { elseif ($search_country == 'special_eec') $sql .= " AND co.code IN (".$country_code_in_EEC.")"; elseif ($search_country == 'special_eecnotme') $sql .= " AND co.code IN (".$country_code_in_EEC_without_me.")"; elseif ($search_country == 'special_noteec') $sql .= " AND co.code NOT IN (".$country_code_in_EEC.")"; - else $sql .= natural_search(array("co.code", "co.label"), $search_country); + else $sql .= natural_search("co.code", $search_country); } if (strlen(trim($search_tvaintra))) { $sql .= natural_search("s.tva_intra", $search_tvaintra); diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index ff2e5082736..ec4042cdf88 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -2750,6 +2750,9 @@ class Adherent extends CommonObject $nbok = 0; $nbko = 0; + $listofmembersok = array(); + $listofmembersko = array(); + $arraydaysbeforeend=explode(';', $daysbeforeendlist); foreach($arraydaysbeforeend as $daysbeforeend) // Loop on each delay { @@ -2766,7 +2769,8 @@ class Adherent extends CommonObject $datetosearchfor = dol_time_plus_duree(dol_mktime(0, 0, 0, $tmp['mon'], $tmp['mday'], $tmp['year']), $daysbeforeend, 'd'); $sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.'adherent'; - $sql.= " WHERE datefin = '".$this->db->idate($datetosearchfor)."'"; + $sql.= " WHERE entity = ".$conf->entity; // Do not use getEntity('adherent').")" here, we want the batch to be on its entity only; + $sql.= " AND datefin = '".$this->db->idate($datetosearchfor)."'"; $resql = $this->db->query($sql); if ($resql) @@ -2787,6 +2791,7 @@ class Adherent extends CommonObject if (empty($adherent->email)) { $nbko++; + $listofmembersko[$adherent->id]=$adherent->id; } else { @@ -2828,12 +2833,16 @@ class Adherent extends CommonObject { $error++; $this->error = $cmail->error; - $this->errors += $cmail->errors; + if (! is_null($cmail->errors)) { + $this->errors += $cmail->errors; + } $nbko++; + $listofmembersko[$adherent->id]=$adherent->id; } else { $nbok++; + $listofmembersok[$adherent->id]=$adherent->id; $message = $msg; $sendto = $to; @@ -2892,7 +2901,10 @@ class Adherent extends CommonObject else { $blockingerrormsg="Can't find email template, defined into member module setup, to use for reminding"; + $nbko++; + $listofmembersko[$adherent->id]=$adherent->id; + break; } } @@ -2916,7 +2928,39 @@ class Adherent extends CommonObject { $this->output = 'Found '.($nbok + $nbko).' members to send reminder to.'; $this->output.= ' Send email successfuly to '.$nbok.' members'; - if ($nbko) $this->output.= ' - Canceled for '.$nbko.' member (no email or email sending error)'; + if (is_array($listofmembersok)) { + $listofids = ''; $i = 0; + foreach($listofmembersok as $idmember) { + if ($i > 100) { + $listofids .= ', ...'; + break; + } + if (empty($listofids)) $listofids .= ' ['; + else $listofids .= ', '; + $listofids .= $idmember; + $i++; + } + if ($listofids) $listofids .= ']'; + $this->output .= $listofids; + } + if ($nbko) { + $this->output.= ' - Canceled for '.$nbko.' member (no email or email sending error)'; + if (is_array($listofmembersko)) { + $listofids = ''; $i = 0; + foreach($listofmembersko as $idmember) { + if ($i > 100) { + $listofids .= ', ...'; + break; + } + if (empty($listofids)) $listofids .= ' ['; + else $listofids .= ', '; + $listofids .= $idmember; + $i++; + } + if ($listofids) $listofids .= ']'; + $this->output .= $listofids; + } + } } return 0; diff --git a/htdocs/admin/emailcollector_card.php b/htdocs/admin/emailcollector_card.php index 49217b55963..b9a787cc67c 100644 --- a/htdocs/admin/emailcollector_card.php +++ b/htdocs/admin/emailcollector_card.php @@ -349,7 +349,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea } // Call Hook formConfirm - $parameters = array('lineid' => $lineid); + $parameters = array('formConfirm' => $formconfirm, 'lineid' => $lineid); $reshook = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by hook if (empty($reshook)) $formconfirm .= $hookmanager->resPrint; elseif ($reshook > 0) $formconfirm = $hookmanager->resPrint; diff --git a/htdocs/admin/expedition.php b/htdocs/admin/expedition.php index 58808c00410..d76f77dd018 100644 --- a/htdocs/admin/expedition.php +++ b/htdocs/admin/expedition.php @@ -201,7 +201,7 @@ dol_fiche_head($head, 'shipment', $langs->trans("Sendings"), -1, 'sending'); // Shipment numbering model -print load_fiche_titre($langs->trans("SendingsNumberingModules")); +print load_fiche_titre($langs->trans("SendingsNumberingModules"), '', ''); print '