diff --git a/htdocs/admin/commande.php b/htdocs/admin/commande.php index 34ae1776000..fb293568b29 100644 --- a/htdocs/admin/commande.php +++ b/htdocs/admin/commande.php @@ -70,34 +70,27 @@ if ($action == 'specimen') $commande = new Commande($db); $commande->initAsSpecimen(); - - // Check if there is external models to do asked by plugins - if (is_array($conf->models_modules) && ! empty($conf->models_modules)) { - $conf->file->dol_document_root = array_merge($conf->file->dol_document_root,$conf->models_modules); - } - - // Search template file + + // Search template files $file=''; $classname=''; $filefound=0; - foreach ($conf->file->dol_document_root as $dirroot) + $dirmodels=array_merge(array('/'),$conf->models_modules); + foreach($dirmodels as $reldir) { - // Charge le modele - $dir = $dirroot."/core/modules/commande/doc/"; - $file = $dir."pdf_".$modele.".modules.php"; + $file=dol_buildpath($reldir."core/modules/commande/doc/pdf_".$modele.".modules.php",0); if (file_exists($file)) { $filefound=1; $classname = "pdf_".$modele; break; - require_once($file); } } - + if ($filefound) { require_once($file); - + $module = new $classname($db); - + if ($module->write_file($commande,$langs) > 0) { header("Location: ".DOL_URL_ROOT."/document.php?modulepart=commande&file=SPECIMEN.pdf"); diff --git a/htdocs/admin/facture.php b/htdocs/admin/facture.php index 11e977ebba5..52ce7236c45 100644 --- a/htdocs/admin/facture.php +++ b/htdocs/admin/facture.php @@ -69,19 +69,13 @@ if ($action == 'specimen') $facture = new Facture($db); $facture->initAsSpecimen(); - - // Check if there is external models to do asked by plugins - if (is_array($conf->models_modules) && ! empty($conf->models_modules)) { - $conf->file->dol_document_root = array_merge($conf->file->dol_document_root,$conf->models_modules); - } - - // Search template file - $file=''; $classname=''; $filefound=0; - foreach ($conf->file->dol_document_root as $dirroot) - { - // Load template - $dir = $dirroot."/core/modules/facture/doc/"; - $file = $dir."pdf_".$modele.".modules.php"; + + // Search template files + $file=''; $classname=''; $filefound=0; + $dirmodels=array_merge(array('/'),$conf->models_modules); + foreach($dirmodels as $reldir) + { + $file=dol_buildpath($reldir."core/modules/facture/doc/pdf_".$modele.".modules.php",0); if (file_exists($file)) { $filefound=1; @@ -89,13 +83,13 @@ if ($action == 'specimen') break; } } - + if ($filefound) { require_once($file); - + $module = new $classname($db); - + if ($module->write_file($facture,$langs) > 0) { header("Location: ".DOL_URL_ROOT."/document.php?modulepart=facture&file=SPECIMEN.pdf"); diff --git a/htdocs/admin/propale.php b/htdocs/admin/propale.php index bbad436f259..8ae0e25777b 100644 --- a/htdocs/admin/propale.php +++ b/htdocs/admin/propale.php @@ -69,18 +69,12 @@ if ($action == 'specimen') $propal = new Propal($db); $propal->initAsSpecimen(); - // Check if there is external models to do asked by plugins - if (is_array($conf->models_modules) && ! empty($conf->models_modules)) { - $conf->file->dol_document_root = array_merge($conf->file->dol_document_root,$conf->models_modules); - } - - // Search template file + // Search template files $file=''; $classname=''; $filefound=0; - foreach ($conf->file->dol_document_root as $dirroot) + $dirmodels=array_merge(array('/'),$conf->models_modules); + foreach($dirmodels as $reldir) { - // Charge le modele - $dir = $dirroot."/core/modules/propale/doc/"; - $file = $dir."pdf_".$modele.".modules.php"; + $file=dol_buildpath($reldir."core/modules/propale/doc/pdf_".$modele.".modules.php",0); if (file_exists($file)) { $filefound=1; @@ -88,13 +82,13 @@ if ($action == 'specimen') break; } } - + if ($filefound) { require_once($file); - + $module = new $classname($db); - + if ($module->write_file($propal,$langs) > 0) { header("Location: ".DOL_URL_ROOT."/document.php?modulepart=propal&file=SPECIMEN.pdf"); diff --git a/htdocs/core/modules/commande/modules_commande.php b/htdocs/core/modules/commande/modules_commande.php index 99d08513928..a940e86561b 100644 --- a/htdocs/core/modules/commande/modules_commande.php +++ b/htdocs/core/modules/commande/modules_commande.php @@ -158,7 +158,6 @@ function commande_pdf_create($db, $object, $modele, $outputlangs, $hidedetails=0 $error=0; - $dir = "/core/modules/commande/"; $srctemplatepath=''; // Positionne le modele sur le nom du modele a utiliser @@ -181,22 +180,18 @@ function commande_pdf_create($db, $object, $modele, $outputlangs, $hidedetails=0 $modele=$tmp[0]; $srctemplatepath=$tmp[1]; } - - // Check if there is external models to do asked by plugins - if (is_array($conf->models_modules) && ! empty($conf->models_modules)) { - $conf->file->dol_document_root = array_merge($conf->file->dol_document_root,$conf->models_modules); - } - - foreach ($conf->file->dol_document_root as $dirroot) - { - // Search template file - $file=''; $classname=''; $filefound=0; + + // Search template files + $file=''; $classname=''; $filefound=0; + $dirmodels=array_merge(array('/'),$conf->models_modules); + foreach($dirmodels as $reldir) + { foreach(array('doc','pdf') as $prefix) { - $file = $prefix."_".$modele.".modules.php"; - + $file = $prefix."_".$modele.".modules.php"; + // On verifie l'emplacement du modele - $file = $dirroot.$dir.'doc/'.$file; + $file=dol_buildpath($reldir."core/modules/commande/doc/".$file,0); if (file_exists($file)) { $filefound=1; diff --git a/htdocs/core/modules/facture/modules_facture.php b/htdocs/core/modules/facture/modules_facture.php index ef8da16e945..b722292ef11 100644 --- a/htdocs/core/modules/facture/modules_facture.php +++ b/htdocs/core/modules/facture/modules_facture.php @@ -149,14 +149,13 @@ function facture_pdf_create($db, $object, $modele, $outputlangs, $hidedetails=0, $langs->load("bills"); $error=0; - + // Increase limit for PDF build $err=error_reporting(); error_reporting(0); @set_time_limit(120); error_reporting($err); - $dir = "/core/modules/facture/"; $srctemplatepath=''; // Positionne le modele sur le nom du modele a utiliser @@ -179,22 +178,18 @@ function facture_pdf_create($db, $object, $modele, $outputlangs, $hidedetails=0, $modele=$tmp[0]; $srctemplatepath=$tmp[1]; } - - // Check if there is external models to do asked by plugins - if (is_array($conf->models_modules) && ! empty($conf->models_modules)) { - $conf->file->dol_document_root = array_merge($conf->file->dol_document_root,$conf->models_modules); - } - - foreach ($conf->file->dol_document_root as $dirroot) - { - // Search template file - $file=''; $classname=''; $filefound=0; + + // Search template files + $file=''; $classname=''; $filefound=0; + $dirmodels=array_merge(array('/'),$conf->models_modules); + foreach($dirmodels as $reldir) + { foreach(array('doc','pdf') as $prefix) { - $file = $prefix."_".$modele.".modules.php"; - + $file = $prefix."_".$modele.".modules.php"; + // On verifie l'emplacement du modele - $file = $dirroot.$dir.'doc/'.$file; + $file=dol_buildpath($reldir."core/modules/facture/doc/".$file,0); if (file_exists($file)) { $filefound=1; diff --git a/htdocs/core/modules/propale/modules_propale.php b/htdocs/core/modules/propale/modules_propale.php index 362948cebe8..01e163478ad 100644 --- a/htdocs/core/modules/propale/modules_propale.php +++ b/htdocs/core/modules/propale/modules_propale.php @@ -159,7 +159,6 @@ function propale_pdf_create($db, $object, $modele, $outputlangs, $hidedetails=0, $error=0; - $dir = "/core/modules/propale/"; $srctemplatepath=''; // Positionne le modele sur le nom du modele a utiliser @@ -182,22 +181,18 @@ function propale_pdf_create($db, $object, $modele, $outputlangs, $hidedetails=0, $modele=$tmp[0]; $srctemplatepath=$tmp[1]; } - - // Check if there is external models to do asked by plugins - if (is_array($conf->models_modules) && ! empty($conf->models_modules)) { - $conf->file->dol_document_root = array_merge($conf->file->dol_document_root,$conf->models_modules); - } - - // Search template file - $file=''; $classname=''; $filefound=0; - foreach ($conf->file->dol_document_root as $dirroot) - { + + // Search template files + $file=''; $classname=''; $filefound=0; + $dirmodels=array_merge(array('/'),$conf->models_modules); + foreach($dirmodels as $reldir) + { foreach(array('doc','pdf') as $prefix) { - $file = $prefix."_".$modele.".modules.php"; - + $file = $prefix."_".$modele.".modules.php"; + // On verifie l'emplacement du modele - $file = $dirroot.$dir.'doc/'.$file; + $file=dol_buildpath($reldir."core/modules/propale/doc/".$file,0); if (file_exists($file)) { $filefound=1;