diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 48e02b5b6fc..39df413ae54 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -3380,10 +3380,12 @@ function make_substitutions($chaine,$substitutionarray) * @param array &$substitutionarray Array substitution old value => new value value * @param Translate $outputlangs If we want substitution from special constants, we provide a language * @param Object $object If we want substitution from special constants, we provide data in a source object + * @param Object/array $parameters Add more parameters (useful to pass product lines) + * @param string $callfunc What is the name of the custom function that will be called? (default: completesubstitutionarray) * @return void * @see make_substitutions */ -function complete_substitutions_array(&$substitutionarray,$outputlangs,$object='') +function complete_substitutions_array(&$substitutionarray,$outputlangs,$object='',$parameters=null,$callfunc="completesubstitutionarray") { global $conf,$user; @@ -3408,8 +3410,8 @@ function complete_substitutions_array(&$substitutionarray,$outputlangs,$object=' dol_syslog("Library functions_".$substitfile['name']." found into ".$dir); require_once($dir.$substitfile['name']); - $function_name=$module."_completesubstitutionarray"; - $function_name($substitutionarray,$outputlangs,$object); + $function_name=$module."_".$callfunc; + $function_name($substitutionarray,$outputlangs,$object,$parameters); } } } 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 c011bf5eb5d..907dedc04fe 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 @@ -455,6 +455,7 @@ class doc_generic_order_odt extends ModelePDFCommandes foreach ($object->lines as $line) { $tmparray=$this->get_substitutionarray_lines($line,$outputlangs); + complete_substitutions_array($tmparray, $outputlangs, $object, $line, "completesubstitutionarray_lines"); foreach($tmparray as $key => $val) { try 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 c2c43c04c94..6054a0098fe 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 @@ -465,6 +465,7 @@ class doc_generic_invoice_odt extends ModelePDFFactures foreach ($object->lines as $line) { $tmparray=$this->get_substitutionarray_lines($line,$outputlangs); + complete_substitutions_array($tmparray, $outputlangs, $object, $line, "completesubstitutionarray_lines"); foreach($tmparray as $key => $val) { try 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 6e64ecafc68..01a6e2ede67 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 @@ -454,6 +454,7 @@ class doc_generic_proposal_odt extends ModelePDFPropales foreach ($object->lines as $line) { $tmparray=$this->get_substitutionarray_lines($line,$outputlangs); + complete_substitutions_array($tmparray, $outputlangs, $object, $line, "completesubstitutionarray_lines"); foreach($tmparray as $key => $val) { try