From 6ce006f853053a5e24daad7a128f3403de9002e2 Mon Sep 17 00:00:00 2001 From: quentin Date: Mon, 16 Nov 2020 15:46:16 +0100 Subject: [PATCH 01/29] FIX cant empty action comm desc --- htdocs/comm/action/card.php | 1 - htdocs/comm/action/class/actioncomm.class.php | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index 129696a60d9..0709a2571ad 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -469,7 +469,6 @@ if (empty($reshook) && $action == 'update') $object->note_private = trim(GETPOST("note", "none")); $object->fk_element = GETPOST("fk_element", "int"); $object->elementtype = GETPOST("elementtype", "alphanohtml"); - if (!$datef && $percentage == 100) { $error++; $donotclearsession = 1; diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 3c060ffdc39..7355040e00c 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -983,7 +983,7 @@ class ActionComm extends CommonObject // Clean parameters $this->label = trim($this->label); - $this->note_private = dol_htmlcleanlastbr(trim(empty($this->note_private) ? $this->note : $this->note_private)); + $this->note_private = dol_htmlcleanlastbr(trim(!isset($this->note_private) ? $this->note : $this->note_private)); if (empty($this->percentage)) $this->percentage = 0; if (empty($this->priority) || !is_numeric($this->priority)) $this->priority = 0; if (empty($this->transparency)) $this->transparency = 0; From 4ae121d870865ee5f8edba8b422fa59d94daf976 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 16 Nov 2020 19:43:45 +0100 Subject: [PATCH 02/29] FIX Can't create shipment for virtual product. Add STOCK_EXCLUDE_VIRTUAL_PRODUCTS as a quick hack to solve this. --- htdocs/expedition/class/expedition.class.php | 31 +++++++------- htdocs/product/class/product.class.php | 43 ++++++++++++-------- 2 files changed, 42 insertions(+), 32 deletions(-) diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index f3e9d5f26f8..d14a34515c4 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -954,33 +954,36 @@ class Expedition extends CommonObject { $fk_product = $orderline->fk_product; - if (!($entrepot_id > 0) && empty($conf->global->STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS)) - { + if (!($entrepot_id > 0) && empty($conf->global->STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS)) { $langs->load("errors"); $this->error = $langs->trans("ErrorWarehouseRequiredIntoShipmentLine"); return -1; } - if ($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT) - { - // Check must be done for stock of product into warehouse if $entrepot_id defined + if ($conf->global->STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT) { $product = new Product($this->db); - $result = $product->fetch($fk_product); + $product->fetch($fk_product); + // Check must be done for stock of product into warehouse if $entrepot_id defined if ($entrepot_id > 0) { $product->load_stock('warehouseopen'); $product_stock = $product->stock_warehouse[$entrepot_id]->real; - } - else + } else { $product_stock = $product->stock_reel; + } $product_type = $product->type; - if ($product_type == 0 && $product_stock < $qty) - { - $langs->load("errors"); - $this->error = $langs->trans('ErrorStockIsNotEnoughToAddProductOnShipment', $product->ref); - $this->db->rollback(); - return -3; + if ($product_type == 0 || !empty($conf->global->STOCK_SUPPORTS_SERVICES)) { + $isavirtualproduct = ($product->hasFatherOrChild(1) > 0); + // The product is qualified for a check of quantity (must be enough in stock to be added into shipment). + if (!$isavirtualproduct || empty($conf->global->PRODUIT_SOUSPRODUITS) || ($isavirtualproduct && empty($conf->global->STOCK_EXCLUDE_VIRTUAL_PRODUCTS))) { // If STOCK_EXCLUDE_VIRTUAL_PRODUCTS is set, we do not manage stock for kits/virtual products. + if ($product_stock < $qty) { + $langs->load("errors"); + $this->error = $langs->trans('ErrorStockIsNotEnoughToAddProductOnShipment', $product->ref); + $this->db->rollback(); + return -3; + } + } } } } diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 55cc67de4a5..3630155662e 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -4208,29 +4208,36 @@ class Product extends CommonObject } /** - * Return all parent products for current product (first level only) + * Count all parent and children products for current product (first level only) * - * @return int Nb of father + child + * @param int $mode 0=Both parent and child, -1=Parents only, 1=Children only + * @return int Nb of father + child + * @see getFather(), get_sousproduits_arbo() */ - public function hasFatherOrChild() + public function hasFatherOrChild($mode = 0) { - $nb = 0; + $nb = 0; - $sql = "SELECT COUNT(pa.rowid) as nb"; - $sql .= " FROM ".MAIN_DB_PREFIX."product_association as pa"; - $sql .= " WHERE pa.fk_product_fils = ".$this->id." OR pa.fk_product_pere = ".$this->id; - $resql = $this->db->query($sql); - if ($resql) { - $obj = $this->db->fetch_object($resql); - if ($obj) { $nb = $obj->nb; - } - } - else - { - return -1; - } + $sql = "SELECT COUNT(pa.rowid) as nb"; + $sql .= " FROM ".MAIN_DB_PREFIX."product_association as pa"; + if ($mode == 0) { + $sql .= " WHERE pa.fk_product_fils = ".$this->id." OR pa.fk_product_pere = ".$this->id; + } elseif ($mode == -1) { + $sql .= " WHERE pa.fk_product_fils = ".$this->id; // We are a child, so we found lines that link to parents (can have several parents) + } elseif ($mode == 1) { + $sql .= " WHERE pa.fk_product_pere = ".$this->id; // We are a parent, so we found lines that link to children (can have several children) + } - return $nb; + $resql = $this->db->query($sql); + if ($resql) { + $obj = $this->db->fetch_object($resql); + if ($obj) { $nb = $obj->nb; + } + } else { + return -1; + } + + return $nb; } /** From 5820a23c1cbb294618250718b64306afdf3b6922 Mon Sep 17 00:00:00 2001 From: UT from dolibit <45215329+dolibit-ut@users.noreply.github.com> Date: Thu, 19 Nov 2020 14:04:21 +0100 Subject: [PATCH 03/29] Update README.md --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ac8f1d06382..139bdc00b6a 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ You can freely use, study, modify or distribute it according to its licence. You can use it as a standalone application or as a web application to access it from the Internet or a LAN. -Dolibarr has a large community ready to help you, free forums and [oficially preferred partners ready to offer commercial support should you need it](https://partners.dolibarr.org) +Dolibarr has a large community ready to help you, free forums and [officially preferred partners ready to offer commercial support should you need it](https://partners.dolibarr.org) ![ScreenShot](https://www.dolibarr.org/medias/dolibarr_screenshot1_1920x1080.jpg) @@ -45,7 +45,7 @@ On GNU/Linux, first check if your distribution has already packaged Dolibarr. #### Generic install steps: -- Check that your installed PHP version is supported [see PHP support](https://wiki.dolibarr.org/index.php/Versions). +- Check that your installed PHP version is supported [see PHP support](https://wiki.dolibarr.org/index.php/Releases). - Uncompress the downloaded .zip archive to copy the "dolibarr/htdocs" directory and all its files inside your web server root or get the files directly from GitHub (recommanded if you know git as it makes it easier if you want to upgrade later): @@ -90,6 +90,7 @@ Dolibarr supports upgrading usually wihtout the need for any (commercial) suppor See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) file. + ## FEATURES ### Main application/modules (all optional) @@ -162,8 +163,8 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) ### System Environment / Requirements -- Works with PHP 5.5+ and MariaDB 5.0.3+, MySQL 5.0.3+ or PostgreSQL 8.1.4+ (See requirements on the [Wiki](https://wiki.dolibarr.org/index.php/Prerequisite)) -- Compatible with all Cloud solutions that match MySQL, PHP or PostgreSQL prerequisites. +- Works with PHP 5.6+ and MariaDB 5.0.3+, MySQL 5.0.3+ or PostgreSQL 8.1.4+ (See requirements on the [Wiki](https://wiki.dolibarr.org/index.php/Prerequisite)) +- Compatible with all Cloud solutions that match PHP & MySQL or PostgreSQL prerequisites. ### Extending From c48129e2799d8e320337d17269c9d2ea71682575 Mon Sep 17 00:00:00 2001 From: Givriz Date: Thu, 19 Nov 2020 20:23:38 +0100 Subject: [PATCH 04/29] Ajout de la class "button-save" Ajout de cette class sur les boutons pour pour cloturer une issue ouverte (feature) --- htdocs/accountancy/admin/card.php | 4 +-- htdocs/accountancy/admin/fiscalyear_card.php | 4 +-- htdocs/accountancy/admin/productaccount.php | 2 +- htdocs/accountancy/customer/card.php | 2 +- htdocs/accountancy/expensereport/card.php | 2 +- htdocs/accountancy/supplier/card.php | 2 +- .../default/tpl/adherentcard_edit.tpl.php | 2 +- htdocs/adherents/card.php | 2 +- htdocs/adherents/subscription/card.php | 2 +- htdocs/adherents/type.php | 2 +- htdocs/adherents/type_translation.php | 4 +-- htdocs/admin/accountant.php | 2 +- htdocs/admin/agenda.php | 2 +- htdocs/admin/agenda_extsites.php | 2 +- htdocs/admin/agenda_other.php | 2 +- htdocs/admin/agenda_reminder.php | 2 +- htdocs/admin/agenda_xcal.php | 2 +- htdocs/admin/bank.php | 2 +- htdocs/admin/barcode.php | 2 +- htdocs/admin/boxes.php | 2 +- htdocs/admin/company.php | 2 +- htdocs/admin/contract.php | 2 +- htdocs/admin/dav.php | 4 +-- htdocs/admin/delais.php | 2 +- htdocs/admin/emailcollector_card.php | 5 ++-- htdocs/admin/events.php | 2 +- htdocs/admin/expensereport.php | 2 +- htdocs/admin/facture_situation.php | 2 +- htdocs/admin/fckeditor.php | 2 +- htdocs/admin/holiday.php | 2 +- htdocs/admin/ihm.php | 4 +-- htdocs/admin/limits.php | 2 +- htdocs/admin/mails.php | 2 +- htdocs/admin/mails_emailing.php | 2 +- htdocs/admin/mails_senderprofile_list.php | 4 +-- htdocs/admin/mails_ticket.php | 2 +- htdocs/admin/menus.php | 2 +- htdocs/admin/menus/edit.php | 4 +-- htdocs/admin/notification.php | 6 ++-- htdocs/admin/openinghours.php | 2 +- htdocs/admin/paymentbybanktransfer.php | 2 +- htdocs/admin/pdf.php | 2 +- htdocs/admin/prelevement.php | 2 +- htdocs/admin/receiptprinter.php | 4 +-- htdocs/admin/security.php | 2 +- htdocs/admin/sms.php | 2 +- htdocs/admin/ticket.php | 2 +- htdocs/admin/ticket_public.php | 4 +-- htdocs/admin/translation.php | 2 +- htdocs/admin/website_options.php | 2 +- htdocs/api/admin/index.php | 2 +- htdocs/asset/admin/setup.php | 2 +- htdocs/asset/card.php | 2 +- htdocs/asset/type.php | 2 +- htdocs/bom/bom_card.php | 2 +- htdocs/bom/tpl/objectline_edit.tpl.php | 2 +- htdocs/bookmarks/card.php | 2 +- htdocs/cashdesk/admin/cashdesk.php | 2 +- htdocs/categories/traduction.php | 4 +-- htdocs/comm/action/card.php | 2 +- htdocs/comm/mailing/card.php | 2 +- htdocs/comm/multiprix.php | 2 +- htdocs/compta/bank/various_payment/card.php | 2 +- .../compta/cashcontrol/cashcontrol_card.php | 4 +-- htdocs/compta/deplacement/card.php | 4 +-- htdocs/compta/localtax/card.php | 2 +- htdocs/compta/sociales/card.php | 2 +- htdocs/compta/tva/card.php | 2 +- .../default/tpl/contactcard_edit.tpl.php | 2 +- htdocs/contact/card.php | 2 +- htdocs/contact/perso.php | 2 +- htdocs/core/class/html.formfile.class.php | 2 +- htdocs/core/tpl/admin_extrafields_add.tpl.php | 2 +- .../core/tpl/admin_extrafields_edit.tpl.php | 2 +- htdocs/core/tpl/objectline_edit.tpl.php | 2 +- htdocs/cron/admin/cron.php | 2 +- htdocs/cron/card.php | 2 +- htdocs/datapolicy/admin/setup.php | 2 +- htdocs/don/card.php | 4 +-- htdocs/don/payment/payment.php | 2 +- htdocs/ecm/dir_card.php | 2 +- htdocs/ecm/file_card.php | 2 +- htdocs/expedition/card.php | 2 +- htdocs/expensereport/list.php | 2 +- htdocs/expensereport/payment/payment.php | 2 +- htdocs/exports/export.php | 2 +- htdocs/externalsite/admin/externalsite.php | 2 +- htdocs/fichinter/card.php | 2 +- htdocs/fourn/commande/dispatch.php | 2 +- htdocs/holiday/card.php | 4 +-- htdocs/hrm/establishment/card.php | 4 +-- htdocs/intracommreport/card.php | 2 +- htdocs/loan/card.php | 2 +- htdocs/loan/payment/payment.php | 2 +- htdocs/modulebuilder/admin/setup.php | 2 +- htdocs/modulebuilder/index.php | 30 +++++++++---------- htdocs/modulebuilder/template/admin/setup.php | 2 +- .../modulebuilder/template/myobject_card.php | 2 +- htdocs/mrp/mo_card.php | 2 +- htdocs/opensurvey/card.php | 2 +- htdocs/opensurvey/results.php | 2 +- htdocs/product/admin/dynamic_prices.php | 4 +-- .../canvas/product/tpl/card_edit.tpl.php | 2 +- .../canvas/service/tpl/card_edit.tpl.php | 2 +- htdocs/product/card.php | 2 +- htdocs/product/dynamic_price/editor.php | 2 +- htdocs/product/fournisseurs.php | 2 +- htdocs/product/inventory/card.php | 2 +- htdocs/product/inventory/inventory.php | 4 +-- htdocs/product/price.php | 10 +++---- htdocs/product/stock/card.php | 2 +- htdocs/product/stock/product.php | 2 +- htdocs/product/traduction.php | 4 +-- htdocs/projet/activity/perday.php | 2 +- htdocs/projet/activity/permonth.php | 2 +- htdocs/projet/activity/perweek.php | 2 +- htdocs/projet/tasks/time.php | 2 +- htdocs/public/opensurvey/studs.php | 2 +- htdocs/reception/card.php | 2 +- htdocs/recruitment/admin/setup.php | 2 +- .../recruitment/admin/setup_candidatures.php | 2 +- .../recruitmentcandidature_card.php | 2 +- .../recruitmentjobposition_card.php | 2 +- htdocs/salaries/card.php | 2 +- .../canvas/company/tpl/card_edit.tpl.php | 2 +- .../canvas/individual/tpl/card_edit.tpl.php | 2 +- htdocs/societe/card.php | 2 +- htdocs/societe/price.php | 4 +-- htdocs/stripe/admin/stripe.php | 2 +- htdocs/takepos/admin/appearance.php | 2 +- htdocs/takepos/admin/bar.php | 2 +- htdocs/takepos/admin/orderprinters.php | 6 ++-- htdocs/takepos/admin/receipt.php | 2 +- htdocs/takepos/admin/setup.php | 2 +- htdocs/takepos/admin/terminal.php | 2 +- htdocs/user/agenda_extsites.php | 2 +- htdocs/user/card.php | 2 +- htdocs/user/clicktodial.php | 2 +- htdocs/user/group/card.php | 2 +- htdocs/user/note.php | 2 +- htdocs/user/param_ihm.php | 2 +- htdocs/webservices/admin/index.php | 2 +- htdocs/website/index.php | 8 ++--- htdocs/website/websiteaccount_card.php | 2 +- htdocs/zapier/admin/setup.php | 2 +- htdocs/zapier/hook_card.php | 2 +- 146 files changed, 192 insertions(+), 191 deletions(-) diff --git a/htdocs/accountancy/admin/card.php b/htdocs/accountancy/admin/card.php index b4f90f19675..e2142f4fee8 100644 --- a/htdocs/accountancy/admin/card.php +++ b/htdocs/accountancy/admin/card.php @@ -255,7 +255,7 @@ if ($action == 'create') { print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; @@ -317,7 +317,7 @@ if ($action == 'create') { print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/accountancy/admin/fiscalyear_card.php b/htdocs/accountancy/admin/fiscalyear_card.php index aa10c0101c1..7f2038b57de 100644 --- a/htdocs/accountancy/admin/fiscalyear_card.php +++ b/htdocs/accountancy/admin/fiscalyear_card.php @@ -190,7 +190,7 @@ if ($action == 'create') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; @@ -241,7 +241,7 @@ if ($action == 'create') print ''; print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/accountancy/admin/productaccount.php b/htdocs/accountancy/admin/productaccount.php index e09f6ec14cf..2f92cd5842e 100644 --- a/htdocs/accountancy/admin/productaccount.php +++ b/htdocs/accountancy/admin/productaccount.php @@ -405,7 +405,7 @@ if ($result) $varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage; $selectedfields = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields - $buttonsave = ''; + $buttonsave = ''; //print '
'.$buttonsave.'
'; $texte = $langs->trans("ListOfProductsServices"); diff --git a/htdocs/accountancy/customer/card.php b/htdocs/accountancy/customer/card.php index 90f3d4c04ef..a14203916f9 100644 --- a/htdocs/accountancy/customer/card.php +++ b/htdocs/accountancy/customer/card.php @@ -140,7 +140,7 @@ if (!empty($id)) { print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/accountancy/expensereport/card.php b/htdocs/accountancy/expensereport/card.php index 67c790a9c36..4ccb2617dd6 100644 --- a/htdocs/accountancy/expensereport/card.php +++ b/htdocs/accountancy/expensereport/card.php @@ -149,7 +149,7 @@ if (!empty($id)) { print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/accountancy/supplier/card.php b/htdocs/accountancy/supplier/card.php index cf13302d866..12e0c7796c4 100644 --- a/htdocs/accountancy/supplier/card.php +++ b/htdocs/accountancy/supplier/card.php @@ -144,7 +144,7 @@ if (!empty($id)) { print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php b/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php index 92a4fbddd38..b3c7f59e67e 100644 --- a/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php +++ b/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php @@ -134,7 +134,7 @@ echo $this->control->tpl['ajax_selectcountry']; - ">  + ">  "> diff --git a/htdocs/adherents/card.php b/htdocs/adherents/card.php index fe6f27ef8b6..9a122ee6c09 100644 --- a/htdocs/adherents/card.php +++ b/htdocs/adherents/card.php @@ -1235,7 +1235,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/adherents/subscription/card.php b/htdocs/adherents/subscription/card.php index c97c502abaf..09c9d3c752c 100644 --- a/htdocs/adherents/subscription/card.php +++ b/htdocs/adherents/subscription/card.php @@ -236,7 +236,7 @@ if ($user->rights->adherent->cotisation->creer && $action == 'edit') { print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '       '; print ''; print '
'; diff --git a/htdocs/adherents/type.php b/htdocs/adherents/type.php index fc1d7ecb1d9..6607d952dd0 100644 --- a/htdocs/adherents/type.php +++ b/htdocs/adherents/type.php @@ -765,7 +765,7 @@ if ($rowid > 0) { print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/adherents/type_translation.php b/htdocs/adherents/type_translation.php index 3aafef6f216..c425fefdb4a 100644 --- a/htdocs/adherents/type_translation.php +++ b/htdocs/adherents/type_translation.php @@ -218,7 +218,7 @@ if ($action == 'edit') { print '
'; print '
'; - print ''; + print ''; print '     '; print ''; print '
'; @@ -275,7 +275,7 @@ if ($action == 'add' && $user->rights->adherent->configurer) { print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/admin/accountant.php b/htdocs/admin/accountant.php index cbf9fdbaa50..38d4eff2d3e 100644 --- a/htdocs/admin/accountant.php +++ b/htdocs/admin/accountant.php @@ -170,7 +170,7 @@ print ''; print ''; print '
'; -print ''; +print ''; //print '     '; //print ''; print '
'; diff --git a/htdocs/admin/agenda.php b/htdocs/admin/agenda.php index 1f4236df666..b1cc1d7619b 100644 --- a/htdocs/admin/agenda.php +++ b/htdocs/admin/agenda.php @@ -200,7 +200,7 @@ print ''; print dol_get_fiche_end(); print '
'; -print ''; +print ''; print "
"; print "\n"; diff --git a/htdocs/admin/agenda_extsites.php b/htdocs/admin/agenda_extsites.php index 3cf0d49b960..7fbd139072d 100644 --- a/htdocs/admin/agenda_extsites.php +++ b/htdocs/admin/agenda_extsites.php @@ -227,7 +227,7 @@ print ''; print dol_get_fiche_end(); print '
'; -print ''; +print ''; print '
'; print "\n"; diff --git a/htdocs/admin/agenda_other.php b/htdocs/admin/agenda_other.php index c390796a55b..2ffbf15d7ce 100644 --- a/htdocs/admin/agenda_other.php +++ b/htdocs/admin/agenda_other.php @@ -378,7 +378,7 @@ print ''; print dol_get_fiche_end(); -print '
'; +print '
'; print ''; diff --git a/htdocs/admin/agenda_reminder.php b/htdocs/admin/agenda_reminder.php index e34536e648a..37d0ac5e9bd 100644 --- a/htdocs/admin/agenda_reminder.php +++ b/htdocs/admin/agenda_reminder.php @@ -231,7 +231,7 @@ print ''; print dol_get_fiche_end(); -//print '
'; +//print '
'; print ''; diff --git a/htdocs/admin/agenda_xcal.php b/htdocs/admin/agenda_xcal.php index 61116a0f18f..6d77b9f4416 100644 --- a/htdocs/admin/agenda_xcal.php +++ b/htdocs/admin/agenda_xcal.php @@ -138,7 +138,7 @@ print ''; print dol_get_fiche_end(); print '
'; -print "trans("Save")."\">"; +print ''; print "
"; print "\n"; diff --git a/htdocs/admin/bank.php b/htdocs/admin/bank.php index c8157a40d81..88babe27385 100644 --- a/htdocs/admin/bank.php +++ b/htdocs/admin/bank.php @@ -498,7 +498,7 @@ print ''; print dol_get_fiche_end(); print '
'; -print ''; +print ''; print '
'; print "\n"; diff --git a/htdocs/admin/barcode.php b/htdocs/admin/barcode.php index 0e7a23ae679..6ff8a988899 100644 --- a/htdocs/admin/barcode.php +++ b/htdocs/admin/barcode.php @@ -282,7 +282,7 @@ print "\n"; if (empty($conf->use_javascript_ajax)) { - print '
'; + print '
'; print ''; } diff --git a/htdocs/admin/boxes.php b/htdocs/admin/boxes.php index 31723888e44..19450905c23 100644 --- a/htdocs/admin/boxes.php +++ b/htdocs/admin/boxes.php @@ -474,7 +474,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL == 2 || !empty($conf->global->MAIN_ACTIVA print ''; print '
'; -print '
'; +print '
'; print '
'; print ''; diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index 2705ede5540..8b900f552c8 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -834,7 +834,7 @@ print ""; print '
'; -print ''; +print ''; print '
'; print ''; diff --git a/htdocs/admin/contract.php b/htdocs/admin/contract.php index d70a9740232..bfdff79cc1f 100644 --- a/htdocs/admin/contract.php +++ b/htdocs/admin/contract.php @@ -483,7 +483,7 @@ print ''; print ''; print '
'; -print ''; +print ''; print '
'; print ''; diff --git a/htdocs/admin/dav.php b/htdocs/admin/dav.php index c47306f975b..8f005c0f0d7 100644 --- a/htdocs/admin/dav.php +++ b/htdocs/admin/dav.php @@ -108,7 +108,7 @@ if ($action == 'edit') print ''; print '
'; - print ''; + print ''; print '
'; print ''; @@ -151,7 +151,7 @@ if ($action == 'edit') print dol_get_fiche_end(); /*print '
'; -print "trans("Save")."\">"; +print ''; print "
"; */ print "\n"; diff --git a/htdocs/admin/delais.php b/htdocs/admin/delais.php index 673cc16a02e..5ff7f022ba4 100644 --- a/htdocs/admin/delais.php +++ b/htdocs/admin/delais.php @@ -432,7 +432,7 @@ if ($conf->global->MAIN_DISABLE_METEO != 1) { if ($action == 'edit') { - print '
'; + print '
'; print '
'; } else { print '
'; diff --git a/htdocs/admin/emailcollector_card.php b/htdocs/admin/emailcollector_card.php index f0544e1e914..35c24a15dac 100644 --- a/htdocs/admin/emailcollector_card.php +++ b/htdocs/admin/emailcollector_card.php @@ -297,7 +297,7 @@ if (($id || $ref) && $action == 'edit') print dol_get_fiche_end(); - print '
'; + print '
'; print '   '; print '
'; @@ -614,7 +614,8 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea { print '
'; print '
'; - print ' '; + print ''; + print ''; } else { print $ruleaction['actionparam']; } diff --git a/htdocs/admin/events.php b/htdocs/admin/events.php index 7af8d547a0c..66099eb3a30 100644 --- a/htdocs/admin/events.php +++ b/htdocs/admin/events.php @@ -128,7 +128,7 @@ print ''; print dol_get_fiche_end(); print '
'; -print "trans("Save")."\">"; +print ''; print '
'; print "\n"; diff --git a/htdocs/admin/expensereport.php b/htdocs/admin/expensereport.php index 3de7ff55c5f..f572226c379 100644 --- a/htdocs/admin/expensereport.php +++ b/htdocs/admin/expensereport.php @@ -475,7 +475,7 @@ print ''."\n"; print ''; print '
'; -print ''; +print ''; print '
'; print ''; diff --git a/htdocs/admin/facture_situation.php b/htdocs/admin/facture_situation.php index 31966cdb585..364297712e7 100644 --- a/htdocs/admin/facture_situation.php +++ b/htdocs/admin/facture_situation.php @@ -155,7 +155,7 @@ function _updateBtn() { global $langs; print '
'; - print ''; + print ''; print '
'; } diff --git a/htdocs/admin/fckeditor.php b/htdocs/admin/fckeditor.php index 8f4ea7ec9c4..bc6b0dc33ac 100644 --- a/htdocs/admin/fckeditor.php +++ b/htdocs/admin/fckeditor.php @@ -211,7 +211,7 @@ if (empty($conf->use_javascript_ajax)) print $conf->global->FCKEDITOR_TEST; print '
'; } - print '
'."\n"; + print '
'."\n"; print '
'; print ''."\n"; diff --git a/htdocs/admin/holiday.php b/htdocs/admin/holiday.php index 44b7034064b..be09a062703 100644 --- a/htdocs/admin/holiday.php +++ b/htdocs/admin/holiday.php @@ -494,7 +494,7 @@ print '
'; print '
'; -print ''; +print ''; print '
'; print ''; diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index 4fd8963344d..42da694b2e6 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -249,7 +249,7 @@ print ''; // Default language print ''.$langs->trans("DefaultLanguage").''; print $formadmin->select_language($conf->global->MAIN_LANG_DEFAULT, 'MAIN_LANG_DEFAULT', 1, null, '', 0, 0, 'minwidth300', 2); -print ''; +print ''; print ''; print ' '; print ''; @@ -443,7 +443,7 @@ print ''; print '
'; print '
'; -print ''; +print ''; print '
'; print ''; diff --git a/htdocs/admin/limits.php b/htdocs/admin/limits.php index ce918583d96..43c4cc84776 100644 --- a/htdocs/admin/limits.php +++ b/htdocs/admin/limits.php @@ -165,7 +165,7 @@ if ($action == 'edit') print '
'; print '
'; - print ''; + print ''; print '
'; print '
'; diff --git a/htdocs/admin/mails.php b/htdocs/admin/mails.php index 9292f387673..524d7249963 100644 --- a/htdocs/admin/mails.php +++ b/htdocs/admin/mails.php @@ -509,7 +509,7 @@ if ($action == 'edit') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/admin/mails_emailing.php b/htdocs/admin/mails_emailing.php index 6a42e14bff6..353ce632e91 100644 --- a/htdocs/admin/mails_emailing.php +++ b/htdocs/admin/mails_emailing.php @@ -387,7 +387,7 @@ if ($action == 'edit') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/admin/mails_senderprofile_list.php b/htdocs/admin/mails_senderprofile_list.php index d9540d30995..ccaf48f3227 100644 --- a/htdocs/admin/mails_senderprofile_list.php +++ b/htdocs/admin/mails_senderprofile_list.php @@ -381,7 +381,7 @@ if ($action != 'create') { print ''; print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -414,7 +414,7 @@ if ($action != 'create') { print ''; print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; diff --git a/htdocs/admin/mails_ticket.php b/htdocs/admin/mails_ticket.php index dda9d0c01a8..b24bfa2c565 100644 --- a/htdocs/admin/mails_ticket.php +++ b/htdocs/admin/mails_ticket.php @@ -364,7 +364,7 @@ if ($action == 'edit') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/admin/menus.php b/htdocs/admin/menus.php index 9bdc497c776..707cc776c6d 100644 --- a/htdocs/admin/menus.php +++ b/htdocs/admin/menus.php @@ -209,7 +209,7 @@ print ''; print dol_get_fiche_end(); print '
'; -print ''; +print ''; print '
'; print ''; diff --git a/htdocs/admin/menus/edit.php b/htdocs/admin/menus/edit.php index 70d2f4bcda6..42130485594 100644 --- a/htdocs/admin/menus/edit.php +++ b/htdocs/admin/menus/edit.php @@ -401,7 +401,7 @@ if ($action == 'create') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; @@ -511,7 +511,7 @@ if ($action == 'create') // Bouton print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/admin/notification.php b/htdocs/admin/notification.php index 13b1b4b3e55..bb13aa9d37a 100644 --- a/htdocs/admin/notification.php +++ b/htdocs/admin/notification.php @@ -203,7 +203,7 @@ print ''; print ''; print ''; -print '
'; +print '
'; print ''; @@ -292,7 +292,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2) { print ''; } -print '
'; +print '
'; print ''; @@ -389,7 +389,7 @@ print ''; print '
'; -print '
'; +print '
'; print ''; diff --git a/htdocs/admin/openinghours.php b/htdocs/admin/openinghours.php index 7cd803d5e69..c3cbcb3d0ae 100644 --- a/htdocs/admin/openinghours.php +++ b/htdocs/admin/openinghours.php @@ -130,7 +130,7 @@ if (empty($action) || $action == 'edit' || $action == 'updateedit') print ''; print '
'; - print ''; + print ''; print '
'; print '
'; diff --git a/htdocs/admin/paymentbybanktransfer.php b/htdocs/admin/paymentbybanktransfer.php index 6a419d39e53..0ea8db95aec 100644 --- a/htdocs/admin/paymentbybanktransfer.php +++ b/htdocs/admin/paymentbybanktransfer.php @@ -192,7 +192,7 @@ print ''; print ''; print '
'; -print '
'; +print '
'; print ''; diff --git a/htdocs/admin/pdf.php b/htdocs/admin/pdf.php index 4008fad141d..44f0672a832 100644 --- a/htdocs/admin/pdf.php +++ b/htdocs/admin/pdf.php @@ -336,7 +336,7 @@ print ''; print ''; print '
'; -print ''; +print ''; print '
'; print ''; diff --git a/htdocs/admin/prelevement.php b/htdocs/admin/prelevement.php index c16b5c30c47..97a45c77a42 100644 --- a/htdocs/admin/prelevement.php +++ b/htdocs/admin/prelevement.php @@ -199,7 +199,7 @@ print ''; print ''; print '
'; -print '
'; +print '
'; print ''; diff --git a/htdocs/admin/receiptprinter.php b/htdocs/admin/receiptprinter.php index 3f66d04ca01..73db1bfa040 100644 --- a/htdocs/admin/receiptprinter.php +++ b/htdocs/admin/receiptprinter.php @@ -327,7 +327,7 @@ if ($mode == 'config' && $user->admin) { print ''.$printer->profileresprint.''; print ''; print ''; - print '
'; + print '
'; print ''; print ''; } else { @@ -456,7 +456,7 @@ if ($mode == 'template' && $user->admin) { print ''; print '
'; } else { - print '
'; + print '
'; } print ''; diff --git a/htdocs/admin/security.php b/htdocs/admin/security.php index d9eae8f064e..fc479522a8b 100644 --- a/htdocs/admin/security.php +++ b/htdocs/admin/security.php @@ -323,7 +323,7 @@ if ($conf->global->USER_PASSWORD_GENERATED == "Perso") { print '
'; print '
'; - print ''.$langs->trans("Save").''; + print ''.$langs->trans("Save").''; print '
'; print '

'; diff --git a/htdocs/admin/sms.php b/htdocs/admin/sms.php index e34d2ab9b7a..09faea88772 100644 --- a/htdocs/admin/sms.php +++ b/htdocs/admin/sms.php @@ -196,7 +196,7 @@ if ($action == 'edit') print ''; print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/admin/ticket.php b/htdocs/admin/ticket.php index e8da4a8d736..0614df0dd61 100644 --- a/htdocs/admin/ticket.php +++ b/htdocs/admin/ticket.php @@ -410,7 +410,7 @@ print ''; print ''; print '
'; -print ''; +print ''; print '
'; print ''; diff --git a/htdocs/admin/ticket_public.php b/htdocs/admin/ticket_public.php index 121ded4f578..80f458a2b5c 100644 --- a/htdocs/admin/ticket_public.php +++ b/htdocs/admin/ticket_public.php @@ -280,7 +280,7 @@ if (!empty($conf->global->TICKET_ENABLE_PUBLIC_INTERFACE)) } if (!$conf->use_javascript_ajax) { - print ''; + print ''; print ''; } @@ -410,7 +410,7 @@ if (!empty($conf->global->TICKET_ENABLE_PUBLIC_INTERFACE)) print ''; print ''; - print '
'; + print '
'; print ''; } diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php index edd5ca95026..b94d5b940c7 100644 --- a/htdocs/admin/translation.php +++ b/htdocs/admin/translation.php @@ -344,7 +344,7 @@ if ($mode == 'overwrite') if ($action == 'edit' && $obj->rowid == GETPOST('rowid', 'int')) { print ''; - print ''; + print ''; print '   '; print ''; } else { diff --git a/htdocs/admin/website_options.php b/htdocs/admin/website_options.php index 738fd5bc998..8c803defb37 100644 --- a/htdocs/admin/website_options.php +++ b/htdocs/admin/website_options.php @@ -116,7 +116,7 @@ if ($action == 'edit') print ''; print '
'; - print ''; + print ''; print '
'; print ''; diff --git a/htdocs/api/admin/index.php b/htdocs/api/admin/index.php index 18cbff2ca61..b4ebb6cb30e 100644 --- a/htdocs/api/admin/index.php +++ b/htdocs/api/admin/index.php @@ -129,7 +129,7 @@ print ' '.$langs->trans("Example").': '.$langs->trans("IPListExample"); print ''; print ''; print ''; -print ''; +print ''; print ''; print ''; diff --git a/htdocs/asset/admin/setup.php b/htdocs/asset/admin/setup.php index 6fec16ef0a0..42a5888c537 100644 --- a/htdocs/asset/admin/setup.php +++ b/htdocs/asset/admin/setup.php @@ -82,7 +82,7 @@ if ($action == 'edit') print ''; print '
'; - print ''; + print ''; print '
'; print ''; diff --git a/htdocs/asset/card.php b/htdocs/asset/card.php index 0fa78edf9ce..f4bc63f730d 100644 --- a/htdocs/asset/card.php +++ b/htdocs/asset/card.php @@ -220,7 +220,7 @@ if (($id || $ref) && $action == 'edit') print dol_get_fiche_end(); - print '
'; + print '
'; print '   '; print '
'; diff --git a/htdocs/asset/type.php b/htdocs/asset/type.php index 28f2ce59df0..90fcefd5626 100644 --- a/htdocs/asset/type.php +++ b/htdocs/asset/type.php @@ -597,7 +597,7 @@ if ($rowid > 0) print dol_get_fiche_end(); - print '
'; + print '
'; print '   '; print '
'; diff --git a/htdocs/bom/bom_card.php b/htdocs/bom/bom_card.php index 7970911d84d..d8f96ce7f6e 100644 --- a/htdocs/bom/bom_card.php +++ b/htdocs/bom/bom_card.php @@ -313,7 +313,7 @@ if (($id || $ref) && $action == 'edit') print dol_get_fiche_end(); - print '
'; + print '
'; print '   '; print '
'; diff --git a/htdocs/bom/tpl/objectline_edit.tpl.php b/htdocs/bom/tpl/objectline_edit.tpl.php index bcb00aed5a2..89c4d98729f 100644 --- a/htdocs/bom/tpl/objectline_edit.tpl.php +++ b/htdocs/bom/tpl/objectline_edit.tpl.php @@ -135,7 +135,7 @@ print ''; $coldisplay += $colspan; print ''; $coldisplay += $colspan; -print ''; +print ''; print '
'; print ''; print ''; diff --git a/htdocs/bookmarks/card.php b/htdocs/bookmarks/card.php index 5f7687a3d26..f67f32fb599 100644 --- a/htdocs/bookmarks/card.php +++ b/htdocs/bookmarks/card.php @@ -299,7 +299,7 @@ if ($id > 0 && !preg_match('/^add/i', $action)) if ($action == 'edit') { - print '
   
'; + print '
   
'; print ''; } diff --git a/htdocs/cashdesk/admin/cashdesk.php b/htdocs/cashdesk/admin/cashdesk.php index 93d287ac501..5f0e9baddf5 100644 --- a/htdocs/cashdesk/admin/cashdesk.php +++ b/htdocs/cashdesk/admin/cashdesk.php @@ -184,7 +184,7 @@ if (!empty($conf->receiptprinter->enabled)) print ''; print '
'; -print '
'; +print '
'; print "\n"; diff --git a/htdocs/categories/traduction.php b/htdocs/categories/traduction.php index 660dbf9317d..cef04e7915e 100644 --- a/htdocs/categories/traduction.php +++ b/htdocs/categories/traduction.php @@ -285,7 +285,7 @@ if ($action == 'edit') print '
'; print '
'; - print ''; + print ''; print '     '; print ''; print '
'; @@ -346,7 +346,7 @@ if ($action == 'add' && ($user->rights->produit->creer || $user->rights->service print ''; print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index 0b1eba637d4..558e4e190dc 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -1785,7 +1785,7 @@ if ($id > 0) print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/comm/mailing/card.php b/htdocs/comm/mailing/card.php index 8697d9dffb2..97e072fcdd6 100644 --- a/htdocs/comm/mailing/card.php +++ b/htdocs/comm/mailing/card.php @@ -1292,7 +1292,7 @@ if ($action == 'create') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/comm/multiprix.php b/htdocs/comm/multiprix.php index bd4c16f89ca..c8a674773a2 100644 --- a/htdocs/comm/multiprix.php +++ b/htdocs/comm/multiprix.php @@ -107,7 +107,7 @@ if ($_socid > 0) print dol_get_fiche_end(); - print '
'; + print '
'; print ""; diff --git a/htdocs/compta/bank/various_payment/card.php b/htdocs/compta/bank/various_payment/card.php index c1b5b1a06b0..62d94dd4aa6 100644 --- a/htdocs/compta/bank/various_payment/card.php +++ b/htdocs/compta/bank/various_payment/card.php @@ -463,7 +463,7 @@ if ($action == 'create') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '   '; print ''; print '
'; diff --git a/htdocs/compta/cashcontrol/cashcontrol_card.php b/htdocs/compta/cashcontrol/cashcontrol_card.php index 546805e3aaa..c396765f07a 100644 --- a/htdocs/compta/cashcontrol/cashcontrol_card.php +++ b/htdocs/compta/cashcontrol/cashcontrol_card.php @@ -568,7 +568,7 @@ if ($action == "create" || $action == "start" || $action == 'close') // Save print ''; print ''; - if ($action == 'start') print ''; + if ($action == 'start') print ''; elseif ($action == 'close') print ''; print ''; print ''; @@ -854,7 +854,7 @@ if (empty($action) || $action == "view" || $action == "close") // Save print ''; print ''; - if ($action == 'start') print ''; + if ($action == 'start') print ''; elseif ($action == 'close') print ''; print ''; print ''; diff --git a/htdocs/compta/deplacement/card.php b/htdocs/compta/deplacement/card.php index 00b5c3dc025..29c22be11a2 100644 --- a/htdocs/compta/deplacement/card.php +++ b/htdocs/compta/deplacement/card.php @@ -278,7 +278,7 @@ if ($action == 'create') print ''; print '
'; - print ''; + print ''; print '     '; print ''; print '
'; @@ -374,7 +374,7 @@ if ($action == 'create') print ''; print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/compta/localtax/card.php b/htdocs/compta/localtax/card.php index 078625ca1a1..8c0b388b456 100644 --- a/htdocs/compta/localtax/card.php +++ b/htdocs/compta/localtax/card.php @@ -201,7 +201,7 @@ if ($action == 'create') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/compta/sociales/card.php b/htdocs/compta/sociales/card.php index a4c27855a30..49189ce2067 100644 --- a/htdocs/compta/sociales/card.php +++ b/htdocs/compta/sociales/card.php @@ -681,7 +681,7 @@ if ($id > 0) if ($action == 'edit') { print '
'; - print ''; + print ''; print '   '; print ''; print '
'; diff --git a/htdocs/compta/tva/card.php b/htdocs/compta/tva/card.php index 52543e9953d..ee96d32af1e 100644 --- a/htdocs/compta/tva/card.php +++ b/htdocs/compta/tva/card.php @@ -296,7 +296,7 @@ if ($action == 'create') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php b/htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php index eba58a52f02..4823b801f26 100644 --- a/htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php +++ b/htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php @@ -152,7 +152,7 @@ if (!empty($this->control->tpl['contact_element'])) { - ">  + ">  "> diff --git a/htdocs/contact/card.php b/htdocs/contact/card.php index ad646af15b0..7a649ca2596 100644 --- a/htdocs/contact/card.php +++ b/htdocs/contact/card.php @@ -1239,7 +1239,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/contact/perso.php b/htdocs/contact/perso.php index d8d7b709736..579edd9adfc 100644 --- a/htdocs/contact/perso.php +++ b/htdocs/contact/perso.php @@ -207,7 +207,7 @@ if ($action == 'edit') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index 380b7a1ad17..f7a24c56c8e 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -1362,7 +1362,7 @@ class FormFile } else { print ''; print ''; - print ''; + print ''; print ''; print ''; if (empty($disablemove)) print ''; diff --git a/htdocs/core/tpl/admin_extrafields_add.tpl.php b/htdocs/core/tpl/admin_extrafields_add.tpl.php index 367faa630ba..a4533681b16 100644 --- a/htdocs/core/tpl/admin_extrafields_add.tpl.php +++ b/htdocs/core/tpl/admin_extrafields_add.tpl.php @@ -213,7 +213,7 @@ $listofexamplesforlink = 'Societe:societe/class/societe.class.php
Contact:con -
">      +
">      ">
diff --git a/htdocs/core/tpl/admin_extrafields_edit.tpl.php b/htdocs/core/tpl/admin_extrafields_edit.tpl.php index 5c1680d9ecb..364ebbf45d8 100644 --- a/htdocs/core/tpl/admin_extrafields_edit.tpl.php +++ b/htdocs/core/tpl/admin_extrafields_edit.tpl.php @@ -302,7 +302,7 @@ if (in_array($type, array_keys($typewecanchangeinto))) -
">      +
">      ">
diff --git a/htdocs/core/tpl/objectline_edit.tpl.php b/htdocs/core/tpl/objectline_edit.tpl.php index b7f0b8d5da1..fc6ef24bd59 100644 --- a/htdocs/core/tpl/objectline_edit.tpl.php +++ b/htdocs/core/tpl/objectline_edit.tpl.php @@ -255,7 +255,7 @@ $coldisplay++; - ">
+ ">
"> diff --git a/htdocs/cron/admin/cron.php b/htdocs/cron/admin/cron.php index fc3ca7c63b6..37c75e63a68 100644 --- a/htdocs/cron/admin/cron.php +++ b/htdocs/cron/admin/cron.php @@ -108,7 +108,7 @@ print ''; print dol_get_fiche_end(); print '
'; -print ''; +print ''; print '
'; print ''; diff --git a/htdocs/cron/card.php b/htdocs/cron/card.php index 9c3a2b38f02..a87ac2af64c 100644 --- a/htdocs/cron/card.php +++ b/htdocs/cron/card.php @@ -513,7 +513,7 @@ if (($action == "create") || ($action == "edit")) print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print "
"; diff --git a/htdocs/datapolicy/admin/setup.php b/htdocs/datapolicy/admin/setup.php index 0e84aa63723..d50f544449d 100644 --- a/htdocs/datapolicy/admin/setup.php +++ b/htdocs/datapolicy/admin/setup.php @@ -135,7 +135,7 @@ if ($action == 'edit') print ''; print '
'; - print ''; + print ''; print '
'; print ''; diff --git a/htdocs/don/card.php b/htdocs/don/card.php index cec185e757e..e75ed70b0c6 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -494,7 +494,7 @@ if ($action == 'create') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; @@ -624,7 +624,7 @@ if (!empty($id) && $action == 'edit') print dol_get_fiche_end(); - print '
   
'; + print '
   
'; print "\n"; } diff --git a/htdocs/don/payment/payment.php b/htdocs/don/payment/payment.php index 7cb21033b2d..0046a658707 100644 --- a/htdocs/don/payment/payment.php +++ b/htdocs/don/payment/payment.php @@ -299,7 +299,7 @@ if ($action == 'create') print ""; print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/ecm/dir_card.php b/htdocs/ecm/dir_card.php index 8c1c0162692..078eee7699c 100644 --- a/htdocs/ecm/dir_card.php +++ b/htdocs/ecm/dir_card.php @@ -436,7 +436,7 @@ print ''; if ($action == 'edit') { print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/ecm/file_card.php b/htdocs/ecm/file_card.php index cecc62e3fde..7e2df52ed62 100644 --- a/htdocs/ecm/file_card.php +++ b/htdocs/ecm/file_card.php @@ -393,7 +393,7 @@ print dol_get_fiche_end(); if ($action == 'edit') { print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php index 2cef2c39320..af1c06d8214 100644 --- a/htdocs/expedition/card.php +++ b/htdocs/expedition/card.php @@ -2360,7 +2360,7 @@ if ($action == 'create') if ($action == 'editline' && $lines[$i]->id == $line_id) { print ''; - print '
'; + print '
'; print '
'; print ''; } elseif ($object->statut == Expedition::STATUS_DRAFT) diff --git a/htdocs/expensereport/list.php b/htdocs/expensereport/list.php index a36e3fa5ed2..440fc4524a6 100644 --- a/htdocs/expensereport/list.php +++ b/htdocs/expensereport/list.php @@ -366,7 +366,7 @@ if ($resql) print '
'; } else { print '
'; - print ''; + print ''; print '

'; } } else { diff --git a/htdocs/expensereport/payment/payment.php b/htdocs/expensereport/payment/payment.php index fd327a0fcb1..4da5eef07be 100644 --- a/htdocs/expensereport/payment/payment.php +++ b/htdocs/expensereport/payment/payment.php @@ -346,7 +346,7 @@ if ($action == 'create' || empty($action)) print ""; print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index 2889e383817..d352aec5005 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -1054,7 +1054,7 @@ if ($step == 4 && $datatoexport) print ''; print ''; - print ''; + print ''; print ''; // List of existing export profils diff --git a/htdocs/externalsite/admin/externalsite.php b/htdocs/externalsite/admin/externalsite.php index cb73403356b..66c6d265dec 100644 --- a/htdocs/externalsite/admin/externalsite.php +++ b/htdocs/externalsite/admin/externalsite.php @@ -113,7 +113,7 @@ print ""; print '
'; -print ''; +print ''; print '
'; print "\n"; diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index da1de06cc16..9d0b156d12d 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -1482,7 +1482,7 @@ if ($action == 'create') print ''; print ''; - print ''; + print ''; print ''; print ''."\n"; diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index a924ca03270..2b79a234a69 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -1306,7 +1306,7 @@ if ($id > 0 || !empty($ref)) { } else { print ''; - print ''; + print ''; print ''; print ''; print ''; diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php index 53a22f83eee..02a4ba89e2b 100644 --- a/htdocs/holiday/card.php +++ b/htdocs/holiday/card.php @@ -1356,7 +1356,7 @@ if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') } if ($action == 'editvalidator') { - print ''; + print ''; print ''; } print ''; @@ -1444,7 +1444,7 @@ if ((empty($id) && empty($ref)) || $action == 'create' || $action == 'add') print '
'; if ($cancreate && $object->statut == Holiday::STATUS_DRAFT) { - print ''; + print ''; } print '
'; } diff --git a/htdocs/hrm/establishment/card.php b/htdocs/hrm/establishment/card.php index 20d61334579..9f62fe96c70 100644 --- a/htdocs/hrm/establishment/card.php +++ b/htdocs/hrm/establishment/card.php @@ -244,7 +244,7 @@ if ($action == 'create') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; @@ -327,7 +327,7 @@ if (($id || $ref) && $action == 'edit') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/intracommreport/card.php b/htdocs/intracommreport/card.php index 25099a9bd54..181cfac0cf6 100644 --- a/htdocs/intracommreport/card.php +++ b/htdocs/intracommreport/card.php @@ -159,7 +159,7 @@ if ($action == 'create') print dol_get_fiche_end(); - print '
'; + print '
'; print '     '; print '
'; diff --git a/htdocs/loan/card.php b/htdocs/loan/card.php index 789c26140f9..d8e2e3471df 100644 --- a/htdocs/loan/card.php +++ b/htdocs/loan/card.php @@ -721,7 +721,7 @@ if ($id > 0) if ($action == 'edit') { print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/loan/payment/payment.php b/htdocs/loan/payment/payment.php index 2638d336eb0..753e58d7ae5 100644 --- a/htdocs/loan/payment/payment.php +++ b/htdocs/loan/payment/payment.php @@ -395,7 +395,7 @@ if ($action == 'create') print ''; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; diff --git a/htdocs/modulebuilder/admin/setup.php b/htdocs/modulebuilder/admin/setup.php index 220ecd1b5b1..c5b41ac9390 100644 --- a/htdocs/modulebuilder/admin/setup.php +++ b/htdocs/modulebuilder/admin/setup.php @@ -191,7 +191,7 @@ print ''; print ''; -print '
'; +print '
'; if (GETPOST('withtab', 'alpha')) { print dol_get_fiche_end(); diff --git a/htdocs/modulebuilder/index.php b/htdocs/modulebuilder/index.php index 051a2d1a42d..61f97ff6e2a 100644 --- a/htdocs/modulebuilder/index.php +++ b/htdocs/modulebuilder/index.php @@ -2013,7 +2013,7 @@ if ($module == 'initmodule') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -2078,7 +2078,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'text')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -2211,7 +2211,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'html')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -2758,7 +2758,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'html')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -2802,7 +2802,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'html')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -2941,7 +2941,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'html')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -3037,7 +3037,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'html')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -3094,7 +3094,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'html')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -3162,7 +3162,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'html')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -3210,7 +3210,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'html')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -3258,7 +3258,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'html')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -3313,7 +3313,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'html')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -3395,7 +3395,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'html')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -3512,7 +3512,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'html')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -3572,7 +3572,7 @@ if ($module == 'initmodule') print $doleditor->Create(1, '', false, $langs->trans("File").' : '.$file, (GETPOST('format', 'aZ09') ?GETPOST('format', 'aZ09') : 'html')); print '
'; print '
'; - print ''; + print ''; print '   '; print ''; print '
'; diff --git a/htdocs/modulebuilder/template/admin/setup.php b/htdocs/modulebuilder/template/admin/setup.php index ef64d46f502..74e965740d2 100644 --- a/htdocs/modulebuilder/template/admin/setup.php +++ b/htdocs/modulebuilder/template/admin/setup.php @@ -218,7 +218,7 @@ if ($action == 'edit') print ''; print '
'; - print ''; + print ''; print '
'; print ''; diff --git a/htdocs/modulebuilder/template/myobject_card.php b/htdocs/modulebuilder/template/myobject_card.php index 83d84451d0e..de76d482be2 100644 --- a/htdocs/modulebuilder/template/myobject_card.php +++ b/htdocs/modulebuilder/template/myobject_card.php @@ -271,7 +271,7 @@ if (($id || $ref) && $action == 'edit') print dol_get_fiche_end(); - print '
'; + print '
'; print '   '; print '
'; diff --git a/htdocs/mrp/mo_card.php b/htdocs/mrp/mo_card.php index ea0dd4c2181..4db2db6c9c1 100644 --- a/htdocs/mrp/mo_card.php +++ b/htdocs/mrp/mo_card.php @@ -339,7 +339,7 @@ if (($id || $ref) && $action == 'edit') print dol_get_fiche_end(); - print '
'; + print '
'; print '   '; print '
'; diff --git a/htdocs/opensurvey/card.php b/htdocs/opensurvey/card.php index 15c52a52539..757713e67c3 100644 --- a/htdocs/opensurvey/card.php +++ b/htdocs/opensurvey/card.php @@ -335,7 +335,7 @@ print dol_get_fiche_end(); if ($action == 'edit') { print '
'; - print ''; + print ''; print '   '; print ''; print '
'; diff --git a/htdocs/opensurvey/results.php b/htdocs/opensurvey/results.php index 2592be1fc9c..be3c747a02f 100644 --- a/htdocs/opensurvey/results.php +++ b/htdocs/opensurvey/results.php @@ -913,7 +913,7 @@ while ($compteur < $num) { print ''; print ''; - print ''; + print ''; print ''."\n"; } } diff --git a/htdocs/product/admin/dynamic_prices.php b/htdocs/product/admin/dynamic_prices.php index bdd86169466..d54ca3e6d3c 100644 --- a/htdocs/product/admin/dynamic_prices.php +++ b/htdocs/product/admin/dynamic_prices.php @@ -229,7 +229,7 @@ if ($action == 'create_variable' || $action == 'edit_variable') { //Form Buttons print '
'; - print '  '; + print '  '; print ''; print '
'; print ''; @@ -351,7 +351,7 @@ if ($action == 'create_updater' || $action == 'edit_updater') { //Form Buttons print '
'; - print '  '; + print '  '; print ''; print '
'; print ''; diff --git a/htdocs/product/canvas/product/tpl/card_edit.tpl.php b/htdocs/product/canvas/product/tpl/card_edit.tpl.php index 6658ea94658..6fe8fc379d6 100644 --- a/htdocs/product/canvas/product/tpl/card_edit.tpl.php +++ b/htdocs/product/canvas/product/tpl/card_edit.tpl.php @@ -107,7 +107,7 @@ dol_htmloutput_errors($object->error, $object->errors);
-
">     +
">     ">
diff --git a/htdocs/product/canvas/service/tpl/card_edit.tpl.php b/htdocs/product/canvas/service/tpl/card_edit.tpl.php index aa353f55164..ed5c43dc3a7 100644 --- a/htdocs/product/canvas/service/tpl/card_edit.tpl.php +++ b/htdocs/product/canvas/service/tpl/card_edit.tpl.php @@ -79,7 +79,7 @@ dol_htmloutput_errors($object->error, $object->errors);
-
">     +
">     ">
diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 33a30a00f47..c93eea62c93 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -1775,7 +1775,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/product/dynamic_price/editor.php b/htdocs/product/dynamic_price/editor.php index 8aa79c3d6bf..24f4856698f 100644 --- a/htdocs/product/dynamic_price/editor.php +++ b/htdocs/product/dynamic_price/editor.php @@ -200,7 +200,7 @@ print dol_get_fiche_end(); //Buttons print '
'; -print ''; +print ''; print ''.$langs->trans("Back").''; if ($eid == 0) { diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index 5cb12b100f1..5e44d20db84 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -824,7 +824,7 @@ END; print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/product/inventory/card.php b/htdocs/product/inventory/card.php index d13e1a79801..7d1d032a77d 100644 --- a/htdocs/product/inventory/card.php +++ b/htdocs/product/inventory/card.php @@ -243,7 +243,7 @@ if (($id || $ref) && $action == 'edit') print dol_get_fiche_end(); - print '
'; + print '
'; print '   '; print '
'; diff --git a/htdocs/product/inventory/inventory.php b/htdocs/product/inventory/inventory.php index dab4f6d1fa7..4e886763ed7 100644 --- a/htdocs/product/inventory/inventory.php +++ b/htdocs/product/inventory/inventory.php @@ -313,7 +313,7 @@ if ($object->id > 0) print '
'; print ''.$langs->trans("InventoryDesc").'
'; - print ''; + print ''; print '   '; print ''; print '
'; @@ -528,7 +528,7 @@ if ($object->id > 0) // Save if ($object->status == $object::STATUS_VALIDATED) { print '
'; - print ''; + print ''; print '
'; } diff --git a/htdocs/product/price.php b/htdocs/product/price.php index 9c9fa653a60..eb30c107b46 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -1162,7 +1162,7 @@ if ($action == 'edit_vat' && ($user->rights->produit->creer || $user->rights->se print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; @@ -1275,7 +1275,7 @@ if ($action == 'edit_price' && $object->getRights()->creer) print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; @@ -1395,7 +1395,7 @@ if ($action == 'edit_price' && $object->getRights()->creer) //print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '   '; print '
'; print ''; @@ -1712,7 +1712,7 @@ if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES)) print $langs->trans('ForceUpdateChildPriceSoc'); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; @@ -1805,7 +1805,7 @@ if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES)) print $langs->trans('ForceUpdateChildPriceSoc'); print "
"; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/product/stock/card.php b/htdocs/product/stock/card.php index d2f9494e857..cd2ac1ebfe3 100644 --- a/htdocs/product/stock/card.php +++ b/htdocs/product/stock/card.php @@ -776,7 +776,7 @@ if ($action == 'create') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index abe0e7f1e2b..bb306aaf9dc 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -911,7 +911,7 @@ if (!$variants) { print ''; } print ''.$pdluo->qty.($pdluo->qty < 0 ? ' '.img_warning() : '').''; - print ''; + print ''; print ''; print ''; print ''; diff --git a/htdocs/product/traduction.php b/htdocs/product/traduction.php index f6c316cbded..475cc413243 100644 --- a/htdocs/product/traduction.php +++ b/htdocs/product/traduction.php @@ -259,7 +259,7 @@ if ($action == 'edit') print '
'; print '
'; - print ''; + print ''; print '     '; print ''; print '
'; @@ -331,7 +331,7 @@ if ($action == 'add' && ($user->rights->produit->creer || $user->rights->service print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/projet/activity/perday.php b/htdocs/projet/activity/perday.php index cb16f4685bf..76724dfd80f 100644 --- a/htdocs/projet/activity/perday.php +++ b/htdocs/projet/activity/perday.php @@ -756,7 +756,7 @@ print '
'; print ''."\n"; print '
'; -print ''; +print ''; print '
'; print ''; diff --git a/htdocs/projet/activity/permonth.php b/htdocs/projet/activity/permonth.php index bbbf3827fc9..4904e2379f0 100644 --- a/htdocs/projet/activity/permonth.php +++ b/htdocs/projet/activity/permonth.php @@ -607,7 +607,7 @@ print ''."\n"; print '
'; -print ''; +print ''; print '
'; print ''."\n\n"; diff --git a/htdocs/projet/activity/perweek.php b/htdocs/projet/activity/perweek.php index 1f808304991..8b49aa2e0c2 100644 --- a/htdocs/projet/activity/perweek.php +++ b/htdocs/projet/activity/perweek.php @@ -833,7 +833,7 @@ print '
'; print ''."\n"; print '
'; -print ''; +print ''; print '
'; print ''."\n\n"; diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index 7329c18cdd8..81243ac735d 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -1450,7 +1450,7 @@ if (($id > 0 || !empty($ref)) || $projectidforalltimes > 0) if (($action == 'editline' || $action == 'splitline') && $_GET['lineid'] == $task_time->rowid) { print ''; - print ''; + print ''; print '
'; print ''; } elseif ($user->rights->projet->lire || $user->rights->projet->all->creer) // Read project and enter time consumed on assigned tasks diff --git a/htdocs/public/opensurvey/studs.php b/htdocs/public/opensurvey/studs.php index c818603f644..5ba3ce65ebd 100644 --- a/htdocs/public/opensurvey/studs.php +++ b/htdocs/public/opensurvey/studs.php @@ -551,7 +551,7 @@ while ($compteur < $num) { print ''; print ''; - print ''; + print ''; print ''."\n"; } } diff --git a/htdocs/reception/card.php b/htdocs/reception/card.php index 169ffd327ad..6a54be849f7 100644 --- a/htdocs/reception/card.php +++ b/htdocs/reception/card.php @@ -1902,7 +1902,7 @@ if ($action == 'create') if ($action == 'editline' && $lines[$i]->id == $line_id) { print ''; - print '
'; + print '
'; print '
'; } elseif ($object->statut == Reception::STATUS_DRAFT) { diff --git a/htdocs/recruitment/admin/setup.php b/htdocs/recruitment/admin/setup.php index e0443398c77..702fa4852f5 100644 --- a/htdocs/recruitment/admin/setup.php +++ b/htdocs/recruitment/admin/setup.php @@ -219,7 +219,7 @@ if ($action == 'edit') print ''; print '
'; - print ''; + print ''; print '
'; print ''; diff --git a/htdocs/recruitment/admin/setup_candidatures.php b/htdocs/recruitment/admin/setup_candidatures.php index 78b6130bd5e..b829f27eb82 100644 --- a/htdocs/recruitment/admin/setup_candidatures.php +++ b/htdocs/recruitment/admin/setup_candidatures.php @@ -219,7 +219,7 @@ if ($action == 'edit') print ''; print '
'; - print ''; + print ''; print '
'; print ''; diff --git a/htdocs/recruitment/recruitmentcandidature_card.php b/htdocs/recruitment/recruitmentcandidature_card.php index 1fbd64208f4..ab5a2b229ff 100644 --- a/htdocs/recruitment/recruitmentcandidature_card.php +++ b/htdocs/recruitment/recruitmentcandidature_card.php @@ -370,7 +370,7 @@ if (($id || $ref) && $action == 'edit') print dol_get_fiche_end(); - print '
'; + print '
'; print '   '; print '
'; diff --git a/htdocs/recruitment/recruitmentjobposition_card.php b/htdocs/recruitment/recruitmentjobposition_card.php index 7de9883ebca..74e16c37319 100644 --- a/htdocs/recruitment/recruitmentjobposition_card.php +++ b/htdocs/recruitment/recruitmentjobposition_card.php @@ -281,7 +281,7 @@ if (($id || $ref) && $action == 'edit') print dol_get_fiche_end(); - print '
'; + print '
'; print '   '; print '
'; diff --git a/htdocs/salaries/card.php b/htdocs/salaries/card.php index 1e4376811a2..32c2cca810d 100644 --- a/htdocs/salaries/card.php +++ b/htdocs/salaries/card.php @@ -354,7 +354,7 @@ if ($action == 'create') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '     '; diff --git a/htdocs/societe/canvas/company/tpl/card_edit.tpl.php b/htdocs/societe/canvas/company/tpl/card_edit.tpl.php index 0b3c951d51f..13f17feee94 100644 --- a/htdocs/societe/canvas/company/tpl/card_edit.tpl.php +++ b/htdocs/societe/canvas/company/tpl/card_edit.tpl.php @@ -215,7 +215,7 @@ if (!empty($this->control->tpl['localtax'])) echo $this->control->tpl['localtax'
-"> +">     ">
diff --git a/htdocs/societe/canvas/individual/tpl/card_edit.tpl.php b/htdocs/societe/canvas/individual/tpl/card_edit.tpl.php index ab5b9a4f4ef..575499e7f48 100644 --- a/htdocs/societe/canvas/individual/tpl/card_edit.tpl.php +++ b/htdocs/societe/canvas/individual/tpl/card_edit.tpl.php @@ -179,7 +179,7 @@ if ($this->control->tpl['fournisseur']) {
-"> +">     ">
diff --git a/htdocs/societe/card.php b/htdocs/societe/card.php index cf973a0f196..0f596a8764c 100644 --- a/htdocs/societe/card.php +++ b/htdocs/societe/card.php @@ -2185,7 +2185,7 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/societe/price.php b/htdocs/societe/price.php index cbca9c52ebc..ca876da7a22 100644 --- a/htdocs/societe/price.php +++ b/htdocs/societe/price.php @@ -343,7 +343,7 @@ if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print '
'; - print ''; + print ''; print '     '; print ''; print '
'; @@ -422,7 +422,7 @@ if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/stripe/admin/stripe.php b/htdocs/stripe/admin/stripe.php index 6bf8bcb0fa1..26d540e4093 100644 --- a/htdocs/stripe/admin/stripe.php +++ b/htdocs/stripe/admin/stripe.php @@ -464,7 +464,7 @@ print ''; print dol_get_fiche_end(); -print '
'; +print '
'; print ''; diff --git a/htdocs/takepos/admin/appearance.php b/htdocs/takepos/admin/appearance.php index 25eb8486d1e..baceed47f3e 100644 --- a/htdocs/takepos/admin/appearance.php +++ b/htdocs/takepos/admin/appearance.php @@ -120,7 +120,7 @@ print ''; print '
'; -print '
'; +print '
'; print "\n"; diff --git a/htdocs/takepos/admin/bar.php b/htdocs/takepos/admin/bar.php index 481394c626f..144f46d6527 100644 --- a/htdocs/takepos/admin/bar.php +++ b/htdocs/takepos/admin/bar.php @@ -179,7 +179,7 @@ if ($conf->global->TAKEPOS_BAR_RESTAURANT) { print '
'; - print '
'; + print '
'; } if ($conf->global->TAKEPOS_BAR_RESTAURANT) { diff --git a/htdocs/takepos/admin/orderprinters.php b/htdocs/takepos/admin/orderprinters.php index 3104f907eb2..9ec59fb388b 100644 --- a/htdocs/takepos/admin/orderprinters.php +++ b/htdocs/takepos/admin/orderprinters.php @@ -188,7 +188,7 @@ if ($nbofentries > 0) print ''; } print ""; -print '

'; +print '

'; //Printer2 print ''; @@ -216,7 +216,7 @@ if ($nbofentries > 0) print ''; } print "
"; -print ''; +print ''; //Printer3 print ''; @@ -245,7 +245,7 @@ if ($nbofentries > 0) } print "
"; -print ''; +print ''; print '
'; diff --git a/htdocs/takepos/admin/receipt.php b/htdocs/takepos/admin/receipt.php index 00086bef5ca..30a9d45ad5a 100644 --- a/htdocs/takepos/admin/receipt.php +++ b/htdocs/takepos/admin/receipt.php @@ -246,7 +246,7 @@ print '
'; print '
'; -print '
'; +print '
'; print "\n"; diff --git a/htdocs/takepos/admin/setup.php b/htdocs/takepos/admin/setup.php index 804a189de00..55106a8f90a 100644 --- a/htdocs/takepos/admin/setup.php +++ b/htdocs/takepos/admin/setup.php @@ -460,7 +460,7 @@ if ($conf->global->TAKEPOS_ENABLE_SUMUP) { print '
'; -print '
'; +print '
'; print "\n"; diff --git a/htdocs/takepos/admin/terminal.php b/htdocs/takepos/admin/terminal.php index 870feb71778..d8ad03a057c 100644 --- a/htdocs/takepos/admin/terminal.php +++ b/htdocs/takepos/admin/terminal.php @@ -393,7 +393,7 @@ if ($atleastonefound == 0 && !empty($conf->banque->enabled)) print '
'; -print '
'; +print '
'; print "\n"; diff --git a/htdocs/user/agenda_extsites.php b/htdocs/user/agenda_extsites.php index b6aad8fb6db..8d320a839ef 100644 --- a/htdocs/user/agenda_extsites.php +++ b/htdocs/user/agenda_extsites.php @@ -215,7 +215,7 @@ print '
'; print '
'; -print "trans("Save")."\">"; +print ''; print "
"; print dol_get_fiche_end(); diff --git a/htdocs/user/card.php b/htdocs/user/card.php index cd6eb0991d9..54bd59d4576 100644 --- a/htdocs/user/card.php +++ b/htdocs/user/card.php @@ -2743,7 +2743,7 @@ if ($action == 'create' || $action == 'adduserldap') print dol_get_fiche_end(); print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/user/clicktodial.php b/htdocs/user/clicktodial.php index a97d011a2e2..dee2c325063 100644 --- a/htdocs/user/clicktodial.php +++ b/htdocs/user/clicktodial.php @@ -184,7 +184,7 @@ if ($id > 0) if ($action == 'edit') { print '
'; - print '
'; + print '
'; print '     '; print ''; print '
'; diff --git a/htdocs/user/group/card.php b/htdocs/user/group/card.php index 068d218c797..5edc9e6df51 100644 --- a/htdocs/user/group/card.php +++ b/htdocs/user/group/card.php @@ -548,7 +548,7 @@ else { print dol_get_fiche_end(); - print '
'; + print '
'; print '   '; print '
'; diff --git a/htdocs/user/note.php b/htdocs/user/note.php index cb38fd3c4ac..fbb9a6e1756 100644 --- a/htdocs/user/note.php +++ b/htdocs/user/note.php @@ -135,7 +135,7 @@ if ($id) if ($action == 'edit') { print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/user/param_ihm.php b/htdocs/user/param_ihm.php index 67c1755f2da..6ef0c4bd317 100644 --- a/htdocs/user/param_ihm.php +++ b/htdocs/user/param_ihm.php @@ -320,7 +320,7 @@ if ($action == 'edit') print '
'; - print ''; + print ''; print '     '; print ''; print '
'; diff --git a/htdocs/webservices/admin/index.php b/htdocs/webservices/admin/index.php index e0960e2baad..015551693bd 100644 --- a/htdocs/webservices/admin/index.php +++ b/htdocs/webservices/admin/index.php @@ -90,7 +90,7 @@ print ''; print ''; print '
'; -print ''; +print ''; print '
'; print ''; diff --git a/htdocs/website/index.php b/htdocs/website/index.php index 9478c5f6206..39f451df174 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -2487,8 +2487,8 @@ if (!GETPOST('hide_websitemenu')) if (in_array($action, array('editcss', 'editmenu', 'file_manager', 'replacesite', 'replacesiteconfirm'))) { if ($action == 'editcss') print ''; - if (preg_match('/^create/', $action) && $action != 'file_manager' && $action != 'replacesite' && $action != 'replacesiteconfirm') print ''; - if (preg_match('/^edit/', $action) && $action != 'file_manager' && $action != 'replacesite' && $action != 'replacesiteconfirm') print ''; + if (preg_match('/^create/', $action) && $action != 'file_manager' && $action != 'replacesite' && $action != 'replacesiteconfirm') print ''; + if (preg_match('/^edit/', $action) && $action != 'file_manager' && $action != 'replacesite' && $action != 'replacesiteconfirm') print ''; if ($action != 'preview') print ''; } @@ -2803,8 +2803,8 @@ if (!GETPOST('hide_websitemenu')) if (!in_array($action, array('editcss', 'editmenu', 'file_manager', 'replacesite', 'replacesiteconfirm', 'createsite', 'createcontainer', 'createfromclone', 'createpagefromclone', 'deletesite'))) { if ($action == 'editsource' || $action == 'editmeta') print ''; - if (preg_match('/^create/', $action)) print ''; - if (preg_match('/^edit/', $action)) print ''; + if (preg_match('/^create/', $action)) print ''; + if (preg_match('/^edit/', $action)) print ''; if ($action != 'preview') print ''; } diff --git a/htdocs/website/websiteaccount_card.php b/htdocs/website/websiteaccount_card.php index 332ef81e9af..e2535ab374f 100644 --- a/htdocs/website/websiteaccount_card.php +++ b/htdocs/website/websiteaccount_card.php @@ -186,7 +186,7 @@ if (($id || $ref) && $action == 'edit') print dol_get_fiche_end(); - print '
'; + print '
'; print '   '; print '
'; diff --git a/htdocs/zapier/admin/setup.php b/htdocs/zapier/admin/setup.php index c63dbcc49f1..0d10ac95231 100644 --- a/htdocs/zapier/admin/setup.php +++ b/htdocs/zapier/admin/setup.php @@ -89,7 +89,7 @@ if ($action == 'edit') { print ''; print '
'; - print ''; + print ''; print '
'; print ''; diff --git a/htdocs/zapier/hook_card.php b/htdocs/zapier/hook_card.php index 548b79de866..e701c03455e 100644 --- a/htdocs/zapier/hook_card.php +++ b/htdocs/zapier/hook_card.php @@ -189,7 +189,7 @@ if (($id || $ref) && $action == 'edit') { print dol_get_fiche_end(); - print '
'; + print '
'; print '   '; print '
'; From 29dae5d9f0feec1a47a2a71f7bde10e9dae89421 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Thu, 19 Nov 2020 21:09:29 +0100 Subject: [PATCH 05/29] remove warnings --- htdocs/don/card.php | 64 +++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 34 deletions(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index cec185e757e..ca15a88383e 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -141,28 +141,27 @@ if ($action == 'update') { $object->fetch($id); - $object->firstname = GETPOST("firstname", 'alpha'); - $object->lastname = GETPOST("lastname", 'alpha'); - $object->societe = GETPOST("societe", 'alpha'); - $object->address = GETPOST("address", 'alpha'); + $object->firstname = (string) GETPOST("firstname", 'alpha'); + $object->lastname = (string) GETPOST("lastname", 'alpha'); + $object->societe = (string) GETPOST("societe", 'alpha'); + $object->address = (string) GETPOST("address", 'alpha'); $object->amount = price2num(GETPOST("amount", 'alpha')); - $object->town = GETPOST("town", 'alpha'); - $object->zip = GETPOST("zipcode", 'alpha'); - $object->country_id = GETPOST('country_id', 'int'); - $object->email = GETPOST("email", 'alpha'); + $object->town = (string) GETPOST("town", 'alpha'); + $object->zip = (string) GETPOST("zipcode", 'alpha'); + $object->country_id = (int GETPOST('country_id', 'int'); + $object->email = (string) GETPOST("email", 'alpha'); $object->date = $donation_date; - $object->public = GETPOST("public", 'alpha'); + $object->public = (string) GETPOST("public", 'alpha'); $object->fk_project = GETPOST("fk_project", 'alpha'); - $object->note_private = GETPOST("note_private", 'restricthtml'); - $object->note_public = GETPOST("note_public", 'restricthtml'); - $object->modepaymentid = GETPOST('modepayment', 'int'); + $object->note_private = (string) GETPOST("note_private", 'restricthtml'); + $object->note_public = (string) GETPOST("note_public", 'restricthtml'); + $object->modepaymentid = (int) GETPOST('modepayment', 'int'); // Fill array 'array_options' with data from add form $ret = $extrafields->setOptionalsFromPost(null, $object); if ($ret < 0) $error++; - if ($object->update($user) > 0) - { + if ($object->update($user) > 0) { header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); exit; } @@ -195,30 +194,29 @@ if ($action == 'add') if (!$error) { - $object->socid = GETPOST("socid", 'int'); - $object->firstname = GETPOST("firstname", 'alpha'); - $object->lastname = GETPOST("lastname", 'alpha'); - $object->societe = GETPOST("societe", 'alpha'); - $object->address = GETPOST("address", 'alpha'); + $object->socid = (int) GETPOST("socid", 'int'); + $object->firstname = (string) GETPOST("firstname", 'alpha'); + $object->lastname = (string) GETPOST("lastname", 'alpha'); + $object->societe = (string) GETPOST("societe", 'alpha'); + $object->address = (string) GETPOST("address", 'alpha'); $object->amount = price2num(GETPOST("amount", 'alpha')); - $object->zip = GETPOST("zipcode", 'alpha'); - $object->town = GETPOST("town", 'alpha'); - $object->country_id = GETPOST('country_id', 'int'); - $object->email = GETPOST('email', 'alpha'); + $object->zip = (string) GETPOST("zipcode", 'alpha'); + $object->town = (string) GETPOST("town", 'alpha'); + $object->country_id = (int) GETPOST('country_id', 'int'); + $object->email = (string) GETPOST('email', 'alpha'); $object->date = $donation_date; - $object->note_private = GETPOST("note_private", 'restricthtml'); - $object->note_public = GETPOST("note_public", 'restricthtml'); - $object->public = GETPOST("public", 'alpha'); - $object->fk_project = GETPOST("fk_project", 'alpha'); - $object->modepaymentid = GETPOST('modepayment', 'int'); + $object->note_private = (string) GETPOST("note_private", 'restricthtml'); + $object->note_public = (string) GETPOST("note_public", 'restricthtml'); + $object->public = (string) GETPOST("public", 'alpha'); + $object->fk_project = (string) GETPOST("fk_project", 'alpha'); + $object->modepaymentid = (int) GETPOST('modepayment', 'int'); // Fill array 'array_options' with data from add form $ret = $extrafields->setOptionalsFromPost(null, $object); if ($ret < 0) $error++; $res = $object->create($user); - if ($res > 0) - { + if ($res > 0) { header("Location: ".$_SERVER['PHP_SELF'].'?id='.$res); exit; } else { @@ -230,8 +228,7 @@ if ($action == 'confirm_delete' && GETPOST("confirm") == "yes" && $user->rights- { $object->fetch($id); $result = $object->delete($user); - if ($result > 0) - { + if ($result > 0) { header("Location: index.php"); exit; } else { @@ -546,8 +543,7 @@ if (!empty($id) && $action == 'edit') print ''; // Amount - if ($object->statut == 0) - { + if ($object->statut == 0) { print "".''.$langs->trans("Amount").' '.$langs->trans("Currency".$conf->currency).''; } else { print ''.$langs->trans("Amount").''; From b4a5134a7f25be2f8d1baea083723d2c7e5cf6f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Thu, 19 Nov 2020 22:25:02 +0100 Subject: [PATCH 06/29] doxygen --- htdocs/core/class/vcard.class.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/htdocs/core/class/vcard.class.php b/htdocs/core/class/vcard.class.php index 0e3f04fa0f5..9c03475453f 100644 --- a/htdocs/core/class/vcard.class.php +++ b/htdocs/core/class/vcard.class.php @@ -85,10 +85,19 @@ function dol_quoted_printable_encode($input, $line_max = 76) */ class vCard { + /** + * @var array array of properties + */ public $properties; + + /** + * @var string filename + */ public $filename; - //var $encoding="UTF-8"; + /** + * @var string encoding + */ public $encoding = "ISO-8859-1;ENCODING=QUOTED-PRINTABLE"; From 09cb47212199f6eec956a916c61c3a7e1c2bb492 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 20 Nov 2020 13:34:40 +0100 Subject: [PATCH 07/29] Update card.php --- htdocs/don/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index ca15a88383e..8a5736c50cd 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -148,7 +148,7 @@ if ($action == 'update') $object->amount = price2num(GETPOST("amount", 'alpha')); $object->town = (string) GETPOST("town", 'alpha'); $object->zip = (string) GETPOST("zipcode", 'alpha'); - $object->country_id = (int GETPOST('country_id', 'int'); + $object->country_id = (int) GETPOST('country_id', 'int'); $object->email = (string) GETPOST("email", 'alpha'); $object->date = $donation_date; $object->public = (string) GETPOST("public", 'alpha'); From 4fef8d80a5eb5571a1f804726d5a53e2044dab21 Mon Sep 17 00:00:00 2001 From: lvessiller Date: Fri, 20 Nov 2020 16:01:51 +0100 Subject: [PATCH 08/29] FIX keep dates filters parameters on order list --- htdocs/commande/list.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 71ff0ef147a..cee3b5537af 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -59,10 +59,10 @@ $search_datecloture_start = GETPOST('search_datecloture_start', 'int'); if (empty($search_datecloture_start)) $search_datecloture_start = dol_mktime(0, 0, 0, GETPOST('search_datecloture_startmonth', 'int'), GETPOST('search_datecloture_startday', 'int'), GETPOST('search_datecloture_startyear', 'int')); $search_datecloture_end = GETPOST('search_datecloture_end', 'int'); if (empty($search_datecloture_end)) $search_datecloture_end = dol_mktime(23, 59, 59, GETPOST('search_datecloture_endmonth', 'int'), GETPOST('search_datecloture_endday', 'int'), GETPOST('search_datecloture_endyear', 'int')); -$search_dateorder_start = dol_mktime(0, 0, 0, GETPOST('search_dateorder_startmonth', 'int'), GETPOST('search_dateorder_startday', 'int'), GETPOST('search_dateorder_startyear', 'int')); -$search_dateorder_end = dol_mktime(23, 59, 59, GETPOST('search_dateorder_endmonth', 'int'), GETPOST('search_dateorder_endday', 'int'), GETPOST('search_dateorder_endyear', 'int')); -$search_datedelivery_start = dol_mktime(0, 0, 0, GETPOST('search_datedelivery_startmonth', 'int'), GETPOST('search_datedelivery_startday', 'int'), GETPOST('search_datedelivery_startyear', 'int')); -$search_datedelivery_end = dol_mktime(23, 59, 59, GETPOST('search_datedelivery_endmonth', 'int'), GETPOST('search_datedelivery_endday', 'int'), GETPOST('search_datedelivery_endyear', 'int')); +$search_dateorder_start = dol_mktime(0, 0, 0, GETPOST('search_dateorder_start_month', 'int'), GETPOST('search_dateorder_start_day', 'int'), GETPOST('search_dateorder_start_year', 'int')); +$search_dateorder_end = dol_mktime(23, 59, 59, GETPOST('search_dateorder_end_month', 'int'), GETPOST('search_dateorder_end_day', 'int'), GETPOST('search_dateorder_end_year', 'int')); +$search_datedelivery_start = dol_mktime(0, 0, 0, GETPOST('search_datedelivery_start_month', 'int'), GETPOST('search_datedelivery_start_day', 'int'), GETPOST('search_datedelivery_start_year', 'int')); +$search_datedelivery_end = dol_mktime(23, 59, 59, GETPOST('search_datedelivery_end_month', 'int'), GETPOST('search_datedelivery_end_day', 'int'), GETPOST('search_datedelivery_end_year', 'int')); $search_product_category = GETPOST('search_product_category', 'int'); $search_ref = GETPOST('search_ref', 'alpha') != '' ?GETPOST('search_ref', 'alpha') : GETPOST('sref', 'alpha'); $search_ref_customer = GETPOST('search_ref_customer', 'alpha'); @@ -448,10 +448,10 @@ if ($resql) if ($search_status != '') $param .= '&search_status='.urlencode($search_status); if ($search_datecloture_start) $param .= '&search_datecloture_start='.urlencode($search_datecloture_start); if ($search_datecloture_end) $param .= '&search_datecloture_end='.urlencode($search_datecloture_end); - if ($search_dateorder_start) $param .= '&search_dateorder_start='.urlencode($search_dateorder_start); - if ($search_dateorder_end) $param .= '&search_dateorder_end='.urlencode($search_dateorder_end); - if ($search_datedelivery_start) $param .= '&search_datedelivery_start='.urlencode($search_datedelivery_start); - if ($search_datedelivery_end) $param .= '&search_datedelivery_end='.urlencode($search_datedelivery_end); + if ($search_datedelivery_start) $param .= '&search_dateorder_start_day=' . dol_print_date($search_dateorder_start, '%d') . '&search_dateorder_start_month=' . dol_print_date($search_dateorder_start, '%m') . '&search_dateorder_start_year=' . dol_print_date($search_dateorder_start, '%Y'); + if ($search_datedelivery_end) $param .= '&search_dateorder_end_day=' . dol_print_date($search_dateorder_end, '%d') . '&search_dateorder_end_month=' . dol_print_date($search_dateorder_end, '%m') . '&search_dateorder_end_year=' . dol_print_date($search_dateorder_end, '%Y'); + if ($search_datedelivery_start) $param .= '&search_datedelivery_start_day=' . dol_print_date($search_datedelivery_start, '%d') . '&search_datedelivery_start_month=' . dol_print_date($search_datedelivery_start, '%m') . '&search_datedelivery_start_year=' . dol_print_date($search_datedelivery_start, '%Y'); + if ($search_datedelivery_end) $param .= '&search_datedelivery_end_day=' . dol_print_date($search_datedelivery_end, '%d') . '&search_datedelivery_end_month=' . dol_print_date($search_datedelivery_end, '%m') . '&search_datedelivery_end_year=' . dol_print_date($search_datedelivery_end, '%Y'); if ($search_ref) $param .= '&search_ref='.urlencode($search_ref); if ($search_company) $param .= '&search_company='.urlencode($search_company); if ($search_ref_customer) $param .= '&search_ref_customer='.urlencode($search_ref_customer); @@ -708,10 +708,10 @@ if ($resql) { print ''; print '
'; - print $form->selectDate($search_dateorder_start ? $search_dateorder_start : -1, 'search_dateorder_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print $form->selectDate($search_dateorder_start ? $search_dateorder_start : -1, 'search_dateorder_start_', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); print '
'; print '
'; - print $form->selectDate($search_dateorder_end ? $search_dateorder_end : -1, 'search_dateorder_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print $form->selectDate($search_dateorder_end ? $search_dateorder_end : -1, 'search_dateorder_end_', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); print '
'; print ''; } @@ -719,10 +719,10 @@ if ($resql) { print ''; print '
'; - print $form->selectDate($search_datedelivery_start ? $search_datedelivery_start : -1, 'search_datedelivery_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); + print $form->selectDate($search_datedelivery_start ? $search_datedelivery_start : -1, 'search_datedelivery_start_', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('From')); print '
'; print '
'; - print $form->selectDate($search_datedelivery_end ? $search_datedelivery_end : -1, 'search_datedelivery_end', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); + print $form->selectDate($search_datedelivery_end ? $search_datedelivery_end : -1, 'search_datedelivery_end_', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans('to')); print '
'; print ''; } From e87bdd02bdc5ea486ea87df67dfb0f4f133228d2 Mon Sep 17 00:00:00 2001 From: lvessiller Date: Fri, 20 Nov 2020 16:10:11 +0100 Subject: [PATCH 09/29] FIX date order param not empty --- htdocs/commande/list.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index cee3b5537af..0828971eaa5 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -448,8 +448,8 @@ if ($resql) if ($search_status != '') $param .= '&search_status='.urlencode($search_status); if ($search_datecloture_start) $param .= '&search_datecloture_start='.urlencode($search_datecloture_start); if ($search_datecloture_end) $param .= '&search_datecloture_end='.urlencode($search_datecloture_end); - if ($search_datedelivery_start) $param .= '&search_dateorder_start_day=' . dol_print_date($search_dateorder_start, '%d') . '&search_dateorder_start_month=' . dol_print_date($search_dateorder_start, '%m') . '&search_dateorder_start_year=' . dol_print_date($search_dateorder_start, '%Y'); - if ($search_datedelivery_end) $param .= '&search_dateorder_end_day=' . dol_print_date($search_dateorder_end, '%d') . '&search_dateorder_end_month=' . dol_print_date($search_dateorder_end, '%m') . '&search_dateorder_end_year=' . dol_print_date($search_dateorder_end, '%Y'); + if ($search_dateorder_start) $param .= '&search_dateorder_start_day=' . dol_print_date($search_dateorder_start, '%d') . '&search_dateorder_start_month=' . dol_print_date($search_dateorder_start, '%m') . '&search_dateorder_start_year=' . dol_print_date($search_dateorder_start, '%Y'); + if ($search_dateorder_end) $param .= '&search_dateorder_end_day=' . dol_print_date($search_dateorder_end, '%d') . '&search_dateorder_end_month=' . dol_print_date($search_dateorder_end, '%m') . '&search_dateorder_end_year=' . dol_print_date($search_dateorder_end, '%Y'); if ($search_datedelivery_start) $param .= '&search_datedelivery_start_day=' . dol_print_date($search_datedelivery_start, '%d') . '&search_datedelivery_start_month=' . dol_print_date($search_datedelivery_start, '%m') . '&search_datedelivery_start_year=' . dol_print_date($search_datedelivery_start, '%Y'); if ($search_datedelivery_end) $param .= '&search_datedelivery_end_day=' . dol_print_date($search_datedelivery_end, '%d') . '&search_datedelivery_end_month=' . dol_print_date($search_datedelivery_end, '%m') . '&search_datedelivery_end_year=' . dol_print_date($search_datedelivery_end, '%Y'); if ($search_ref) $param .= '&search_ref='.urlencode($search_ref); From 064b5acff5c6c8888eefbea6ab5763162bfbe844 Mon Sep 17 00:00:00 2001 From: Francis Appels Date: Fri, 20 Nov 2020 17:16:49 +0100 Subject: [PATCH 10/29] List supplier barcode --- htdocs/fourn/class/fournisseur.product.class.php | 4 ++-- htdocs/product/fournisseurs.php | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index abd1f3baab9..fbeeda9ba60 100644 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -674,8 +674,8 @@ class ProductFournisseur extends Product } if ($conf->barcode->enabled) { - $prodfourn->barcode = $record["barcode"]; - $prodfourn->fk_barcode_type = $record["fk_barcode_type"]; + $prodfourn->supplier_barcode = $record["barcode"]; + $prodfourn->supplier_fk_barcode_type = $record["fk_barcode_type"]; } if (!empty($conf->dynamicprices->enabled) && !empty($prodfourn->fk_supplier_price_expression)) { diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index 5cb12b100f1..f3ac7afbd58 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -725,7 +725,7 @@ END; // Option to define a transport cost on supplier price print ''; print ''.$langs->trans('BarcodeValue').''; - print ''; + print ''; print ''; $formbarcode = new FormBarCode($db); @@ -733,7 +733,7 @@ END; print ''; print ''.$langs->trans('BarcodeType').''; print ''; - print $formbarcode->selectBarcodeType(($rowid ? $object->fourn_fk_barcode_type : $conf->global->PRODUIT_DEFAULT_BARCODE_TYPE), 'fk_barcode_type', 1); + print $formbarcode->selectBarcodeType(($rowid ? $object->supplier_fk_barcode_type : $conf->global->PRODUIT_DEFAULT_BARCODE_TYPE), 'fk_barcode_type', 1); print ''; print ''; } @@ -1071,16 +1071,16 @@ END; // Barcode if (!empty($arrayfields['pfp.barcode']['checked'])) { print ''; - print $productfourn->barcode; + print $productfourn->supplier_barcode; print ''; } // Barcode type if (!empty($arrayfields['pfp.fk_barcode_type']['checked'])) { print ''; - $productfourn->barcode_type = !empty($productfourn->fk_barcode_type) ? $productfourn->fk_barcode_type : 0; + $productfourn->barcode_type = !empty($productfourn->supplier_fk_barcode_type) ? $productfourn->supplier_fk_barcode_type : 0; $productfourn->fetch_barcode(); - print $productfourn->barcode_type_label ? $productfourn->barcode_type_label : ($productfourn->barcode ? '
'.$langs->trans("SetDefaultBarcodeType").'
' : ''); + print $productfourn->barcode_type_label ? $productfourn->barcode_type_label : ($productfourn->supplier_barcode ? '
'.$langs->trans("SetDefaultBarcodeType").'
' : ''); print ''; } From d24ac5109d919c113ca2db6cf3c926b6e478f2b6 Mon Sep 17 00:00:00 2001 From: andreubisquerra Date: Fri, 20 Nov 2020 18:40:04 +0100 Subject: [PATCH 11/29] FIX TakePOS order_notes extrafield --- htdocs/takepos/admin/bar.php | 4 ++++ htdocs/takepos/admin/other.php | 4 ---- htdocs/takepos/admin/setup.php | 5 ----- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/htdocs/takepos/admin/bar.php b/htdocs/takepos/admin/bar.php index 481394c626f..fc727b66578 100644 --- a/htdocs/takepos/admin/bar.php +++ b/htdocs/takepos/admin/bar.php @@ -65,6 +65,10 @@ if (GETPOST('action', 'alpha') == 'set') } } +if ($conf->global->TAKEPOS_ORDER_NOTES == 1) { + $extrafields = new ExtraFields($db); + $extrafields->addExtraField('order_notes', 'Order notes', 'varchar', 0, 255, 'facturedet', 0, 0, '', '', 0, '', 0, 1); +} /* * View diff --git a/htdocs/takepos/admin/other.php b/htdocs/takepos/admin/other.php index 2f8368ee957..6874665ace7 100644 --- a/htdocs/takepos/admin/other.php +++ b/htdocs/takepos/admin/other.php @@ -83,10 +83,6 @@ if (GETPOST('action', 'alpha') == 'set') { $res = dolibarr_set_const($db, "TAKEPOS_SUMUP_AFFILIATE", GETPOST('TAKEPOS_SUMUP_AFFILIATE', 'alpha'), 'chaine', 0, '', $conf->entity); $res = dolibarr_set_const($db, "TAKEPOS_SUMUP_APPID", GETPOST('TAKEPOS_SUMUP_APPID', 'alpha'), 'chaine', 0, '', $conf->entity); } - if ($conf->global->TAKEPOS_ORDER_NOTES == 1) { - $extrafields = new ExtraFields($db); - $extrafields->addExtraField('order_notes', 'Order notes', 'varchar', 0, 255, 'facturedet', 0, 0, '', '', 0, '', 0, 1); - } dol_syslog("admin/cashdesk: level ".GETPOST('level', 'alpha')); diff --git a/htdocs/takepos/admin/setup.php b/htdocs/takepos/admin/setup.php index 804a189de00..7fe0e39062b 100644 --- a/htdocs/takepos/admin/setup.php +++ b/htdocs/takepos/admin/setup.php @@ -82,11 +82,6 @@ if ($action == 'set') $res = dolibarr_set_const($db, "TAKEPOS_SUMUP_AFFILIATE", GETPOST('TAKEPOS_SUMUP_AFFILIATE', 'alpha'), 'chaine', 0, '', $conf->entity); $res = dolibarr_set_const($db, "TAKEPOS_SUMUP_APPID", GETPOST('TAKEPOS_SUMUP_APPID', 'alpha'), 'chaine', 0, '', $conf->entity); } - if ($conf->global->TAKEPOS_ORDER_NOTES == 1) - { - $extrafields = new ExtraFields($db); - $extrafields->addExtraField('order_notes', 'Order notes', 'varchar', 0, 255, 'facturedet', 0, 0, '', '', 0, '', 0, 1); - } dol_syslog("admin/cashdesk: level ".GETPOST('level', 'alpha')); From f7228d96af13d800324f75d711ba05cc1df042b4 Mon Sep 17 00:00:00 2001 From: Florian Mortgat Date: Fri, 20 Nov 2020 19:12:59 +0100 Subject: [PATCH 12/29] FIX 12.0 - when the cronjob 'params' field is empty, the cron method is called with one empty string param instead of no params at all --- htdocs/cron/class/cronjob.class.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/htdocs/cron/class/cronjob.class.php b/htdocs/cron/class/cronjob.class.php index 39220f0cebe..ba7adfd320f 100644 --- a/htdocs/cron/class/cronjob.class.php +++ b/htdocs/cron/class/cronjob.class.php @@ -1052,7 +1052,10 @@ class Cronjob extends CommonObject $object = new $this->objectname($this->db); if ($this->entity > 0) $object->entity = $this->entity; // We work on a dedicated entity - $params_arr = array_map('trim', explode(",", $this->params)); + $params_arr = array(); + if (!empty($this->params) || $this->params === '0'){ + $params_arr = array_map('trim', explode(",", $this->params)); + } if (!is_array($params_arr)) { @@ -1113,7 +1116,7 @@ class Cronjob extends CommonObject } dol_syslog(get_class($this)."::run_jobs ".$this->libname."::".$this->methodename."(".$this->params.");", LOG_DEBUG); - $params_arr = explode(", ", $this->params); + $params_arr = explode(", ", $this->params); if (!is_array($params_arr)) { $result = call_user_func($this->methodename, $this->params); From 6c75997b271821de38f0d81859812d944f09cd46 Mon Sep 17 00:00:00 2001 From: Florian Mortgat Date: Fri, 20 Nov 2020 19:15:15 +0100 Subject: [PATCH 13/29] FIX wrong tab --- htdocs/cron/class/cronjob.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/cron/class/cronjob.class.php b/htdocs/cron/class/cronjob.class.php index ba7adfd320f..e8b3fd8e96b 100644 --- a/htdocs/cron/class/cronjob.class.php +++ b/htdocs/cron/class/cronjob.class.php @@ -1116,7 +1116,7 @@ class Cronjob extends CommonObject } dol_syslog(get_class($this)."::run_jobs ".$this->libname."::".$this->methodename."(".$this->params.");", LOG_DEBUG); - $params_arr = explode(", ", $this->params); + $params_arr = explode(", ", $this->params); if (!is_array($params_arr)) { $result = call_user_func($this->methodename, $this->params); From 84b2d7e9746307e56a8c75fd5dba51c5efc62674 Mon Sep 17 00:00:00 2001 From: Valcoop <74793548+Valcoop@users.noreply.github.com> Date: Fri, 20 Nov 2020 22:19:17 +0100 Subject: [PATCH 14/29] FIX Bug where amount of voters was always 0 FIX Bug where amount of voters was always 0. Due to erroneous sql query build fetching the wrong column name. --- htdocs/opensurvey/list.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/opensurvey/list.php b/htdocs/opensurvey/list.php index dbc38b7b197..f4f316122fb 100644 --- a/htdocs/opensurvey/list.php +++ b/htdocs/opensurvey/list.php @@ -349,7 +349,7 @@ while ($i < min($num, $limit)) $obj = $db->fetch_object($resql); if (empty($obj)) break; // Should not happen - $sql2 = 'select COUNT(*) as nb from '.MAIN_DB_PREFIX."opensurvey_user_studs where id_sondage='".$db->escape($obj->id_sondage)."'"; + $sql2 = 'select COUNT(*) as nb from '.MAIN_DB_PREFIX."opensurvey_user_studs where id_sondage='".$db->escape($obj->rowid)."'"; $resql2 = $db->query($sql2); if ($resql2) { From 89e101e0b6c839429f879f53d5d877ab988718ea Mon Sep 17 00:00:00 2001 From: Francis Appels Date: Sat, 21 Nov 2020 11:38:07 +0100 Subject: [PATCH 15/29] Fix wrong value for deprecated --- htdocs/fourn/class/fournisseur.product.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index fbeeda9ba60..60d87cc7759 100644 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -559,7 +559,7 @@ class ProductFournisseur extends Product $this->fourn_multicurrency_code = $obj->multicurrency_code; if ($conf->barcode->enabled) { $this->fourn_barcode = $obj->barcode; // deprecated - $this->fourn_fk_barcode_type = $obj->barcode; // deprecated + $this->fourn_fk_barcode_type = $obj->fk_barcode_type; // deprecated $this->supplier_barcode = $obj->barcode; $this->supplier_fk_barcode_type = $obj->fk_barcode_type; } From ec49eed8b92ad18f1afedfe06ca2e94a68f68d3d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 21 Nov 2020 12:45:22 +0100 Subject: [PATCH 16/29] Fix css --- 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 bcbeba44f46..4e63e915593 100644 --- a/htdocs/theme/eldy/global.inc.php +++ b/htdocs/theme/eldy/global.inc.php @@ -3983,7 +3983,7 @@ img.boxhandle, img.boxclose { .ok { color: #114466; } .warning { color: #887711 !important; } .error { color: #660000 !important; font-weight: bold; } -.green { color: #118822; } +.green { color: #118822 !important; } div.ok { color: #114466; diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index 63886879f8e..d863f53285b 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -3881,7 +3881,7 @@ img.boxhandle, img.boxclose { .ok { color: #114466; } .warning { color: #887711 !important; } .error { color: #550000 !important; font-weight: bold; } -.green { color: #118822; } +.green { color: #118822 !important; } div.ok { color: #114466; From 35345559096d0b05cdbf0dda173063691ca15bc6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 21 Nov 2020 14:14:53 +0100 Subject: [PATCH 17/29] Fix setup of scheduled jobs --- htdocs/admin/agenda_reminder.php | 75 ++++++++++++------------- htdocs/comm/action/card.php | 26 +++------ htdocs/core/class/html.form.class.php | 14 +++-- htdocs/core/lib/agenda.lib.php | 11 ++-- htdocs/core/lib/cron.lib.php | 5 ++ htdocs/core/modules/modAgenda.class.php | 2 +- htdocs/cron/admin/cron.php | 6 +- htdocs/cron/card.php | 12 ++-- htdocs/cron/list.php | 40 +++++++++---- htdocs/langs/en_US/admin.lang | 5 +- htdocs/langs/en_US/agenda.lang | 2 +- htdocs/langs/en_US/cron.lang | 4 +- 12 files changed, 110 insertions(+), 92 deletions(-) diff --git a/htdocs/admin/agenda_reminder.php b/htdocs/admin/agenda_reminder.php index e34536e648a..7dfbeff82f6 100644 --- a/htdocs/admin/agenda_reminder.php +++ b/htdocs/admin/agenda_reminder.php @@ -179,53 +179,52 @@ print ' '."\n"; print ''.$langs->trans("Value").''."\n"; print ''."\n"; +// AGENDA REMINDER BROWSER +print ''."\n"; +print ''.$langs->trans('AGENDA_REMINDER_BROWSER').''."\n"; +print ' '."\n"; +print ''."\n"; + +if (empty($conf->global->AGENDA_REMINDER_BROWSER)) { + print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; + print ''."\n"; +} else { + print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; + print ''."\n"; + + print ''."\n"; + print ''.$langs->trans('AGENDA_REMINDER_BROWSER_SOUND').''."\n"; + print ' '."\n"; + print ''."\n"; + + if (empty($conf->global->AGENDA_REMINDER_BROWSER_SOUND)) { + print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; + } else { + print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; + } + + print ''."\n"; +} // AGENDA REMINDER EMAIL -if ($conf->global->MAIN_FEATURES_LEVEL == 2) -{ - print ''."\n"; - print ''.$langs->trans('AGENDA_REMINDER_EMAIL', $langs->transnoentities("Module2300Name")).''."\n"; - print ' '."\n"; - print ''."\n"; +print ''."\n"; +print ''.$langs->trans('AGENDA_REMINDER_EMAIL', $langs->transnoentities("Module2300Name")).''."\n"; +print ' '."\n"; +print ''."\n"; +if (empty($conf->cron->enabled)) { + print ''.$langs->trans("WarningModuleNotActive", $langs->transnoentitiesnoconv("Module2300Name")).''; +} else { if (empty($conf->global->AGENDA_REMINDER_EMAIL)) { print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; - print ''."\n"; } else { print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; - print ''."\n"; - } -} - -// AGENDA REMINDER BROWSER -if ($conf->global->MAIN_FEATURES_LEVEL == 2) -{ - print ''."\n"; - print ''.$langs->trans('AGENDA_REMINDER_BROWSER').''."\n"; - print ' '."\n"; - print ''."\n"; - - if (empty($conf->global->AGENDA_REMINDER_BROWSER)) { - print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; - print ''."\n"; - } else { - print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; - print ''."\n"; - - print ''."\n"; - print ''.$langs->trans('AGENDA_REMINDER_BROWSER_SOUND').''."\n"; - print ' '."\n"; - print ''."\n"; - - if (empty($conf->global->AGENDA_REMINDER_BROWSER_SOUND)) { - print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; - } else { - print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; - } - - print ''."\n"; + // Get the max frequency of reminder + + print '
'.$langs->trans("AGENDA_REMINDER_EMAIL_NOTE", $langs->transnoentitiesnoconv("Module2300Name")).''; } } +print ''."\n"; print ''; diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index 0b1eba637d4..6d51a16ddc2 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -117,8 +117,8 @@ $reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); $TRemindTypes = array(); -if (!empty($conf->global->AGENDA_REMINDER_EMAIL)) $TRemindTypes['email'] = $langs->trans('EMail'); -if (!empty($conf->global->AGENDA_REMINDER_BROWSER)) $TRemindTypes['browser'] = $langs->trans('BrowserPush'); +if (!empty($conf->global->AGENDA_REMINDER_BROWSER)) $TRemindTypes['browser'] = array('label'=>$langs->trans('BrowserPush'), 'disabled'=>(empty($conf->global->AGENDA_REMINDER_BROWSER) ? 1 : 0)); +if (!empty($conf->global->AGENDA_REMINDER_EMAIL)) $TRemindTypes['email'] = array('label'=>$langs->trans('EMail'), 'disabled'=>(empty($conf->global->AGENDA_REMINDER_EMAIL) ? 1 : 0)); $TDurationTypes = array('y'=>$langs->trans('Years'), 'm'=>$langs->trans('Month'), 'w'=>$langs->trans('Weeks'), 'd'=>$langs->trans('Days'), 'h'=>$langs->trans('Hours'), 'i'=>$langs->trans('Minutes')); @@ -1247,12 +1247,7 @@ if ($action == 'create') //Reminder print ''.$langs->trans("ReminderTime").''; - print ''; - print ''; - - //Time Type - print ''.$langs->trans("TimeType").''; - print $form->selectTypeDuration('offsetunit', 'i'); + print ' '.$form->selectTypeDuration('offsetunit', 'i'); print ''; //Reminder Type @@ -1731,20 +1726,13 @@ if ($id > 0) print ''; - //Reminder + // Reminder print ''; - //Time Type - print ''; - - //Reminder Type + // Reminder Type $TRemindTypes = array(); - if (!empty($conf->global->AGENDA_REMINDER_EMAIL)) $TRemindTypes['email'] = $langs->trans('EMail'); - if (!empty($conf->global->AGENDA_REMINDER_BROWSER)) $TRemindTypes['browser'] = $langs->trans('BrowserPush'); print ''; @@ -1752,7 +1740,7 @@ if ($id > 0) $hide = ''; if ($actionCommReminder->typeremind == 'browser') $hide = 'style="display:none;"'; - //Mail Model + // Mail Model print ''; diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 0173e03730e..a7bcc562a9b 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -6259,7 +6259,7 @@ class Form * Note: Do not apply langs->trans function on returned content, content may be entity encoded twice. * * @param string $htmlname Name of html select area. Must start with "multi" if this is a multiselect - * @param array $array Array like array(key => value) or array(key=>array('label'=>..., 'data-...'=>...)) + * @param array $array Array like array(key => value) or array(key=>array('label'=>..., 'data-...'=>..., 'disabled'=>..., 'css'=>...)) * @param string|string[] $id Preselected key or preselected keys for multiselect * @param int|string $show_empty 0 no empty value allowed, 1 or string to add an empty value into list (key is -1 and value is '' or ' ' if 1, key is -1 and value is text if string), <0 to add an empty value with key that is this value. * @param int $key_in_label 1 to show key into label with format "[key] value" @@ -6331,10 +6331,14 @@ class Form foreach ($array as $key => $tmpvalue) { - if (is_array($tmpvalue)) $value = $tmpvalue['label']; - else $value = $tmpvalue; - - $disabled = ''; $style = ''; + if (is_array($tmpvalue)) { + $value = $tmpvalue['label']; + $disabled = empty($tmpvalue['disabled']) ? '' : ' disabled'; + $style = empty($tmpvalue['css']) ? ' class="'.$tmpvalue['css'].'"' : ''; + } else { + $value = $tmpvalue; + $disabled = ''; $style = ''; + } if (!empty($disablebademail)) { if (($disablebademail == 1 && !preg_match('/<.+@.+>/', $value)) diff --git a/htdocs/core/lib/agenda.lib.php b/htdocs/core/lib/agenda.lib.php index 599ee983296..8241b415726 100644 --- a/htdocs/core/lib/agenda.lib.php +++ b/htdocs/core/lib/agenda.lib.php @@ -356,13 +356,10 @@ function agenda_prepare_head() $head[$h][2] = 'autoactions'; $h++; - if ($conf->global->MAIN_FEATURES_LEVEL > 0) - { - $head[$h][0] = DOL_URL_ROOT."/admin/agenda_reminder.php"; - $head[$h][1] = $langs->trans("Reminders"); - $head[$h][2] = 'reminders'; - $h++; - } + $head[$h][0] = DOL_URL_ROOT."/admin/agenda_reminder.php"; + $head[$h][1] = $langs->trans("Reminders"); + $head[$h][2] = 'reminders'; + $h++; $head[$h][0] = DOL_URL_ROOT."/admin/agenda_xcal.php"; $head[$h][1] = $langs->trans("ExportCal"); diff --git a/htdocs/core/lib/cron.lib.php b/htdocs/core/lib/cron.lib.php index 084b781d3b4..fda122be7bf 100644 --- a/htdocs/core/lib/cron.lib.php +++ b/htdocs/core/lib/cron.lib.php @@ -39,6 +39,11 @@ function cronadmin_prepare_head() $head[$h][2] = 'setup'; $h++; + $head[$h][0] = dol_buildpath('/cron/list.php?mode=modulesetup', 1); + $head[$h][1] = $langs->trans("Module2300Name"); + $head[$h][2] = 'jobs'; + $h++; + complete_head_from_modules($conf, $langs, null, $head, $h, 'cronadmin'); complete_head_from_modules($conf, $langs, null, $head, $h, 'cronadmin', 'remove'); diff --git a/htdocs/core/modules/modAgenda.class.php b/htdocs/core/modules/modAgenda.class.php index 0712adc59fb..559260a77c2 100644 --- a/htdocs/core/modules/modAgenda.class.php +++ b/htdocs/core/modules/modAgenda.class.php @@ -113,7 +113,7 @@ class modAgenda extends DolibarrModules //------------ $datestart = dol_now(); $this->cronjobs = array( - 0=>array('label'=>'SendEmailsReminders', 'jobtype'=>'method', 'class'=>'comm/action/class/actioncomm.class.php', 'objectname'=>'ActionComm', 'method'=>'sendEmailsReminder', 'parameters'=>'', 'comment'=>'SendEMailsReminder', 'frequency'=>10, 'unitfrequency'=>60, 'priority'=>10, 'status'=>1, 'test'=>'$conf->agenda->enabled', 'datestart'=>$datestart), + 0=>array('label'=>'SendEmailsReminders', 'jobtype'=>'method', 'class'=>'comm/action/class/actioncomm.class.php', 'objectname'=>'ActionComm', 'method'=>'sendEmailsReminder', 'parameters'=>'', 'comment'=>'SendEMailsReminder', 'frequency'=>5, 'unitfrequency'=>60, 'priority'=>10, 'status'=>1, 'test'=>'$conf->agenda->enabled', 'datestart'=>$datestart), ); // Permissions diff --git a/htdocs/cron/admin/cron.php b/htdocs/cron/admin/cron.php index fc3ca7c63b6..b0431f40dee 100644 --- a/htdocs/cron/admin/cron.php +++ b/htdocs/cron/admin/cron.php @@ -35,7 +35,7 @@ $langs->loadLangs(array('admin', 'cron')); if (!$user->admin) accessforbidden(); -$actionsave = GETPOST("save"); +$actionsave = GETPOST("save", 'alphanohtml'); // Save parameters if (!empty($actionsave)) @@ -75,6 +75,8 @@ print ''; print dol_get_fiche_head($head, 'setup', $langs->trans("Module2300Name"), -1, 'cron'); +print ''.$langs->trans('CronInfo').'
'; + print "
\n"; print '
'.$langs->trans("ReminderTime").''; - print ''; + print ' '.$form->selectTypeDuration('offsetunit', $actionCommReminder->offsetunit); print '
'.$langs->trans("TimeType").''; - print $form->selectTypeDuration('offsetunit', $actionCommReminder->offsetunit); - print '
'.$langs->trans("ReminderType").''; print $form->selectarray('selectremindertype', $TRemindTypes, $actionCommReminder->typeremind); print '
'.$langs->trans("EMailTemplates").''; print $form->selectModelMail('actioncommsend', 'actioncomm_send', 1); print '
'; @@ -116,7 +118,7 @@ print ''; print '


'; -print $langs->trans("UseMenuModuleToolsToAddCronJobs", dol_buildpath('/cron/list.php?leftmenu=admintools', 1)).'
'; +//print $langs->trans("UseMenuModuleToolsToAddCronJobs", dol_buildpath('/cron/list.php?leftmenu=admintools', 1)).'
'; if (!empty($conf->global->CRON_WARNING_DELAY_HOURS)) print info_admin($langs->trans("WarningCronDelayed", $conf->global->CRON_WARNING_DELAY_HOURS)).'
'; print '
'; diff --git a/htdocs/cron/card.php b/htdocs/cron/card.php index 9c3a2b38f02..a67b7633044 100644 --- a/htdocs/cron/card.php +++ b/htdocs/cron/card.php @@ -42,7 +42,9 @@ $id = GETPOST('id', 'int'); $action = GETPOST('action', 'aZ09'); $confirm = GETPOST('confirm', 'alpha'); $cancel = GETPOST('cancel', 'alpha'); -$backtourl = GETPOST('backtourl', 'alpha'); +$backtopage = GETPOST('backtopage', 'alpha'); +$backtopageforcancel = GETPOST('backtopageforcancel', 'alpha'); + $securitykey = GETPOST('securitykey', 'alpha'); @@ -62,13 +64,13 @@ if (!empty($id)) if (!empty($cancel)) { - if (!empty($id) && empty($backtourl)) + if (!empty($id) && empty($backtopage)) { $action = ''; } else { - if ($backtourl) + if ($backtopage) { - header("Location: ".$backtourl); + header("Location: ".$backtopage); exit; } else { header("Location: ".DOL_URL_ROOT.'/cron/list.php'); @@ -297,7 +299,7 @@ if (($action == "create") || ($action == "edit")) { print ''; print ''."\n"; - print ''."\n"; + print ''."\n"; if (!empty($object->id)) { print ''."\n"; print ''."\n"; diff --git a/htdocs/cron/list.php b/htdocs/cron/list.php index ec1143cd89a..b80f67b25bd 100644 --- a/htdocs/cron/list.php +++ b/htdocs/cron/list.php @@ -55,10 +55,12 @@ $pagenext = $page + 1; if (!$sortfield) $sortfield = 't.status,t.priority'; if (!$sortorder) $sortorder = 'DESC,ASC'; -$search_status = (GETPOSTISSET('search_status') ?GETPOST('search_status', 'int') : GETPOST('status', 'int')); - +$mode = GETPOST('mode', 'aZ09'); //Search criteria +$search_status = (GETPOSTISSET('search_status') ?GETPOST('search_status', 'int') : GETPOST('status', 'int')); $search_label = GETPOST("search_label", 'alpha'); +$search_module_name = GETPOST("search_module_name", 'alpha'); + $securitykey = GETPOST('securitykey', 'alpha'); $diroutputmassaction = $conf->cronjob->dir_output.'/temp/massgeneration/'.$user->id; @@ -211,7 +213,6 @@ $pagetitle = $langs->trans("CronList"); llxHeader('', $pagetitle); - $sql = "SELECT"; $sql .= " t.rowid,"; $sql .= " t.tms,"; @@ -254,8 +255,8 @@ if (is_array($filter) && count($filter) > 0) { } } $sqlwhere = array(); -if (!empty($module_name)) { - $sqlwhere[] = '(t.module_name='.$db->escape($module_name).')'; +if (!empty($search_module_name)) { + $sqlwhere[] = '(t.module_name='.$db->escape($search_module_name).')'; } if (count($sqlwhere) > 0) { $sql .= " WHERE ".implode(' AND ', $sqlwhere); @@ -296,6 +297,8 @@ if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&co if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit); if ($search_status) $param .= '&search_status='.urlencode($search_status); if ($search_label) $param .= '&search_label='.urlencode($search_label); +if ($search_module_name) $param .= '&search_module_name='.urlencode($search_module_name); +if ($mode) $param .= '&mode='.urlencode($mode); if ($optioncss != '') $param .= '&optioncss='.urlencode($optioncss); // Add $param from extra fields include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; @@ -322,6 +325,13 @@ if ($user->rights->mymodule->delete) $arrayofmassactions['predelete'] = 'selectMassAction('', $arrayofmassactions); +if ($mode == 'modulesetup') { + $linkback = ''.$langs->trans("BackToModuleList").''; + print load_fiche_titre($langs->trans("CronSetup"), $linkback, 'title_setup'); + + // Configuration header + $head = cronadmin_prepare_head(); +} print ''."\n"; if ($optioncss != '') print ''; @@ -332,15 +342,21 @@ print ''; print ''; print ''; print ''; +print ''; // Line with explanation and button new -$newcardbutton = dolGetButtonTitle($langs->trans('New'), $langs->trans('CronCreateJob'), 'fa fa-plus-circle', DOL_URL_ROOT.'/cron/card.php?action=create&backtopage='.urlencode($_SERVER['PHP_SELF']), '', $user->rights->cron->create); +$newcardbutton = dolGetButtonTitle($langs->trans('New'), $langs->trans('CronCreateJob'), 'fa fa-plus-circle', DOL_URL_ROOT.'/cron/card.php?action=create&backtopage='.urlencode($_SERVER['PHP_SELF'].'?mode=modulesetup'), '', $user->rights->cron->create); -print_barre_liste($pagetitle, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'title_setup', 0, $newcardbutton, '', $limit); +if ($mode == 'modulesetup') { + print dol_get_fiche_head($head, 'jobs', $langs->trans("Module2300Name"), -1, 'cron'); + + //print ''.$langs->trans('CronInfo').'
'; +} -print ''.$langs->trans('CronInfo').'
'; +print_barre_liste($pagetitle, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, ($mode == 'modulesetup' ? '' : 'title_setup'), 0, $newcardbutton, '', $limit); + $text = $langs->trans("HoursOnThisPageAreOnServerTZ").' '.$stringcurrentdate.'
'; if (!empty($conf->global->CRON_WARNING_DELAY_HOURS)) $text .= $langs->trans("WarningCronDelayed", $conf->global->CRON_WARNING_DELAY_HOURS); @@ -533,11 +549,11 @@ if ($num > 0) print '
'."\n"; diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 5e7ddbd38fc..2333b5fb5f1 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -1625,7 +1625,7 @@ function pdf_getlineupexcltax($object, $i, $outputlangs, $hidedetails = 0) { if (empty($hidedetails) || $hidedetails > 1) { - $subprice = ($conf->multicurrency->enabled && $object->multicurrency_tx != 1 ? $object->lines[$i]->multicurrency_subprice : $object->lines[$i]->subprice); + $subprice = (!empty($conf->multicurrency->enabled) && $object->multicurrency_tx != 1 ? $object->lines[$i]->multicurrency_subprice : $object->lines[$i]->subprice); $result .= price($sign * $subprice, 0, $outputlangs); } } diff --git a/htdocs/cron/class/cronjob.class.php b/htdocs/cron/class/cronjob.class.php index 72ebb06e311..9484c6a2331 100644 --- a/htdocs/cron/class/cronjob.class.php +++ b/htdocs/cron/class/cronjob.class.php @@ -289,10 +289,12 @@ class Cronjob extends CommonObject /** * Load object in memory from the database * - * @param int $id Id object - * @return int <0 if KO, >0 if OK + * @param int $id Id object + * @param string $objectname Object name + * @param string $methodname Method name + * @return int <0 if KO, >0 if OK */ - public function fetch($id) + public function fetch($id, $objectname = '', $methodname = '') { $sql = "SELECT"; $sql .= " t.rowid,"; @@ -328,7 +330,13 @@ class Cronjob extends CommonObject $sql .= " t.libname,"; $sql .= " t.test"; $sql .= " FROM ".MAIN_DB_PREFIX."cronjob as t"; - $sql .= " WHERE t.rowid = ".$id; + if ($id > 0) { + $sql .= " WHERE t.rowid = ".$id; + } else { + $sql .= " WHERE t.entity IN(0, ".getEntity('cron').")"; + $sql .= " AND t.objectname = '".$this->db->escape($objectname)."'"; + $sql .= " AND t.methodename = '".$this->db->escape($methodname)."'"; + } dol_syslog(get_class($this)."::fetch", LOG_DEBUG); $resql = $this->db->query($sql); @@ -1233,7 +1241,7 @@ class Cronjob extends CommonObject if (($this->maxrun > 0 && ($this->nbrun >= $this->maxrun)) || ($this->dateend && ($this->datenextrun > $this->dateend))) { - $this->status = 2; + $this->status = self::STATUS_ARCHIVED; dol_syslog(get_class($this)."::reprogram_jobs Job will be set to archived", LOG_ERR); } } diff --git a/htdocs/cron/list.php b/htdocs/cron/list.php index b80f67b25bd..d3f84de6bd2 100644 --- a/htdocs/cron/list.php +++ b/htdocs/cron/list.php @@ -602,11 +602,6 @@ if ($mode == 'modulesetup') { } -print '

'; - - -dol_print_cron_urls(); - llxFooter(); $db->close(); diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index bcd038334ba..7534ba46123 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1741,7 +1741,7 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=Note: Module %s must be enabled and correctly setup to have reminder sent at the correct frequency. +AGENDA_REMINDER_EMAIL_NOTE=The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup diff --git a/htdocs/langs/en_US/cron.lang b/htdocs/langs/en_US/cron.lang index 753b37da438..9bf918a73a3 100644 --- a/htdocs/langs/en_US/cron.lang +++ b/htdocs/langs/en_US/cron.lang @@ -84,3 +84,4 @@ MakeLocalDatabaseDumpShort=Local database backup MakeLocalDatabaseDump=Create a local database dump. Parameters are: compression ('gz' or 'bz' or 'none'), backup type ('mysql', 'pgsql', 'auto'), 1, 'auto' or filename to build, number of backup files to keep WarningCronDelayed=Attention, for performance purpose, whatever is next date of execution of enabled jobs, your jobs may be delayed to a maximum of %s hours, before being run. DATAPOLICYJob=Data cleaner and anonymizer +JobXMustBeEnabled=Job %s must be enabled \ No newline at end of file From bf94ce6aadced0ab55fb8f67448da75c80925b83 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 21 Nov 2020 16:49:54 +0100 Subject: [PATCH 19/29] Fix warnings --- .../class/accountingaccount.class.php | 13 +++++-------- htdocs/admin/system/dolibarr.php | 2 +- htdocs/comm/action/class/actioncomm.class.php | 16 +++++++++------- htdocs/core/lib/date.lib.php | 2 +- 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/htdocs/accountancy/class/accountingaccount.class.php b/htdocs/accountancy/class/accountingaccount.class.php index ebf397c2dfd..af8d26bb374 100644 --- a/htdocs/accountancy/class/accountingaccount.class.php +++ b/htdocs/accountancy/class/accountingaccount.class.php @@ -460,7 +460,7 @@ class AccountingAccount extends CommonObject $result = ''; - $url = ''; + $url = ''; $labelurl = ''; if (empty($option) || $option == 'ledger') { $url = DOL_URL_ROOT.'/accountancy/bookkeeping/listbyaccount.php?search_accountancy_code_start='.urlencode($this->account_number).'&search_accountancy_code_end='.urlencode($this->account_number); $labelurl = $langs->trans("ShowAccountingAccountInLedger"); @@ -617,16 +617,13 @@ class AccountingAccount extends CommonObject // phpcs:enable $this->db->begin(); - if ($mode == 0) - { - $fieldtouse = 'active'; - } elseif ($mode == 1) - { + $fieldtouse = 'active'; + if ($mode == 1) { $fieldtouse = 'reconcilable'; } - $sql = "UPDATE ".MAIN_DB_PREFIX."accounting_account "; - $sql .= "SET ".$fieldtouse." = '1'"; + $sql = "UPDATE ".MAIN_DB_PREFIX."accounting_account"; + $sql .= " SET ".$fieldtouse." = '1'"; $sql .= " WHERE rowid = ".$this->db->escape($id); dol_syslog(get_class($this)."::account_activate ".$fieldtouse." sql=".$sql, LOG_DEBUG); diff --git a/htdocs/admin/system/dolibarr.php b/htdocs/admin/system/dolibarr.php index 6bae9666ee9..a9726bd7baf 100644 --- a/htdocs/admin/system/dolibarr.php +++ b/htdocs/admin/system/dolibarr.php @@ -225,7 +225,7 @@ print ''."\n"; } +$job = new Cronjob($db); +$job->fetch(0, 'ActionComm', 'sendEmailsReminder'); + // AGENDA REMINDER EMAIL print ''."\n"; -print ''."\n"; +print ''."\n"; print ''."\n"; print ''; - } + print ''; print "\n"; @@ -796,7 +793,7 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t { print ''; } - if ($addordertick) print ''; + print ''; print ''; } diff --git a/htdocs/core/tpl/ajaxrow.tpl.php b/htdocs/core/tpl/ajaxrow.tpl.php index dea5ce60d6e..25d5f6f3526 100644 --- a/htdocs/core/tpl/ajaxrow.tpl.php +++ b/htdocs/core/tpl/ajaxrow.tpl.php @@ -44,7 +44,8 @@ $forcereloadpage = empty($conf->global->MAIN_FORCE_RELOAD_PAGE) ? 0 : 1; $tagidfortablednd = (empty($tagidfortablednd) ? 'tablelines' : $tagidfortablednd); $filepath = (empty($filepath) ? '' : $filepath); -if (GETPOST('action', 'aZ09') != 'editline' && $nboflines > 1) { ?> + +if (GETPOST('action', 'aZ09') != 'editline' && $nboflines > 1 && $conf->browser->layout != 'phone') { ?>
'; - $backtourl = urlencode($_SERVER["PHP_SELF"].'?'.$param.($sortfield ? '&sortfield='.$sortfield : '').($sortorder ? '&sortorder='.$sortorder : '')); + $backtopage = urlencode($_SERVER["PHP_SELF"].'?'.$param.($sortfield ? '&sortfield='.$sortfield : '').($sortorder ? '&sortorder='.$sortorder : '')); if ($user->rights->cron->create) { print 'trans('Edit'))."\">".img_picto($langs->trans('Edit'), 'edit')."  "; + print "&backtopage=".$backtopage."\" title=\"".dol_escape_htmltag($langs->trans('Edit'))."\">".img_picto($langs->trans('Edit'), 'edit')."  "; } if ($user->rights->cron->delete) { @@ -581,6 +597,10 @@ print ''; print ''; +if ($mode == 'modulesetup') { + print dol_get_fiche_end(); +} + print '

'; diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index dd8e6fe6538..bcd038334ba 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1738,9 +1738,10 @@ AGENDA_USE_EVENT_TYPE_DEFAULT=Automatically set this default value for type of e AGENDA_DEFAULT_FILTER_TYPE=Automatically set this type of event in search filter of agenda view AGENDA_DEFAULT_FILTER_STATUS=Automatically set this status for events in search filter of agenda view AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting menu Agenda -AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). Note: Module %s must be enabled and correctly setup to have reminder sent at the correct frequency. -AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (when event date is reached, each user is able to refuse this from the browser confirmation question) +AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification +AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). +AGENDA_REMINDER_EMAIL_NOTE=Note: Module %s must be enabled and correctly setup to have reminder sent at the correct frequency. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup diff --git a/htdocs/langs/en_US/agenda.lang b/htdocs/langs/en_US/agenda.lang index 479155fb2a9..8971e80a8f8 100644 --- a/htdocs/langs/en_US/agenda.lang +++ b/htdocs/langs/en_US/agenda.lang @@ -166,4 +166,4 @@ TimeType=Duration type ReminderType=Callback type AddReminder=Create an automatic reminder notification for this event ErrorReminderActionCommCreation=Error creating the reminder notification for this event -BrowserPush=Browser Notification \ No newline at end of file +BrowserPush=Browser Popup Notification \ No newline at end of file diff --git a/htdocs/langs/en_US/cron.lang b/htdocs/langs/en_US/cron.lang index 9921f21851d..753b37da438 100644 --- a/htdocs/langs/en_US/cron.lang +++ b/htdocs/langs/en_US/cron.lang @@ -7,8 +7,8 @@ Permission23103 = Delete Scheduled job Permission23104 = Execute Scheduled job # Admin CronSetup=Scheduled job management setup -URLToLaunchCronJobs=URL to check and launch qualified cron jobs -OrToLaunchASpecificJob=Or to check and launch a specific job +URLToLaunchCronJobs=URL to check and launch qualified cron jobs from a browser +OrToLaunchASpecificJob=Or to check and launch a specific job from a browser KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to check and launch qualified cron jobs CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes From 95b79094dfb0fd10c130f5cb2caf028572288108 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 21 Nov 2020 16:27:50 +0100 Subject: [PATCH 18/29] Fix warning. Module cron is more clear. --- htdocs/admin/agenda_reminder.php | 15 ++++++++++++--- htdocs/core/lib/pdf.lib.php | 2 +- htdocs/cron/class/cronjob.class.php | 18 +++++++++++++----- htdocs/cron/list.php | 5 ----- htdocs/langs/en_US/admin.lang | 2 +- htdocs/langs/en_US/cron.lang | 1 + 6 files changed, 28 insertions(+), 15 deletions(-) diff --git a/htdocs/admin/agenda_reminder.php b/htdocs/admin/agenda_reminder.php index 7dfbeff82f6..3572ad47d63 100644 --- a/htdocs/admin/agenda_reminder.php +++ b/htdocs/admin/agenda_reminder.php @@ -25,6 +25,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/agenda.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; +require_once DOL_DOCUMENT_ROOT.'/cron/class/cronjob.class.php'; if (!$user->admin) accessforbidden(); @@ -218,10 +219,18 @@ if (empty($conf->cron->enabled)) { if (empty($conf->global->AGENDA_REMINDER_EMAIL)) { print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; } else { - print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; // Get the max frequency of reminder - - print '
'.$langs->trans("AGENDA_REMINDER_EMAIL_NOTE", $langs->transnoentitiesnoconv("Module2300Name")).''; + // TODO Read frequency of the job sendEmailsReminder and if job is enabled + $job = new Cronjob($db); + $job->fetch(0, 'ActionComm', 'sendEmailsReminder'); + if ($job->id > 0) { + if ($job->status != $job::STATUS_ENABLED) { + print ''.$langs->trans("JobXMustBeEnabled", $langs->transnoentitiesnoconv("sendEmailsReminder")).''; + } else { + print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; + print '
'.$langs->trans("AGENDA_REMINDER_EMAIL_NOTE", $langs->transnoentitiesnoconv("sendEmailsReminder")).''; + } + } } } print '
'.$langs->trans("CurrentTimeZone").''; / $a = getServerTimeZoneInt('now'); $b = getServerTimeZoneInt('winter'); $c = getServerTimeZoneInt('summer'); -$daylight = (is_numeric($c) && is_numeric($b)) ?round($c - $b) : 'unknown'; +$daylight = round($c - $b); //print $a." ".$b." ".$c." ".$daylight; $val = ($a >= 0 ? '+' : '').$a; $val .= ' ('.($a == 'unknown' ? 'unknown' : ($a >= 0 ? '+' : '').($a * 3600)).')'; diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 59d5a6b6691..95f2a3f3494 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -1206,16 +1206,17 @@ class ActionComm extends CommonObject * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user - * @param int $load_state_board Charge indicateurs this->nb de tableau de bord - * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK + * @param int $load_state_board Load indicator array this->nb + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ public function load_board($user, $load_state_board = 0) { // phpcs:enable global $conf, $langs; - if (empty($load_state_board)) $sql = "SELECT a.id, a.datep as dp"; - else { + if (empty($load_state_board)) { + $sql = "SELECT a.id, a.datep as dp"; + } else { $this->nb = array(); $sql = "SELECT count(a.id) as nb"; } @@ -1243,13 +1244,14 @@ class ActionComm extends CommonObject $response->img = img_object('', "action", 'class="inline-block valigntextmiddle"'); } // This assignment in condition is not a bug. It allows walking the results. - while ($obj = $this->db->fetch_object($resql)) - { + while ($obj = $this->db->fetch_object($resql)) { if (empty($load_state_board)) { $response->nbtodo++; $agenda_static->datep = $this->db->jdate($obj->dp); if ($agenda_static->hasDelay()) $response->nbtodolate++; - } else $this->nb["actionscomm"] = $obj->nb; + } else { + $this->nb["actionscomm"] = $obj->nb; + } } $this->db->free($resql); diff --git a/htdocs/core/lib/date.lib.php b/htdocs/core/lib/date.lib.php index cbfaa883da7..1e7f9b299c6 100644 --- a/htdocs/core/lib/date.lib.php +++ b/htdocs/core/lib/date.lib.php @@ -78,7 +78,7 @@ function getServerTimeZoneString() * Return server timezone int. * * @param string $refgmtdate Reference period for timezone (timezone differs on winter and summer. May be 'now', 'winter' or 'summer') - * @return int An offset in hour (+1 for Europe/Paris on winter and +2 for Europe/Paris on summer) + * @return float An offset in hour (+1 for Europe/Paris on winter and +2 for Europe/Paris on summer). Note some countries use half and even quarter hours. */ function getServerTimeZoneInt($refgmtdate = 'now') { From f39ad2359a91968abc931d30b58e8696cfa7b878 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 21 Nov 2020 17:01:17 +0100 Subject: [PATCH 20/29] Debug --- htdocs/admin/agenda_reminder.php | 19 ++++++++++++++----- htdocs/langs/en_US/admin.lang | 2 +- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/htdocs/admin/agenda_reminder.php b/htdocs/admin/agenda_reminder.php index 3572ad47d63..7558d0097de 100644 --- a/htdocs/admin/agenda_reminder.php +++ b/htdocs/admin/agenda_reminder.php @@ -207,9 +207,22 @@ if (empty($conf->global->AGENDA_REMINDER_BROWSER)) { print '
'.$langs->trans('AGENDA_REMINDER_EMAIL', $langs->transnoentities("Module2300Name")).''.$langs->trans('AGENDA_REMINDER_EMAIL', $langs->transnoentities("Module2300Name")); +if (!empty($conf->cron->enabled)) { + if (!empty($conf->global->AGENDA_REMINDER_EMAIL)) { + if ($job->id > 0) { + if ($job->status == $job::STATUS_ENABLED) { + print '
'.$langs->trans("AGENDA_REMINDER_EMAIL_NOTE", $langs->transnoentitiesnoconv("sendEmailsReminder")).''; + } + } + } +} +print '
 '."\n"; @@ -220,15 +233,11 @@ if (empty($conf->cron->enabled)) { print ''.img_picto($langs->trans('Disabled'), 'switch_off').''; } else { // Get the max frequency of reminder - // TODO Read frequency of the job sendEmailsReminder and if job is enabled - $job = new Cronjob($db); - $job->fetch(0, 'ActionComm', 'sendEmailsReminder'); if ($job->id > 0) { if ($job->status != $job::STATUS_ENABLED) { print ''.$langs->trans("JobXMustBeEnabled", $langs->transnoentitiesnoconv("sendEmailsReminder")).''; } else { print ''.img_picto($langs->trans('Enabled'), 'switch_on').''; - print '
'.$langs->trans("AGENDA_REMINDER_EMAIL_NOTE", $langs->transnoentitiesnoconv("sendEmailsReminder")).''; } } } diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 7534ba46123..94d1d1b2c47 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1741,7 +1741,7 @@ AGENDA_DEFAULT_VIEW=Which view do you want to open by default when selecting men AGENDA_REMINDER_BROWSER=Enable event reminder on user's browser (When remind date is reached, a popup is shown by the browser. Each user can disable such notifications from its browser notification setup). AGENDA_REMINDER_BROWSER_SOUND=Enable sound notification AGENDA_REMINDER_EMAIL=Enable event reminder by emails (remind option/delay can be defined on each event). -AGENDA_REMINDER_EMAIL_NOTE=The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. +AGENDA_REMINDER_EMAIL_NOTE=Note: The frequency of the task %s must be enough to be sure that the remind are sent at the correct moment. AGENDA_SHOW_LINKED_OBJECT=Show linked object into agenda view ##### Clicktodial ##### ClickToDialSetup=Click To Dial module setup From 9004be1df299f8898b6f2eb720899431182fb43d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 21 Nov 2020 17:42:07 +0100 Subject: [PATCH 21/29] Debug feature to send remind by email --- htdocs/comm/action/class/actioncomm.class.php | 62 +++++++++++++------ .../action/class/actioncommreminder.class.php | 49 +++++++-------- htdocs/core/class/commonobject.class.php | 2 +- htdocs/core/lib/functions.lib.php | 2 +- .../install/mysql/migration/12.0.0-13.0.0.sql | 1 + .../mysql/tables/llx_actioncomm_reminder.sql | 1 + 6 files changed, 69 insertions(+), 48 deletions(-) diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 95f2a3f3494..c0885e4311a 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -2087,6 +2087,7 @@ class ActionComm extends CommonObject if ($res > 0) { // PREPARE EMAIL + $errormesg = ''; // Make substitution in email content $substitutionarray = getCommonSubstitutionArray($langs, 0, '', $this); @@ -2102,43 +2103,65 @@ class ActionComm extends CommonObject // Recipient $recipient = new User($this->db); $res = $recipient->fetch($actionCommReminder->fk_user); - if ($res > 0 && !empty($recipient->email)) $to = $recipient->email; - else { - $errorsMsg[] = "Failed to load recipient"; + if ($res > 0) { + if (!empty($recipient->email)) { + $to = $recipient->email; + } else { + $errormesg = "Failed to send remind to user id=".$actionCommReminder->fk_user.". No email defined for user."; + $error++; + } + } else { + $errormesg = "Failed to load recipient with user id=".$actionCommReminder->fk_user; $error++; } // Sender $from = $conf->global->MAIN_MAIL_EMAIL_FROM; if (empty($from)) { - $errorsMsg[] = "Failed to load recipient"; + $errormesg = "Failed to get sender into global setup MAIN_MAIL_EMAIL_FROM"; $error++; } - // Errors Recipient - $errors_to = $conf->global->MAIN_MAIL_ERRORS_TO; + if (!$error) { + // Errors Recipient + $errors_to = $conf->global->MAIN_MAIL_ERRORS_TO; - // Mail Creation - $cMailFile = new CMailFile($sendTopic, $to, $from, $sendContent, array(), array(), array(), '', "", 0, 1, $errors_to, '', '', '', '', ''); + // Mail Creation + $cMailFile = new CMailFile($sendTopic, $to, $from, $sendContent, array(), array(), array(), '', "", 0, 1, $errors_to, '', '', '', '', ''); - // Sending Mail - if ($cMailFile->sendfile()) - { + // Sending Mail + if ($cMailFile->sendfile()) { + $nbMailSend++; + } else { + $errormesg = $cMailFile->error.' : '.$to; + $error++; + } + } + + if (!$error) { $actionCommReminder->status = $actionCommReminder::STATUS_DONE; + $res = $actionCommReminder->update($user); - if ($res < 0) - { - $errorsMsg[] = "Failed to update status of ActionComm Reminder"; + if ($res < 0) { + $errorsMsg[] = "Failed to update status to done of ActionComm Reminder"; + $error++; + break; // This is to avoid to have this error on all the selected email. If we fails here for one record, it may fails for others. We must solve first. + } + } else { + $actionCommReminder->status = $actionCommReminder::STATUS_ERROR; + $actionCommReminder->lasterror = dol_trunc($errormesg, 128, 'right', 'UTF-8', 1); + + $res = $actionCommReminder->update($user); + if ($res < 0) { + $errorsMsg[] = "Failed to update status to error of ActionComm Reminder"; $error++; break; // This is to avoid to have this error on all the selected email. If we fails here for one record, it may fails for others. We must solve first. } else { - $nbMailSend++; + $errorsMsg[] = $errormesg; } - } else { - $errorsMsg[] = $cMailFile->error.' : '.$to; - $error++; } } else { + $errorsMsg[] = 'Failed to fetch record actioncomm with ID = '.$actionCommReminder->fk_actioncomm; $error++; } } @@ -2152,6 +2175,7 @@ class ActionComm extends CommonObject // Delete also very old past events (we do not keep more than 1 month record in past) $sql = "DELETE FROM ".MAIN_DB_PREFIX."actioncomm_reminder"; $sql .= " WHERE dateremind < '".$this->db->idate($now - (3600 * 24 * 32))."'"; + $sql .= " AND status = ".$actionCommReminder::STATUS_DONE; $resql = $this->db->query($sql); if (!$resql) { @@ -2166,7 +2190,7 @@ class ActionComm extends CommonObject return 0; } else { - $this->db->rollback(); + $this->db->commit(); // We commit also on error, to have the error message recorded. $this->error = 'Nb of emails sent : '.$nbMailSend.', '.(!empty($errorsMsg)) ? join(', ', $errorsMsg) : $error; return $error; } diff --git a/htdocs/comm/action/class/actioncommreminder.class.php b/htdocs/comm/action/class/actioncommreminder.class.php index 09c9a25ca1a..0f43dae13f8 100644 --- a/htdocs/comm/action/class/actioncommreminder.class.php +++ b/htdocs/comm/action/class/actioncommreminder.class.php @@ -52,6 +52,7 @@ class ActionCommReminder extends CommonObject const STATUS_TODO = 0; const STATUS_DONE = 1; + const STATUS_ERROR = -1; /** @@ -84,8 +85,9 @@ class ActionCommReminder extends CommonObject 'offsetvalue' => array('type'=>'integer', 'label'=>'OffsetValue', 'visible'=>1, 'enabled'=>1, 'position'=>56, 'notnull'=>1,), 'offsetunit' => array('type'=>'varchar(1)', 'label'=>'OffsetUnit', 'visible'=>1, 'enabled'=>1, 'position'=>57, 'notnull'=>1, 'comment'=>"y, m, d, w, h, i",), 'status' => array('type'=>'integer', 'label'=>'Status', 'visible'=>1, 'enabled'=>1, 'position'=>58, 'notnull'=>1, 'default'=>0, 'index'=>0, 'arrayofkeyval'=>array('0'=>'ToDo', '1'=>'Done')), - 'fk_actioncomm' => array('type'=>'integer', 'label'=>'Project', 'visible'=>1, 'enabled'=>1, 'position'=>59, 'notnull'=>1, 'index'=>1,), - 'fk_email_template' => array('type'=>'integer', 'label'=>'EmailTemplate', 'visible'=>1, 'enabled'=>1, 'position'=>60, 'notnull'=>0), + 'lasterror' => array('type'=>'varchar(128)', 'label'=>'LastError', 'visible'=>-1, 'enabled'=>1, 'position'=>59, 'index'=>0), + 'fk_actioncomm' => array('type'=>'integer', 'label'=>'Project', 'visible'=>1, 'enabled'=>1, 'position'=>70, 'notnull'=>1, 'index'=>1,), + 'fk_email_template' => array('type'=>'integer', 'label'=>'EmailTemplate', 'visible'=>1, 'enabled'=>1, 'position'=>80, 'notnull'=>0), ); /** @@ -114,6 +116,11 @@ class ActionCommReminder extends CommonObject */ public $status; + /** + * @var string Last error message + */ + public $lasterror; + /** * @var int Project */ @@ -217,31 +224,19 @@ class ActionCommReminder extends CommonObject // phpcs:enable global $langs; - if ($mode == 0 || $mode == 1) - { - if ($status == 1) return $langs->trans('Done'); - elseif ($status == 0) return $langs->trans('ToDo'); - } elseif ($mode == 2) - { - if ($status == 1) return img_picto($langs->trans('Done'), 'statut4').' '.$langs->trans('Done'); - elseif ($status == 0) return img_picto($langs->trans('ToDo'), 'statut5').' '.$langs->trans('ToDo'); - } elseif ($mode == 3) - { - if ($status == 1) return img_picto($langs->trans('Done'), 'statut4'); - elseif ($status == 0) return img_picto($langs->trans('ToDo'), 'statut5'); - } elseif ($mode == 4) - { - if ($status == 1) return img_picto($langs->trans('Done'), 'statut4').' '.$langs->trans('Done'); - elseif ($status == 0) return img_picto($langs->trans('ToDo'), 'statut5').' '.$langs->trans('ToDo'); - } elseif ($mode == 5) - { - if ($status == 1) return $langs->trans('Done').' '.img_picto($langs->trans('Done'), 'statut4'); - elseif ($status == 0) return $langs->trans('ToDo').' '.img_picto($langs->trans('ToDo'), 'statut5'); - } elseif ($mode == 6) - { - if ($status == 1) return $langs->trans('Done').' '.img_picto($langs->trans('Done'), 'statut4'); - elseif ($status == 0) return $langs->trans('ToDo').' '.img_picto($langs->trans('ToDo'), 'statut5'); - } + $labelStatus = $langs->trans('ToDo'); + if ($status == 1) $labelStatus = $langs->trans('Done'); + elseif ($status == -1) $labelStatus = $langs->trans('Error'); + + $labelStatusShort = $langs->trans('ToDo'); + if ($status == 1) $labelStatus = $langs->trans('Done'); + elseif ($status == -1) $labelStatus = $langs->trans('Error'); + + $statusType = 'status5'; + if ($status == 1) $statusType = 'status4'; + elseif ($status == -1) $statusType = 'status8'; + + return dolGetStatus($labelStatus, $labelStatusShort, '', $statusType, $mode); } /** diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 7c3b368ae14..55ab524daec 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -7907,7 +7907,7 @@ abstract class CommonObject }*/ } - $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element.' SET '.implode(',', $tmp).' WHERE rowid='.$this->id; + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element.' SET '.implode(', ', $tmp).' WHERE rowid='.$this->id; $this->db->begin(); if (!$error) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 74f77c28558..13a3a408abb 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -3096,7 +3096,7 @@ function dol_substr($string, $start, $length, $stringencoding = '', $trunconbyte * * @param string $string String to truncate * @param int $size Max string size visible (excluding ...). 0 for no limit. WARNING: Final string size can have 3 more chars (if we added ..., or if size was max+1 or max+2 or max+3 so it does not worse to replace with ...) - * @param string $trunc Where to trunc: right, left, middle (size must be a 2 power), wrap + * @param string $trunc Where to trunc: 'right', 'left', 'middle' (size must be a 2 power), 'wrap' * @param string $stringencoding Tell what is source string encoding * @param int $nodot Truncation do not add ... after truncation. So it's an exact truncation. * @param int $display Trunc is used to display data and can be changed for small screen. TODO Remove this param (must be dealt with CSS) diff --git a/htdocs/install/mysql/migration/12.0.0-13.0.0.sql b/htdocs/install/mysql/migration/12.0.0-13.0.0.sql index 9ef94188171..d4cfaddb4eb 100644 --- a/htdocs/install/mysql/migration/12.0.0-13.0.0.sql +++ b/htdocs/install/mysql/migration/12.0.0-13.0.0.sql @@ -356,6 +356,7 @@ insert into llx_c_action_trigger (code,label,description,elementtype,rang) value ALTER TABLE llx_actioncomm_reminder ADD COLUMN entity integer NOT NULL DEFAULT 1; ALTER TABLE llx_actioncomm_reminder ADD COLUMN fk_actioncomm integer NOT NULL; ALTER TABLE llx_actioncomm_reminder ADD COLUMN fk_email_template integer; +ALTER TABLE llx_actioncomm_reminder ADD COLUMN lasterror varchar(128) NULL; ALTER TABLE llx_actioncomm_reminder DROP INDEX uk_actioncomm_reminder_unique; ALTER TABLE llx_actioncomm_reminder ADD UNIQUE uk_actioncomm_reminder_unique (fk_user, typeremind, offsetvalue, offsetunit, fk_actioncomm); diff --git a/htdocs/install/mysql/tables/llx_actioncomm_reminder.sql b/htdocs/install/mysql/tables/llx_actioncomm_reminder.sql index 78dd00d6ea5..bc09c2e80dc 100644 --- a/htdocs/install/mysql/tables/llx_actioncomm_reminder.sql +++ b/htdocs/install/mysql/tables/llx_actioncomm_reminder.sql @@ -23,6 +23,7 @@ CREATE TABLE llx_actioncomm_reminder( offsetvalue integer NOT NULL, offsetunit varchar(1) NOT NULL, status integer NOT NULL DEFAULT 0, + lasterror varchar(128) NULL, entity integer NOT NULL DEFAULT 1, fk_actioncomm integer NOT NULL, fk_email_template integer From 73a3a033986b5ca8dabf36c5cad8da343590e8a0 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 21 Nov 2020 23:36:20 +0100 Subject: [PATCH 22/29] Fix for smartphone --- htdocs/core/lib/project.lib.php | 7 ++----- htdocs/core/tpl/ajaxrow.tpl.php | 3 ++- htdocs/projet/class/task.class.php | 4 +++- htdocs/projet/tasks.php | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index 0f0b2474d51..fe9ae98ec61 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -678,10 +678,7 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t print $hookmanager->resPrint; // Tick to drag and drop - if ($addordertick) - { - print '