Refactored generateDocument functions
This commit is contained in:
parent
ca9e33e809
commit
bf7f4c1cab
@ -2690,10 +2690,6 @@ class Propal extends CommonObject
|
|||||||
|
|
||||||
$langs->load("propale");
|
$langs->load("propale");
|
||||||
|
|
||||||
$error=0;
|
|
||||||
|
|
||||||
$srctemplatepath='';
|
|
||||||
|
|
||||||
// Positionne le modele sur le nom du modele a utiliser
|
// Positionne le modele sur le nom du modele a utiliser
|
||||||
if (! dol_strlen($modele))
|
if (! dol_strlen($modele))
|
||||||
{
|
{
|
||||||
@ -2707,73 +2703,9 @@ class Propal extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If selected modele is a filename template (then $modele="modelname:filename")
|
$modelpath = "core/modules/propale/doc/";
|
||||||
$tmp=explode(':',$modele,2);
|
|
||||||
if (! empty($tmp[1]))
|
|
||||||
{
|
|
||||||
$modele=$tmp[0];
|
|
||||||
$srctemplatepath=$tmp[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Search template files
|
return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
$file=''; $classname=''; $filefound=0;
|
|
||||||
$dirmodels=array('/');
|
|
||||||
if (is_array($conf->modules_parts['models'])) $dirmodels=array_merge($dirmodels,$conf->modules_parts['models']);
|
|
||||||
foreach($dirmodels as $reldir)
|
|
||||||
{
|
|
||||||
foreach(array('doc','pdf') as $prefix)
|
|
||||||
{
|
|
||||||
$file = $prefix."_".$modele.".modules.php";
|
|
||||||
|
|
||||||
// On verifie l'emplacement du modele
|
|
||||||
$file=dol_buildpath($reldir."core/modules/propale/doc/".$file,0);
|
|
||||||
if (file_exists($file))
|
|
||||||
{
|
|
||||||
$filefound=1;
|
|
||||||
$classname=$prefix.'_'.$modele;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($filefound) break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Charge le modele
|
|
||||||
if ($filefound)
|
|
||||||
{
|
|
||||||
require_once $file;
|
|
||||||
|
|
||||||
$obj = new $classname($this->db);
|
|
||||||
//$obj->message = $message;
|
|
||||||
|
|
||||||
// We save charset_output to restore it because write_file can change it if needed for
|
|
||||||
// output format that does not support UTF8.
|
|
||||||
$sav_charset_output=$outputlangs->charset_output;
|
|
||||||
if ($obj->write_file($this, $outputlangs, $srctemplatepath, $hidedetails, $hidedesc, $hideref) > 0)
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
|
|
||||||
// We delete old preview
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
|
||||||
dol_delete_preview($this);
|
|
||||||
|
|
||||||
// Success in building document. We build meta file.
|
|
||||||
dol_meta_create($this);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
dol_print_error($this->db,"propal_pdf_create Error: ".$obj->error);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dol_print_error('',$langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$file));
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -3028,10 +3028,6 @@ class Commande extends CommonOrder
|
|||||||
|
|
||||||
$langs->load("orders");
|
$langs->load("orders");
|
||||||
|
|
||||||
$error=0;
|
|
||||||
|
|
||||||
$srctemplatepath='';
|
|
||||||
|
|
||||||
// Positionne le modele sur le nom du modele a utiliser
|
// Positionne le modele sur le nom du modele a utiliser
|
||||||
if (! dol_strlen($modele))
|
if (! dol_strlen($modele))
|
||||||
{
|
{
|
||||||
@ -3045,73 +3041,9 @@ class Commande extends CommonOrder
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If selected modele is a filename template (then $modele="modelname:filename")
|
$modelpath = "core/modules/commande/doc/";
|
||||||
$tmp=explode(':',$modele,2);
|
|
||||||
if (! empty($tmp[1]))
|
|
||||||
{
|
|
||||||
$modele=$tmp[0];
|
|
||||||
$srctemplatepath=$tmp[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Search template files
|
return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
$file=''; $classname=''; $filefound=0;
|
|
||||||
$dirmodels=array('/');
|
|
||||||
if (is_array($conf->modules_parts['models'])) $dirmodels=array_merge($dirmodels,$conf->modules_parts['models']);
|
|
||||||
foreach($dirmodels as $reldir)
|
|
||||||
{
|
|
||||||
foreach(array('doc','pdf') as $prefix)
|
|
||||||
{
|
|
||||||
$file = $prefix."_".$modele.".modules.php";
|
|
||||||
|
|
||||||
// On verifie l'emplacement du modele
|
|
||||||
$file=dol_buildpath($reldir."core/modules/commande/doc/".$file,0);
|
|
||||||
if (file_exists($file))
|
|
||||||
{
|
|
||||||
$filefound=1;
|
|
||||||
$classname=$prefix.'_'.$modele;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($filefound) break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Charge le modele
|
|
||||||
if ($filefound)
|
|
||||||
{
|
|
||||||
require_once $file;
|
|
||||||
|
|
||||||
$obj = new $classname($this->db);
|
|
||||||
//$obj->message = $message;
|
|
||||||
|
|
||||||
// We save charset_output to restore it because write_file can change it if needed for
|
|
||||||
// output format that does not support UTF8.
|
|
||||||
$sav_charset_output=$outputlangs->charset_output;
|
|
||||||
if ($obj->write_file($this, $outputlangs, $srctemplatepath, $hidedetails, $hidedesc, $hideref) > 0)
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
|
|
||||||
// We delete old preview
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
|
||||||
dol_delete_preview($this);
|
|
||||||
|
|
||||||
// Success in building document. We build meta file.
|
|
||||||
dol_meta_create($this);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
dol_print_error($this->db,"order_pdf_create Error: ".$obj->error);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dol_print_error('',$langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$file));
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3238,16 +3238,6 @@ class Facture extends CommonInvoice
|
|||||||
|
|
||||||
$langs->load("bills");
|
$langs->load("bills");
|
||||||
|
|
||||||
$error=0;
|
|
||||||
|
|
||||||
// Increase limit for PDF build
|
|
||||||
$err=error_reporting();
|
|
||||||
error_reporting(0);
|
|
||||||
@set_time_limit(120);
|
|
||||||
error_reporting($err);
|
|
||||||
|
|
||||||
$srctemplatepath='';
|
|
||||||
|
|
||||||
// Positionne le modele sur le nom du modele a utiliser
|
// Positionne le modele sur le nom du modele a utiliser
|
||||||
if (! dol_strlen($modele))
|
if (! dol_strlen($modele))
|
||||||
{
|
{
|
||||||
@ -3261,72 +3251,9 @@ class Facture extends CommonInvoice
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If selected modele is a filename template (then $modele="modelname:filename")
|
$modelpath = "core/modules/facture/doc/";
|
||||||
$tmp=explode(':',$modele,2);
|
|
||||||
if (! empty($tmp[1]))
|
|
||||||
{
|
|
||||||
$modele=$tmp[0];
|
|
||||||
$srctemplatepath=$tmp[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Search template files
|
return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
$file=''; $classname=''; $filefound=0;
|
|
||||||
$dirmodels=array('/');
|
|
||||||
if (is_array($conf->modules_parts['models'])) $dirmodels=array_merge($dirmodels,$conf->modules_parts['models']);
|
|
||||||
foreach($dirmodels as $reldir)
|
|
||||||
{
|
|
||||||
foreach(array('doc','pdf') as $prefix)
|
|
||||||
{
|
|
||||||
$file = $prefix."_".$modele.".modules.php";
|
|
||||||
|
|
||||||
// On verifie l'emplacement du modele
|
|
||||||
$file=dol_buildpath($reldir."core/modules/facture/doc/".$file,0);
|
|
||||||
if (file_exists($file))
|
|
||||||
{
|
|
||||||
$filefound=1;
|
|
||||||
$classname=$prefix.'_'.$modele;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($filefound) break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Charge le modele
|
|
||||||
if ($filefound)
|
|
||||||
{
|
|
||||||
require_once $file;
|
|
||||||
|
|
||||||
$obj = new $classname($this->db);
|
|
||||||
|
|
||||||
// We save charset_output to restore it because write_file can change it if needed for
|
|
||||||
// output format that does not support UTF8.
|
|
||||||
$sav_charset_output=$outputlangs->charset_output;
|
|
||||||
if ($obj->write_file($this, $outputlangs, $srctemplatepath, $hidedetails, $hidedesc, $hideref) > 0)
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
|
|
||||||
// We delete old preview
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
|
||||||
dol_delete_preview($this);
|
|
||||||
|
|
||||||
// Success in building document. We build meta file.
|
|
||||||
dol_meta_create($this);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
dol_print_error($this->db,"facture_pdf_create Error: ".$obj->error);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dol_print_error('',$langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$file));
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2356,10 +2356,6 @@ class ContratLigne extends CommonObject
|
|||||||
|
|
||||||
$langs->load("contracts");
|
$langs->load("contracts");
|
||||||
|
|
||||||
$error=0;
|
|
||||||
|
|
||||||
$srctemplatepath='';
|
|
||||||
|
|
||||||
// Positionne modele sur le nom du modele de contrat a utiliser
|
// Positionne modele sur le nom du modele de contrat a utiliser
|
||||||
if (! dol_strlen($modele))
|
if (! dol_strlen($modele))
|
||||||
{
|
{
|
||||||
@ -2373,71 +2369,9 @@ class ContratLigne extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If selected modele is a filename template (then $modele="modelname:filename")
|
$modelpath = "core/modules/contract/doc/";
|
||||||
$tmp=explode(':',$modele,2);
|
|
||||||
if (! empty($tmp[1]))
|
|
||||||
{
|
|
||||||
$modele=$tmp[0];
|
|
||||||
$srctemplatepath=$tmp[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Search template files
|
return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
$file=''; $classname=''; $filefound=0;
|
|
||||||
$dirmodels=array('/');
|
|
||||||
if (is_array($conf->modules_parts['models'])) $dirmodels=array_merge($dirmodels,$conf->modules_parts['models']);
|
|
||||||
foreach($dirmodels as $reldir)
|
|
||||||
{
|
|
||||||
foreach(array('doc','pdf') as $prefix)
|
|
||||||
{
|
|
||||||
$file = $prefix."_".$modele.".modules.php";
|
|
||||||
|
|
||||||
// On verifie l'emplacement du modele
|
|
||||||
$file=dol_buildpath($reldir."core/modules/contract/doc/".$file,0);
|
|
||||||
if (file_exists($file))
|
|
||||||
{
|
|
||||||
$filefound=1;
|
|
||||||
$classname=$prefix.'_'.$modele;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($filefound) break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Charge le modele
|
|
||||||
if ($filefound)
|
|
||||||
{
|
|
||||||
require_once $file;
|
|
||||||
|
|
||||||
$obj = new $classname($this->db);
|
|
||||||
|
|
||||||
// We save charset_output to restore it because write_file can change it if needed for
|
|
||||||
// output format that does not support UTF8.
|
|
||||||
$sav_charset_output=$outputlangs->charset_output;
|
|
||||||
if ($obj->write_file($this, $outputlangs, $srctemplatepath, $hidedetails, $hidedesc, $hideref) > 0)
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
|
|
||||||
// We delete old preview
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
|
||||||
dol_delete_preview($this);
|
|
||||||
|
|
||||||
// Success in building document. We build meta file.
|
|
||||||
dol_meta_create($this);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
dol_print_error($this->db,"contract_pdf_create Error: ".$obj->error);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$file);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -3475,4 +3475,85 @@ abstract class CommonObject
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function commonGenerateDocument($modelspath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref)
|
||||||
|
{
|
||||||
|
global $conf, $langs;
|
||||||
|
|
||||||
|
$srctemplatepath='';
|
||||||
|
|
||||||
|
// Increase limit for PDF build
|
||||||
|
$err=error_reporting();
|
||||||
|
error_reporting(0);
|
||||||
|
@set_time_limit(120);
|
||||||
|
error_reporting($err);
|
||||||
|
|
||||||
|
// If selected modele is a filename template (then $modele="modelname:filename")
|
||||||
|
$tmp=explode(':',$modele,2);
|
||||||
|
if (! empty($tmp[1]))
|
||||||
|
{
|
||||||
|
$modele=$tmp[0];
|
||||||
|
$srctemplatepath=$tmp[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Search template files
|
||||||
|
$file=''; $classname=''; $filefound=0;
|
||||||
|
$dirmodels=array('/');
|
||||||
|
if (is_array($conf->modules_parts['models'])) $dirmodels=array_merge($dirmodels,$conf->modules_parts['models']);
|
||||||
|
foreach($dirmodels as $reldir)
|
||||||
|
{
|
||||||
|
foreach(array('doc','pdf') as $prefix)
|
||||||
|
{
|
||||||
|
$file = $prefix."_".$modele.".modules.php";
|
||||||
|
|
||||||
|
// On verifie l'emplacement du modele
|
||||||
|
$file=dol_buildpath($reldir.$modelspath.$file,0);
|
||||||
|
if (file_exists($file))
|
||||||
|
{
|
||||||
|
$filefound=1;
|
||||||
|
$classname=$prefix.'_'.$modele;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($filefound) break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Charge le modele
|
||||||
|
if ($filefound)
|
||||||
|
{
|
||||||
|
require_once $file;
|
||||||
|
|
||||||
|
$obj = new $classname($this->db);
|
||||||
|
//$obj->message = $message;
|
||||||
|
|
||||||
|
// We save charset_output to restore it because write_file can change it if needed for
|
||||||
|
// output format that does not support UTF8.
|
||||||
|
$sav_charset_output=$outputlangs->charset_output;
|
||||||
|
if ($obj->write_file($this, $outputlangs, $srctemplatepath, $hidedetails, $hidedesc, $hideref) > 0)
|
||||||
|
{
|
||||||
|
$outputlangs->charset_output=$sav_charset_output;
|
||||||
|
|
||||||
|
// We delete old preview
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
dol_delete_preview($this);
|
||||||
|
|
||||||
|
// Success in building document. We build meta file.
|
||||||
|
dol_meta_create($this);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$outputlangs->charset_output=$sav_charset_output;
|
||||||
|
dol_print_error($this->db,"Error generating document for ".__CLASS__.". Error: ".$obj->error);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dol_print_error('',$langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$file));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1546,10 +1546,6 @@ class Expedition extends CommonObject
|
|||||||
|
|
||||||
$langs->load("sendings");
|
$langs->load("sendings");
|
||||||
|
|
||||||
$error=0;
|
|
||||||
|
|
||||||
$srctemplatepath='';
|
|
||||||
|
|
||||||
// Sets the model on the model name to use
|
// Sets the model on the model name to use
|
||||||
if (! dol_strlen($modele))
|
if (! dol_strlen($modele))
|
||||||
{
|
{
|
||||||
@ -1563,78 +1559,9 @@ class Expedition extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If selected model is a filename template (then $modele="modelname:filename")
|
$modelpath = "core/modules/expedition/doc/";
|
||||||
$tmp=explode(':',$modele,2);
|
|
||||||
if (! empty($tmp[1]))
|
|
||||||
{
|
|
||||||
$modele=$tmp[0];
|
|
||||||
$srctemplatepath=$tmp[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Search template files
|
return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, 0, 0, 0);
|
||||||
$file=''; $classname=''; $filefound=0;
|
|
||||||
$dirmodels=array('/');
|
|
||||||
if (is_array($conf->modules_parts['models'])) $dirmodels=array_merge($dirmodels,$conf->modules_parts['models']);
|
|
||||||
foreach($dirmodels as $reldir)
|
|
||||||
{
|
|
||||||
foreach(array('doc','pdf') as $prefix)
|
|
||||||
{
|
|
||||||
$file = $prefix."_".$modele.".modules.php";
|
|
||||||
|
|
||||||
// We check the model location
|
|
||||||
$file=dol_buildpath($reldir."core/modules/expedition/doc/".$file,0);
|
|
||||||
if (file_exists($file))
|
|
||||||
{
|
|
||||||
$filefound=1;
|
|
||||||
$classname=$prefix.'_'.$modele;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($filefound) break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Load the model
|
|
||||||
if ($filefound)
|
|
||||||
{
|
|
||||||
require_once $file;
|
|
||||||
|
|
||||||
$obj = new $classname($this->db);
|
|
||||||
|
|
||||||
$result=$this->fetch_origin();
|
|
||||||
|
|
||||||
// We save charset_output to restore it because write_file can change it if needed for
|
|
||||||
// output format that does not support UTF8.
|
|
||||||
$sav_charset_output=$outputlangs->charset_output;
|
|
||||||
if ($obj->write_file($this, $outputlangs, $srctemplatepath) > 0)
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
|
|
||||||
// we delete preview files
|
|
||||||
//require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
|
||||||
//dol_delete_preview($this);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
dol_syslog("Erreur dans expedition_pdf_create");
|
|
||||||
dol_print_error($this->db,$obj->error);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (! $conf->global->EXPEDITION_ADDON_PDF)
|
|
||||||
{
|
|
||||||
print $langs->trans("Error")." ".$langs->trans("Error_EXPEDITION_ADDON_PDF_NotDefined");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$file);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -940,10 +940,6 @@ class Livraison extends CommonObject
|
|||||||
|
|
||||||
$langs->load("deliveries");
|
$langs->load("deliveries");
|
||||||
|
|
||||||
$error=0;
|
|
||||||
|
|
||||||
$srctemplatepath='';
|
|
||||||
|
|
||||||
// Positionne modele sur le nom du modele de bon de livraison a utiliser
|
// Positionne modele sur le nom du modele de bon de livraison a utiliser
|
||||||
if (! dol_strlen($modele))
|
if (! dol_strlen($modele))
|
||||||
{
|
{
|
||||||
@ -957,73 +953,11 @@ class Livraison extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If selected modele is a filename template (then $modele="modelname:filename")
|
$modelpath = "core/modules/livraison/pdf/";
|
||||||
$tmp=explode(':',$modele,2);
|
|
||||||
if (! empty($tmp[1]))
|
|
||||||
{
|
|
||||||
$modele=$tmp[0];
|
|
||||||
$srctemplatepath=$tmp[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Search template files
|
return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, 0, 0, 0);
|
||||||
$file=''; $classname=''; $filefound=0;
|
|
||||||
$dirmodels=array('/');
|
|
||||||
if (is_array($conf->modules_parts['models'])) $dirmodels=array_merge($dirmodels,$conf->modules_parts['models']);
|
|
||||||
foreach($dirmodels as $reldir)
|
|
||||||
{
|
|
||||||
foreach(array('doc','pdf') as $prefix)
|
|
||||||
{
|
|
||||||
$file = $prefix."_".$modele.".modules.php";
|
|
||||||
|
|
||||||
// On verifie l'emplacement du modele
|
|
||||||
$file=dol_buildpath($reldir."core/modules/livraison/pdf/".$file,0);
|
|
||||||
if (file_exists($file))
|
|
||||||
{
|
|
||||||
$filefound=1;
|
|
||||||
$classname=$prefix.'_'.$modele;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($filefound) break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Charge le modele
|
|
||||||
if ($filefound)
|
|
||||||
{
|
|
||||||
require_once $file;
|
|
||||||
|
|
||||||
$obj = new $classname($this->db);
|
|
||||||
|
|
||||||
// We save charset_output to restore it because write_file can change it if needed for
|
|
||||||
// output format that does not support UTF8.
|
|
||||||
$sav_charset_output=$outputlangs->charset_output;
|
|
||||||
if ($obj->write_file($this,$outputlangs) > 0)
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
|
|
||||||
// we delete preview files
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
|
||||||
dol_delete_preview($this);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
dol_syslog("Erreur dans delivery_order_pdf_create");
|
|
||||||
dol_print_error($this->db,$obj->error);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$file);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1323,10 +1323,6 @@ class Project extends CommonObject
|
|||||||
|
|
||||||
$langs->load("projects");
|
$langs->load("projects");
|
||||||
|
|
||||||
$error=0;
|
|
||||||
|
|
||||||
$srctemplatepath='';
|
|
||||||
|
|
||||||
// Positionne modele sur le nom du modele de projet a utiliser
|
// Positionne modele sur le nom du modele de projet a utiliser
|
||||||
if (! dol_strlen($modele))
|
if (! dol_strlen($modele))
|
||||||
{
|
{
|
||||||
@ -1340,71 +1336,9 @@ class Project extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If selected modele is a filename template (then $modele="modelname:filename")
|
$modelpath = "core/modules/project/pdf/";
|
||||||
$tmp=explode(':',$modele,2);
|
|
||||||
if (! empty($tmp[1]))
|
|
||||||
{
|
|
||||||
$modele=$tmp[0];
|
|
||||||
$srctemplatepath=$tmp[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Search template files
|
return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
$file=''; $classname=''; $filefound=0;
|
|
||||||
$dirmodels=array('/');
|
|
||||||
if (is_array($conf->modules_parts['models'])) $dirmodels=array_merge($dirmodels,$conf->modules_parts['models']);
|
|
||||||
foreach($dirmodels as $reldir)
|
|
||||||
{
|
|
||||||
foreach(array('doc','pdf') as $prefix)
|
|
||||||
{
|
|
||||||
$file = $prefix."_".$modele.".modules.php";
|
|
||||||
|
|
||||||
// On verifie l'emplacement du modele
|
|
||||||
$file=dol_buildpath($reldir."core/modules/project/pdf/".$file,0);
|
|
||||||
if (file_exists($file))
|
|
||||||
{
|
|
||||||
$filefound=1;
|
|
||||||
$classname=$prefix.'_'.$modele;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($filefound) break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Charge le modele
|
|
||||||
if ($filefound)
|
|
||||||
{
|
|
||||||
require_once $file;
|
|
||||||
|
|
||||||
$obj = new $classname($this->db);
|
|
||||||
|
|
||||||
// We save charset_output to restore it because write_file can change it if needed for
|
|
||||||
// output format that does not support UTF8.
|
|
||||||
$sav_charset_output=$outputlangs->charset_output;
|
|
||||||
if ($obj->write_file($this, $outputlangs, $srctemplatepath, $hidedetails, $hidedesc, $hideref) > 0)
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
|
|
||||||
// we delete preview files
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
|
||||||
dol_delete_preview($this);
|
|
||||||
|
|
||||||
// Success in building document. We build meta file.
|
|
||||||
dol_meta_create($this);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
dol_print_error($this->db,"project_pdf_create Error: ".$obj->error);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$file);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1327,12 +1327,9 @@ class Task extends CommonObject
|
|||||||
public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $hookmanager=false)
|
public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0, $hookmanager=false)
|
||||||
{
|
{
|
||||||
global $conf,$langs;
|
global $conf,$langs;
|
||||||
|
|
||||||
$langs->load("projects");
|
$langs->load("projects");
|
||||||
|
|
||||||
$error=0;
|
|
||||||
|
|
||||||
$srctemplatepath='';
|
|
||||||
|
|
||||||
// Positionne modele sur le nom du modele de projet a utiliser
|
// Positionne modele sur le nom du modele de projet a utiliser
|
||||||
if (! dol_strlen($modele))
|
if (! dol_strlen($modele))
|
||||||
{
|
{
|
||||||
@ -1346,71 +1343,9 @@ class Task extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If selected modele is a filename template (then $modele="modelname:filename")
|
$modelpath = "core/modules/project/task/pdf/";
|
||||||
$tmp=explode(':',$modele,2);
|
|
||||||
if (! empty($tmp[1]))
|
|
||||||
{
|
|
||||||
$modele=$tmp[0];
|
|
||||||
$srctemplatepath=$tmp[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Search template files
|
return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref);
|
||||||
$file=''; $classname=''; $filefound=0;
|
|
||||||
$dirmodels=array('/');
|
|
||||||
if (is_array($conf->modules_parts['models'])) $dirmodels=array_merge($dirmodels,$conf->modules_parts['models']);
|
|
||||||
foreach($dirmodels as $reldir)
|
|
||||||
{
|
|
||||||
foreach(array('doc','pdf') as $prefix)
|
|
||||||
{
|
|
||||||
$file = $prefix."_".$modele.".modules.php";
|
|
||||||
|
|
||||||
// On verifie l'emplacement du modele
|
|
||||||
$file=dol_buildpath($reldir."core/modules/project/task/pdf/".$file,0);
|
|
||||||
if (file_exists($file))
|
|
||||||
{
|
|
||||||
$filefound=1;
|
|
||||||
$classname=$prefix.'_'.$modele;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($filefound) break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Charge le modele
|
|
||||||
if ($filefound)
|
|
||||||
{
|
|
||||||
require_once $file;
|
|
||||||
|
|
||||||
$obj = new $classname($this->db);
|
|
||||||
// We save charset_output to restore it because write_file can change it if needed for
|
|
||||||
// output format that does not support UTF8.
|
|
||||||
$sav_charset_output=$outputlangs->charset_output;
|
|
||||||
if ($obj->write_file($this, $outputlangs, $srctemplatepath, $hidedetails, $hidedesc, $hideref, $hookmanager) > 0)
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
|
|
||||||
// we delete preview files
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
|
||||||
dol_delete_preview($this);
|
|
||||||
|
|
||||||
// Success in building document. We build meta file.
|
|
||||||
dol_meta_create($this);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$outputlangs->charset_output=$sav_charset_output;
|
|
||||||
dol_print_error($this->db,"task_pdf_create Error: ".$obj->error);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$file);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user