Fix: Substitution for external module at wrong place.

This commit is contained in:
Laurent Destailleur 2014-07-04 18:43:37 +02:00
parent fa84409fea
commit faa5eba203

View File

@ -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);