diff --git a/htdocs/compta/sociales/class/cchargesociales.class.php b/htdocs/compta/sociales/class/cchargesociales.class.php index dc2bbc5c9da..9013edee195 100644 --- a/htdocs/compta/sociales/class/cchargesociales.class.php +++ b/htdocs/compta/sociales/class/cchargesociales.class.php @@ -25,7 +25,7 @@ */ // Put here all includes required by your class file -require_once DOL_DOCUMENT_ROOT . '/core/class/commonobject.class.php'; +//require_once DOL_DOCUMENT_ROOT . '/core/class/commonobject.class.php'; //require_once DOL_DOCUMENT_ROOT . '/societe/class/societe.class.php'; //require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; @@ -501,4 +501,20 @@ class Cchargesociales $this->module = ''; $this->accountancy_code = ''; } + + /** + * Trim object parameters + * @param string[] $parameters array of parameters to trim + * + * @return void + */ + private function trimParameters($parameters) + { + if (!is_array($parameters)) return; + foreach ($parameters as $parameter) { + if (isset($this->$parameter)) { + $this->$parameter = trim($this->$parameter); + } + } + } } diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 0e67b9a4c44..05df8f784da 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -2105,8 +2105,8 @@ function pdf_getLinkedObjects($object,$outputlangs) } else if ($objecttype == 'shipping') { - $outputlangs->load('orders'); - $outputlangs->load('sendings'); + $outputlangs->loadLangs(array("orders", "sendings")); + foreach($objects as $x => $elementobject) { $order=null; diff --git a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php index a312e58cc55..ba9a9490daa 100644 --- a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php +++ b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php @@ -38,10 +38,10 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/doc.lib.php'; */ class doc_generic_order_odt extends ModelePDFCommandes { - var $emetteur; // Objet societe qui emet + public $emetteur; // Objet societe qui emet - var $phpmin = array(5,2,0); // Minimum version of PHP required by module - var $version = 'dolibarr'; + public $phpmin = array(5,4,0); // Minimum version of PHP required by module + public $version = 'dolibarr'; /** @@ -51,7 +51,7 @@ class doc_generic_order_odt extends ModelePDFCommandes */ function __construct($db) { - global $conf,$langs,$mysoc; + global $conf, $langs, $mysoc; // Load translation files required by the page $langs->loadLangs(array("main","companies")); @@ -213,10 +213,7 @@ class doc_generic_order_odt extends ModelePDFCommandes $sav_charset_output=$outputlangs->charset_output; $outputlangs->charset_output='UTF-8'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); + $outputlangs->loadLangs(array("main", "dict", "companies", "bills")); if ($conf->commande->dir_output) { diff --git a/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php b/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php index 1d79e851780..f8940dd95ef 100644 --- a/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php +++ b/htdocs/core/modules/contract/doc/doc_generic_contract_odt.modules.php @@ -203,10 +203,7 @@ class doc_generic_contract_odt extends ModelePDFContract $sav_charset_output=$outputlangs->charset_output; $outputlangs->charset_output='UTF-8'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); + $outputlangs->loadLangs(array("main", "dict", "companies", "bills")); if ($conf->contrat->dir_output) { diff --git a/htdocs/core/modules/dons/html_cerfafr.modules.php b/htdocs/core/modules/dons/html_cerfafr.modules.php index 93f11bddb43..3890c03ba62 100644 --- a/htdocs/core/modules/dons/html_cerfafr.modules.php +++ b/htdocs/core/modules/dons/html_cerfafr.modules.php @@ -83,12 +83,7 @@ class html_cerfafr extends ModeleDon if (! is_object($outputlangs)) $outputlangs=$langs; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); - $outputlangs->load("products"); - $outputlangs->load("donations"); + $outputlangs->loadLangs(array("main", "dict", "companies", "bills", "products", "donations")); $currency = !empty($currency) ? $currency : $conf->currency; diff --git a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php index b0bb24b23cc..f5e2b182a73 100644 --- a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php +++ b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php @@ -39,10 +39,10 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/doc.lib.php'; */ class doc_generic_shipment_odt extends ModelePdfExpedition { - var $emetteur; // Objet societe qui emet + public $emetteur; // Objet societe qui emet - var $phpmin = array(5,2,0); // Minimum version of PHP required by module - var $version = 'dolibarr'; + public $phpmin = array(5,4,0); // Minimum version of PHP required by module + public $version = 'dolibarr'; /** @@ -52,7 +52,7 @@ class doc_generic_shipment_odt extends ModelePdfExpedition */ function __construct($db) { - global $conf,$langs,$mysoc; + global $conf, $langs, $mysoc; // Load translation files required by the page $langs->loadLangs(array("main","companies")); @@ -213,10 +213,7 @@ class doc_generic_shipment_odt extends ModelePdfExpedition $sav_charset_output=$outputlangs->charset_output; $outputlangs->charset_output='UTF-8'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); + $outputlangs->loadLangs(array("main", "dict", "companies", "bills")); if ($conf->expedition->dir_output."/sending") { diff --git a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php index 6788dca1367..ddd2df87b93 100644 --- a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php +++ b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php @@ -96,10 +96,10 @@ class doc_generic_invoice_odt extends ModelePDFFactures */ function info($langs) { - global $conf,$langs; + global $conf, $langs; // Load translation files required by the page - $langs->loadLangs(array('companies', 'errors')); + $langs->loadLangs(array("errors","companies")); $form = new Form($this->db); @@ -212,10 +212,8 @@ class doc_generic_invoice_odt extends ModelePDFFactures $sav_charset_output=$outputlangs->charset_output; $outputlangs->charset_output='UTF-8'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "dict", "companies", "bills")); if ($conf->facture->dir_output) { diff --git a/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php b/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php index a0ea27f66c6..ca50317fe81 100644 --- a/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php +++ b/htdocs/core/modules/product/doc/doc_generic_product_odt.modules.php @@ -36,10 +36,10 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/doc.lib.php'; */ class doc_generic_product_odt extends ModelePDFProduct { - var $emetteur; // Objet societe qui emet + public $emetteur; // Objet societe qui emet - var $phpmin = array(5,2,0); // Minimum version of PHP required by module - var $version = 'dolibarr'; + public $phpmin = array(5,4,0); // Minimum version of PHP required by module + public $version = 'dolibarr'; /** @@ -49,7 +49,7 @@ class doc_generic_product_odt extends ModelePDFProduct */ function __construct($db) { - global $conf,$langs,$mysoc; + global $conf, $langs, $mysoc; // Load translation files required by the page $langs->loadLangs(array("main","companies")); @@ -94,7 +94,7 @@ class doc_generic_product_odt extends ModelePDFProduct */ function info($langs) { - global $conf,$langs; + global $conf, $langs; // Load translation files required by the page $langs->loadLangs(array("errors","companies")); @@ -227,10 +227,8 @@ class doc_generic_product_odt extends ModelePDFProduct $sav_charset_output=$outputlangs->charset_output; $outputlangs->charset_output='UTF-8'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); + $outputlangs->loadLangs(array("main", "dict", "companies", "bills")); + if ($conf->produit->dir_output) { // If $object is id instead of object diff --git a/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php b/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php index c54bb797c64..7846c68af7a 100644 --- a/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php +++ b/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php @@ -54,10 +54,10 @@ if (! empty($conf->agenda->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/ */ class doc_generic_task_odt extends ModelePDFTask { - var $emetteur; // Objet societe qui emet + public $emetteur; // Objet societe qui emet - var $phpmin = array(5,2,0); // Minimum version of PHP required by module - var $version = 'dolibarr'; + public $phpmin = array(5,4,0); // Minimum version of PHP required by module + public $version = 'dolibarr'; /** @@ -432,10 +432,7 @@ class doc_generic_task_odt extends ModelePDFTask $sav_charset_output=$outputlangs->charset_output; $outputlangs->charset_output='UTF-8'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("projects"); + $outputlangs->loadLangs(array("main", "dict", "companies", "projects")); if ($conf->projet->dir_output) { diff --git a/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php b/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php index bd3caf7b19b..7483c2a9623 100644 --- a/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php +++ b/htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php @@ -37,10 +37,10 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/doc.lib.php'; */ class doc_generic_proposal_odt extends ModelePDFPropales { - var $emetteur; // Objet societe qui emet + public $emetteur; // Objet societe qui emet - var $phpmin = array(5,2,0); // Minimum version of PHP required by module - var $version = 'dolibarr'; + public $phpmin = array(5,4,0); // Minimum version of PHP required by module + public $version = 'dolibarr'; /** @@ -243,10 +243,8 @@ class doc_generic_proposal_odt extends ModelePDFPropales $sav_charset_output=$outputlangs->charset_output; $outputlangs->charset_output='UTF-8'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "dict", "companies", "bills")); if ($conf->propal->multidir_output[$conf->entity]) { diff --git a/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php b/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php index aaa231ffc54..d5e0f1ba984 100644 --- a/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php +++ b/htdocs/core/modules/stock/doc/doc_generic_stock_odt.modules.php @@ -36,10 +36,10 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/doc.lib.php'; */ class doc_generic_stock_odt extends ModelePDFStock { - var $emetteur; // Objet societe qui emet + public $emetteur; // Objet societe qui emet - var $phpmin = array(5,2,0); // Minimum version of PHP required by module - var $version = 'dolibarr'; + public $phpmin = array(5,4,0); // Minimum version of PHP required by module + public $version = 'dolibarr'; /** @@ -49,7 +49,7 @@ class doc_generic_stock_odt extends ModelePDFStock */ function __construct($db) { - global $conf,$langs,$mysoc; + global $conf, $langs, $mysoc; // Load translation files required by the page $langs->loadLangs(array("main","companies")); @@ -94,7 +94,7 @@ class doc_generic_stock_odt extends ModelePDFStock */ function info($langs) { - global $conf,$langs; + global $conf, $langs; // Load translation files required by the page $langs->loadLangs(array("errors","companies")); @@ -227,10 +227,9 @@ class doc_generic_stock_odt extends ModelePDFStock $sav_charset_output=$outputlangs->charset_output; $outputlangs->charset_output='UTF-8'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "dict", "companies", "bills")); + if ($conf->produit->dir_output) { // If $object is id instead of object diff --git a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php index 9b2e0f85e04..2a317a4c7a2 100644 --- a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php +++ b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php @@ -51,7 +51,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices */ public $description; -/** + /** * @var string document type */ public $type; @@ -118,9 +118,9 @@ class pdf_canelle extends ModelePDFSuppliersInvoices */ function __construct($db) { - global $conf,$langs,$mysoc; + global $conf, $langs, $mysoc; - // Translations + // Load translation files required by the page $langs->loadLangs(array("main", "bills")); $this->db = $db; @@ -209,11 +209,8 @@ class pdf_canelle extends ModelePDFSuppliersInvoices // For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO if (! empty($conf->global->MAIN_USE_FPDF)) $outputlangs->charset_output='ISO-8859-1'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); - $outputlangs->load("products"); + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "dict", "companies", "bills", "products")); if ($conf->fournisseur->facture->dir_output) { @@ -1033,12 +1030,11 @@ class pdf_canelle extends ModelePDFSuppliersInvoices */ function _pagehead(&$pdf, $object, $showaddress, $outputlangs) { - global $langs,$conf,$mysoc; + global $langs, $conf, $mysoc; + + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "orders", "companies", "bills")); - $outputlangs->load("main"); - $outputlangs->load("bills"); - $outputlangs->load("orders"); - $outputlangs->load("companies"); $default_font_size = pdf_getPDFFontSize($outputlangs); // Do not add the BACKGROUND as this is for suppliers diff --git a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php index 629abfa0e4e..53636898fb9 100644 --- a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -55,7 +55,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders */ public $description; -/** + /** * @var string document type */ public $type; @@ -121,9 +121,9 @@ class pdf_muscadet extends ModelePDFSuppliersOrders */ function __construct($db) { - global $conf,$langs,$mysoc; + global $conf, $langs, $mysoc; - // Translations + // Load translation files required by the page $langs->loadLangs(array("main", "bills")); $this->db = $db; @@ -217,12 +217,8 @@ class pdf_muscadet extends ModelePDFSuppliersOrders // For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO if (! empty($conf->global->MAIN_USE_FPDF)) $outputlangs->charset_output='ISO-8859-1'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); - $outputlangs->load("products"); - $outputlangs->load("orders"); + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "orders", "companies", "bills", "dict", "products")); $nblignes = count($object->lines); @@ -1126,13 +1122,10 @@ class pdf_muscadet extends ModelePDFSuppliersOrders */ function _pagehead(&$pdf, $object, $showaddress, $outputlangs) { - global $langs,$conf,$mysoc; + global $langs, $conf, $mysoc; - $outputlangs->load("main"); - $outputlangs->load("bills"); - $outputlangs->load("orders"); - $outputlangs->load("companies"); - $outputlangs->load("sendings"); + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "orders", "companies", "bills", "sendings")); $default_font_size = pdf_getPDFFontSize($outputlangs); diff --git a/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php b/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php index 5c409559491..2a31f265097 100644 --- a/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/supplier_payment/doc/pdf_standard.modules.php @@ -119,9 +119,9 @@ class pdf_standard extends ModelePDFSuppliersPayments */ function __construct($db) { - global $conf,$langs,$mysoc; + global $conf, $langs, $mysoc; - // Translations + // Load translation files required by the page $langs->loadLangs(array("main", "bills")); $this->db = $db; @@ -191,18 +191,15 @@ class pdf_standard extends ModelePDFSuppliersPayments function write_file($object, $outputlangs='', $srctemplatepath='', $hidedetails=0, $hidedesc=0, $hideref=0) { // phpcs:enable - global $user,$langs,$conf,$mysoc,$hookmanager; + global $user, $langs, $conf, $mysoc, $hookmanager; if (! is_object($outputlangs)) $outputlangs=$langs; // For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO if (! empty($conf->global->MAIN_USE_FPDF)) $outputlangs->charset_output='ISO-8859-1'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); - $outputlangs->load("products"); - $outputlangs->load("suppliers"); + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "suppliers", "companies", "bills", "dict", "products")); + $object->factures = array(); if ($conf->fournisseur->payment->dir_output) @@ -630,12 +627,11 @@ class pdf_standard extends ModelePDFSuppliersPayments */ function _pagehead(&$pdf, $object, $showaddress, $outputlangs) { - global $langs,$conf,$mysoc; + global $langs, $conf, $mysoc; + + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "orders", "companies", "bills")); - $outputlangs->load("main"); - $outputlangs->load("bills"); - $outputlangs->load("orders"); - $outputlangs->load("companies"); $default_font_size = pdf_getPDFFontSize($outputlangs); // Do not add the BACKGROUND as this is for suppliers diff --git a/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php b/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php index d196ff48a11..5a318a3a6b3 100644 --- a/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php +++ b/htdocs/core/modules/supplier_proposal/doc/doc_generic_supplier_proposal_odt.modules.php @@ -50,7 +50,7 @@ class doc_generic_supplier_proposal_odt extends ModelePDFSupplierProposal */ function __construct($db) { - global $conf,$langs,$mysoc; + global $conf, $langs, $mysoc; // Load translation files required by the page $langs->loadLangs(array("main","companies")); @@ -222,7 +222,7 @@ class doc_generic_supplier_proposal_odt extends ModelePDFSupplierProposal function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) { // phpcs:enable - global $user,$langs,$conf,$mysoc,$hookmanager; + global $user, $langs, $conf, $mysoc, $hookmanager; if (empty($srctemplatepath)) { @@ -243,10 +243,8 @@ class doc_generic_supplier_proposal_odt extends ModelePDFSupplierProposal $sav_charset_output=$outputlangs->charset_output; $outputlangs->charset_output='UTF-8'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "companies", "bills", "dict")); if ($conf->supplier_proposal->dir_output) { diff --git a/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php b/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php index 511e6b6ae85..e3d44050149 100644 --- a/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php +++ b/htdocs/core/modules/user/doc/doc_generic_user_odt.modules.php @@ -48,10 +48,10 @@ class doc_generic_user_odt extends ModelePDFUser */ function __construct($db) { - global $conf,$langs,$mysoc; + global $conf, $langs, $mysoc; // Load translation files required by the page - $langs->loadLangs(array("main","companies")); + $langs->loadLangs(array("main", "companies")); $this->db = $db; $this->name = "ODT templates"; @@ -205,7 +205,7 @@ class doc_generic_user_odt extends ModelePDFUser function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) { // phpcs:enable - global $user,$langs,$conf,$mysoc,$hookmanager; + global $user, $langs, $conf, $mysoc, $hookmanager; if (empty($srctemplatepath)) { @@ -226,10 +226,8 @@ class doc_generic_user_odt extends ModelePDFUser $sav_charset_output=$outputlangs->charset_output; $outputlangs->charset_output='UTF-8'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "companies", "bills", "dict")); if ($conf->user->dir_output) { diff --git a/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php b/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php index b25d6f9487c..76cc423eb32 100644 --- a/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php +++ b/htdocs/core/modules/usergroup/doc/doc_generic_usergroup_odt.modules.php @@ -207,7 +207,7 @@ class doc_generic_usergroup_odt extends ModelePDFUserGroup function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) { // phpcs:enable - global $user,$langs,$conf,$mysoc,$hookmanager; + global $user, $langs, $conf, $mysoc, $hookmanager; if (empty($srctemplatepath)) { @@ -228,10 +228,8 @@ class doc_generic_usergroup_odt extends ModelePDFUserGroup $sav_charset_output=$outputlangs->charset_output; $outputlangs->charset_output='UTF-8'; - $outputlangs->load("main"); - $outputlangs->load("dict"); - $outputlangs->load("companies"); - $outputlangs->load("bills"); + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "companies", "bills", "dict")); if ($conf->user->dir_output) { diff --git a/htdocs/societe/class/api_thirdparties.class.php b/htdocs/societe/class/api_thirdparties.class.php index 07bc59f4757..e2d13506c99 100644 --- a/htdocs/societe/class/api_thirdparties.class.php +++ b/htdocs/societe/class/api_thirdparties.class.php @@ -1,5 +1,6 @@ + * Copyright (C) 2018 Pierre Chéné * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -1059,7 +1060,7 @@ class Thirdparties extends DolibarrApi } - $fields = ['socid', 'default_rib', 'frstrecur', '1000110000001', 'datec', 'datem', 'label', 'bank', 'bic', 'iban', 'id']; + $fields = ['socid', 'default_rib', 'frstrecur', '1000110000001', 'datec', 'datem', 'label', 'bank', 'bic', 'iban', 'id', 'rum']; $returnAccounts = []; @@ -1172,6 +1173,116 @@ class Thirdparties extends DolibarrApi } /** + * Generate a Document from a bank account record (like SEPA mandate) + * + * @param int $id thirdparty id + * @param int $companybankid companybankid + * @param string $model model of document to generate + * @return void + * + * @url GET {id}/generateBankAccountDocument/{companybankid}/{model} + */ + public function generateBankAccountDocument($id, $companybankid = null, $model = 'sepamandate') + { + $this->langs->load("database"); + $this->langs->load("main"); + $this->langs->load("dict"); + $this->langs->load("agenda"); + $this->langs->load("margins"); + $this->langs->load("resource"); + $this->langs->load("commercial"); + $this->langs->load("ecm"); + $this->langs->load("products"); + $this->langs->load("companies"); + $this->langs->load("banks"); + $this->langs->load("bills"); + $this->langs->load("withdrawals"); + + $this->company->fetch($id); + + $action = 'builddoc'; + if(! DolibarrApiAccess::$user->rights->societe->creer) + throw new RestException(401); + + // Reload to get all modified line records and be ready for hooks + + $this->company->setDocModel($user, $model); + + $this->company->fk_bank = $this->company->fk_account; + + $outputlangs = $this->langs; + $newlang=''; + + if ($this->conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id','aZ09')) $newlang=GETPOST('lang_id','aZ09'); + if ($this->conf->global->MAIN_MULTILANGS && empty($newlang) && isset($this->company->thirdparty->default_lang)) $newlang=$this->company->thirdparty->default_lang; // for proposal, order, invoice, ... + if ($this->conf->global->MAIN_MULTILANGS && empty($newlang) && isset($this->company->default_lang)) $newlang=$this->company->default_lang; // for thirdparty + if (! empty($newlang)) + { + $outputlangs = new Translate("",$conf); + $outputlangs->setDefaultLang($newlang); + } + + // To be sure vars is defined + if (empty($hidedetails)) $hidedetails=0; + if (empty($hidedesc)) $hidedesc=0; + if (empty($hideref)) $hideref=0; + if (empty($moreparams)) $moreparams=null; + + + $sql = "SELECT rowid"; + $sql.= " FROM ".MAIN_DB_PREFIX."societe_rib"; + if ($id) $sql.= " WHERE fk_soc = ".$id." "; + if ($companybankid) $sql.= " AND id = ".$companybankid.""; + + $result = $this->db->query($sql); + + if($result->num_rows == 0 ){ + throw new RestException(404, 'Account not found'); + } + + $i=0; + + $accounts =[]; + + if ($result) + { + $num = $this->db->num_rows($result); + while ($i < $num) + { + $obj = $this->db->fetch_object($result); + $account = new CompanyBankAccount($this->db); + if($account->fetchFromApi($obj->rowid)) { + $accounts[] = $account; + } + $i++; + } + } + else + { + throw new RestException(404, 'Account not found'); + } + + + $moreparams = array( + 'use_companybankid'=>$accounts[0]->id, + 'force_dir_output'=>$this->conf->societe->multidir_output[$this->company->entity].'/'.dol_sanitizeFileName($this->company->id) + ); + + $result = 0; + + $result = $this->company->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref, $moreparams); + + if ($result > 0) + { + return array("success" => $result); + } + else + { + throw new RestException(500); + } + } + + /** * Get a specific gateway attached to a thirdparty (by specifying the site key) * * @param int $id ID of thirdparty diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index bc26f3ebc07..b31c52bedce 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -7,7 +7,7 @@ * Copyright (C) 2005-2017 Regis Houssin * Copyright (C) 2005 Lionel Cousteix * Copyright (C) 2011 Herve Prot - * Copyright (C) 2013-2014 Philippe Grand + * Copyright (C) 2013-2018 Philippe Grand * Copyright (C) 2013-2015 Alexandre Spangaro * Copyright (C) 2015 Marcos García * Copyright (C) 2018 charlene Benke @@ -1853,7 +1853,7 @@ class User extends CommonObject function send_password($user, $password='', $changelater=0) { // phpcs:enable - global $conf,$langs; + global $conf, $langs; global $dolibarr_main_url_root; require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'; @@ -1874,10 +1874,8 @@ class User extends CommonObject $outputlangs=$langs; } - $outputlangs->load("main"); - $outputlangs->load("errors"); - $outputlangs->load("users"); - $outputlangs->load("other"); + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "errors", "users", "other")); $appli=constant('DOL_APPLICATION_TITLE'); if (!empty($conf->global->MAIN_APPLICATION_TITLE)) $appli=$conf->global->MAIN_APPLICATION_TITLE; diff --git a/scripts/bank/export-bank-receipts.php b/scripts/bank/export-bank-receipts.php index 1124749fcf4..84af2e27f9f 100755 --- a/scripts/bank/export-bank-receipts.php +++ b/scripts/bank/export-bank-receipts.php @@ -108,13 +108,9 @@ if (! empty($newlangid)) $outputlangs->setDefaultLang($newlangid); } } -$outputlangs->load("main"); -$outputlangs->load("bills"); -$outputlangs->load("companies"); -$outputlangs->load("banks"); -$outputlangs->load("members"); -$outputlangs->load("compta"); +// Load translation files required by the page +$outputlangs->loadLangs(array("main", "companies", "bills", "banks", "members", "compta")); $acct=new Account($db); $result=$acct->fetch('',$bankref); diff --git a/scripts/contracts/email_expire_services_to_customers.php b/scripts/contracts/email_expire_services_to_customers.php index 4edf4fb261d..9a9f266c73e 100755 --- a/scripts/contracts/email_expire_services_to_customers.php +++ b/scripts/contracts/email_expire_services_to_customers.php @@ -154,10 +154,9 @@ if ($resql) // Define line content $outputlangs=new Translate('',$conf); $outputlangs->setDefaultLang(empty($obj->default_lang)?$langs->defaultlang:$obj->default_lang); // By default language of customer - $outputlangs->load("bills"); - $outputlangs->load("main"); - $outputlangs->load("contracts"); - $outputlangs->load("products"); + + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "contracts", "bills", "products")); if (dol_strlen($newemail)) { diff --git a/scripts/contracts/email_expire_services_to_representatives.php b/scripts/contracts/email_expire_services_to_representatives.php index 7b15d52dff2..0209d5ec319 100755 --- a/scripts/contracts/email_expire_services_to_representatives.php +++ b/scripts/contracts/email_expire_services_to_representatives.php @@ -127,10 +127,9 @@ if ($resql) // Define line content $outputlangs=new Translate('',$conf); $outputlangs->setDefaultLang(empty($obj->lang)?$langs->defaultlang:$obj->lang); // By default language of sale representative - $outputlangs->load("bills"); - $outputlangs->load("main"); - $outputlangs->load("contracts"); - $outputlangs->load("products"); + + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "contracts", "bills", "products")); if (dol_strlen($obj->email)) { diff --git a/scripts/invoices/email_unpaid_invoices_to_customers.php b/scripts/invoices/email_unpaid_invoices_to_customers.php index 428f8932ea3..5d49beca851 100755 --- a/scripts/invoices/email_unpaid_invoices_to_customers.php +++ b/scripts/invoices/email_unpaid_invoices_to_customers.php @@ -151,8 +151,9 @@ if ($resql) // Define line content $outputlangs=new Translate('',$conf); $outputlangs->setDefaultLang(empty($obj->default_lang)?$langs->defaultlang:$obj->default_lang); // By default language of customer - $outputlangs->load("bills"); - $outputlangs->load("main"); + + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "bills")); if (dol_strlen($newemail)) { diff --git a/scripts/invoices/email_unpaid_invoices_to_representatives.php b/scripts/invoices/email_unpaid_invoices_to_representatives.php index dd92a752dc3..54be6f8f40c 100755 --- a/scripts/invoices/email_unpaid_invoices_to_representatives.php +++ b/scripts/invoices/email_unpaid_invoices_to_representatives.php @@ -131,8 +131,9 @@ if ($resql) // Define line content $outputlangs=new Translate('',$conf); $outputlangs->setDefaultLang(empty($obj->lang)?$langs->defaultlang:$obj->lang); // By default language of sale representative - $outputlangs->load("bills"); - $outputlangs->load("main"); + + // Load translation files required by the page + $outputlangs->loadLangs(array("main", "bills")); if (dol_strlen($obj->email)) {