From faa5eba2033ae5b445309eb0d75ee0545a24a0e5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 4 Jul 2014 18:43:37 +0200 Subject: [PATCH] Fix: Substitution for external module at wrong place. --- .../societe/doc/doc_generic_odt.modules.php | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php b/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php index fbf3cc5c6b0..323f54b1630 100644 --- a/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php +++ b/htdocs/core/modules/societe/doc/doc_generic_odt.modules.php @@ -293,29 +293,29 @@ class doc_generic_odt extends ModeleThirdPartyDoc // setVars failed, probably because key not found } } - - + + // Replace tags of lines for contacts $contact_arrray=array(); - + $sql = "SELECT p.rowid"; $sql .= " FROM ".MAIN_DB_PREFIX."socpeople as p"; $sql .= " WHERE p.fk_soc = ".$object->id; - + dol_syslog('doc_generic_odt :: sql='.$sql,LOG_DEBUG); $result = $this->db->query($sql); $num = $this->db->num_rows($result); - + $var=true; if ($num) { $i=0; $contactstatic = new Contact($this->db); - + while($i < $num) { $obj = $this->db->fetch_object($result); - + $contact_arrray[$i] = $obj->rowid; $i++; } @@ -325,7 +325,7 @@ class doc_generic_odt extends ModeleThirdPartyDoc try { $listlines = $odfHandler->setSegment('companycontacts'); - + foreach($contact_arrray as $array_key => $contact_id) { $res_contact = $contactstatic->fetch($contact_id); @@ -354,11 +354,16 @@ class doc_generic_odt extends ModeleThirdPartyDoc //return -1; } } - + + // Make substitutions into odt of thirdparty + external modules + $tmparray=$this->get_substitutionarray_thirdparty($object,$outputlangs); + complete_substitutions_array($tmparray, $outputlangs, $object); + // Call the ODTSubstitution hook $parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$tmparray); $reshook=$hookmanager->executeHooks('ODTSubstitution',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks - //var_dump($object->id); exit; + + // Replace variables into document foreach($tmparray as $key=>$value) { try { @@ -389,11 +394,6 @@ class doc_generic_odt extends ModeleThirdPartyDoc { } } - - - // Make substitutions into odt of thirdparty + external modules - $tmparray=$this->get_substitutionarray_thirdparty($object,$outputlangs); - complete_substitutions_array($tmparray, $outputlangs, $object); // Call the beforeODTSave hook $parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs);