diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php
index 9fad32f9b66..53f3df239a8 100644
--- a/htdocs/compta/facture.php
+++ b/htdocs/compta/facture.php
@@ -343,7 +343,7 @@ if ($_POST["action"] == 'send' || $_POST["action"] == 'relance')
{
$forbidden_chars=array("/","\\",":","*","?","\"","<",">","|","[","]",",",";","=");
$facref = str_replace($forbidden_chars,"_",$fac->ref);
- $file = FAC_OUTPUTDIR . "/" . $facref . "/" . $facref . ".pdf";
+ $file = $conf->facture->dir_output . "/" . $facref . "/" . $facref . ".pdf";
if (is_readable($file))
{
@@ -432,10 +432,8 @@ if ($_POST["action"] == 'send' || $_POST["action"] == 'relance')
if ($_GET["action"] == 'pdf')
{
// Generation de la facture définie dans /includes/modules/facture/modules_facture.php
+ // Génère également le fichier meta dans le m$eme répertoire (pour faciliter les recherches et indexation)
facture_pdf_create($db, $_GET["facid"]);
- // Plus ajout des meta informations dans le même répertoire pour faciliter les
- //recherches en texte plein (grep etc.)
- facture_meta_create($db, $_GET["facid"]);
}
@@ -592,7 +590,7 @@ if ($_GET["action"] == 'create')
dolibarr_print_error($db);
}
- print '
';
+ print '';
print '| Services/Produits prédéfinis | '.$langs->trans("Qty").' | '.$langs->trans("Discount").' | | ';
if ($conf->service->enabled) {
print 'Si produit de type service à durée limitée |
';
@@ -647,7 +645,7 @@ if ($_GET["action"] == 'create')
}
else
{
- print "$sql";
+ dolibarr_print_error($db);
}
}
/*
@@ -664,7 +662,7 @@ if ($_GET["action"] == 'create')
*/
print_titre("Produits");
- print '';
+ print '';
print '| '.$langs->trans("Ref").' | Produit | ';
print ''.$langs->trans("Price").' | Remise | Qté. |
';
@@ -710,7 +708,7 @@ if ($_GET["action"] == 'create')
}
else
{
- print $sql;
+ dolibarr_print_error($db);
}
print '
';
@@ -753,7 +751,7 @@ if ($_GET["action"] == 'create')
}
else
{
- print $sql;
+ dolibarr_print_error($db);
}
print '
';
@@ -1068,7 +1066,6 @@ else
}
$db->free();
- // print "
";
}
else
{
@@ -1148,7 +1145,7 @@ else
}
}
}
- print " id&action=pdf\">".$langs->trans("RebuildPDF")."\n";
+
// Supprimer
if ($fac->statut == 0 && $user->rights->facture->supprimer && $_GET["action"] != 'delete')
{
@@ -1207,7 +1204,7 @@ else
$forbidden_chars=array("/","\\",":","*","?","\"","<",">","|","[","]",",",";","=");
$facref = str_replace($forbidden_chars,"_",$fac->ref);
- $file = FAC_OUTPUTDIR . "/" . $facref . "/" . $facref . ".pdf";
+ $file = $conf->facture->dir_output . "/" . $facref . "/" . $facref . ".pdf";
print "| ";
@@ -1226,7 +1223,7 @@ else
print ' |
';
- $dir = FAC_OUTPUTDIR . "/" . $facref . "/";
+ $dir = $conf->facture->dir_output . "/" . $facref . "/";
$handle=opendir($dir);
while (($file = readdir($handle))!==false)
diff --git a/htdocs/includes/modules/facture/modules_facture.php b/htdocs/includes/modules/facture/modules_facture.php
index 373b3ede9fb..cbc5d1c154f 100644
--- a/htdocs/includes/modules/facture/modules_facture.php
+++ b/htdocs/includes/modules/facture/modules_facture.php
@@ -119,7 +119,9 @@ function facture_pdf_create($db, $facid, $message="")
if ( $obj->write_pdf_file($facid) > 0)
{
- return 1;
+ // Succès de la création de la facture. On génère le fichier meta
+ facture_meta_create($db, $_GET["facid"]);
+ return 1;
}
else
{
@@ -135,28 +137,35 @@ function facture_pdf_create($db, $facid, $message="")
}
}
-/*!
- \brief Créé un meta fichier à côté de la facture sur le disque pour faciliter les recherches en texte plein. Pourquoi ? tout simplement parcequ'en fin d'exercice quand je suis avec mon comptable je n'ai pas de connexion internet "rapide" pour retrouver en 2 secondes une facture non payée ou compliquée à gérer ... avec un rgrep c'est vite fait bien fait [eric seigne]
- \param db objet base de donnée
- \param facid id de la facture à créer
+/**
+ \brief Créé un meta fichier à côté de la facture sur le disque pour faciliter les recherches en texte plein. Pourquoi ? tout simplement parcequ'en fin d'exercice quand je suis avec mon comptable je n'ai pas de connexion internet "rapide" pour retrouver en 2 secondes une facture non payée ou compliquée à gérer ... avec un rgrep c'est vite fait bien fait [eric seigne]
+ \param db objet base de donnée
+ \param facid id de la facture à créer
+ \param message message
*/
function facture_meta_create($db, $facid, $message="")
{
+ global $langs,$conf;
+
$fac = new Facture($db,"",$facid);
$fac->fetch($facid);
$fac->fetch_client();
- if (defined("FAC_OUTPUTDIR"))
+
+ if ($conf->facture->dir_output)
{
- $dir = FAC_OUTPUTDIR . "/" . $fac->ref . "/" ;
- $file = $dir . $fac->ref . ".meta";
+ $dir = $conf->facture->dir_output . "/" . $fac->ref ;
+ $file = $dir . "/" . $fac->ref . ".meta";
+
if (! file_exists($dir))
- {
- umask(0);
- if (! mkdir($dir, 0755))
- {
- print "Impossible de créer $dir !";
- }
- }
+ {
+ umask(0);
+ if (! mkdir($dir, 0755))
+ {
+ $this->error=$langs->trans("ErrorCanNotCreateDir",$dir);
+ return 0;
+ }
+ }
+
if (file_exists($dir))
{
$nblignes = sizeof($fac->lignes);
diff --git a/htdocs/includes/modules/facture/pdf_adytek.modules.php b/htdocs/includes/modules/facture/pdf_adytek.modules.php
index 4b075d65f2d..40af9261257 100644
--- a/htdocs/includes/modules/facture/pdf_adytek.modules.php
+++ b/htdocs/includes/modules/facture/pdf_adytek.modules.php
@@ -45,15 +45,19 @@ class pdf_adytek extends ModelePDFFactures {
function write_pdf_file($facid)
{
global $user;
+ global $langs;
+ $langs->load("main");
+ $langs->load("bills");
+ $langs->load("products");
+
$fac = new Facture($this->db,"",$facid);
$fac->fetch($facid);
-
- if (defined("FAC_OUTPUTDIR"))
+ if ($conf->facture->dir_output)
{
$forbidden_chars=array("/","\\",":","*","?","\"","<",">","|","[","]",",",";","=");
$facref = str_replace($forbidden_chars,"_",$fac->ref);
- $dir = FAC_OUTPUTDIR . "/" . $facref . "/" ;
+ $dir = $conf->facture->dir_output . "/" . $facref . "/" ;
$file = $dir . $facref . ".pdf";
if (! file_exists($dir))
@@ -61,13 +65,14 @@ class pdf_adytek extends ModelePDFFactures {
umask(0);
if (! mkdir($dir, 0755))
{
- $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ $this->error=$langs->trans("ErrorCanNotCreateDir",$dir);
return 0;
}
}
if (file_exists($dir))
{
+ // Initialisation facture vierge
$pdf=new FPDF('P','mm','A4');
$pdf->Open();
$pdf->AddPage();
@@ -75,8 +80,8 @@ class pdf_adytek extends ModelePDFFactures {
$this->_pagehead($pdf, $fac);
$pdf->SetTitle($fac->ref);
- $pdf->SetSubject("Facture");
- $pdf->SetCreator("ADYTEK Dolibarr ".DOL_VERSION);
+ $pdf->SetSubject($langs->trans("Bill"));
+ $pdf->SetCreator("ADYTEK Dolibarr ".DOL_VERSION);
$pdf->SetAuthor($user->fullname);
$pdf->SetMargins(10, 10, 10);
$pdf->SetAutoPageBreak(1,0);
diff --git a/htdocs/includes/modules/facture/pdf_bernique.modules.php b/htdocs/includes/modules/facture/pdf_bernique.modules.php
index 574f99b3948..5d3d8127711 100644
--- a/htdocs/includes/modules/facture/pdf_bernique.modules.php
+++ b/htdocs/includes/modules/facture/pdf_bernique.modules.php
@@ -45,15 +45,19 @@ class pdf_bernique extends ModelePDFFactures {
function write_pdf_file($facid)
{
global $user;
+ global $langs;
+ $langs->load("main");
+ $langs->load("bills");
+ $langs->load("products");
+
$fac = new Facture($this->db,"",$facid);
$fac->fetch($facid);
-
- if (defined("FAC_OUTPUTDIR"))
+ if ($conf->facture->dir_output)
{
$forbidden_chars=array("/","\\",":","*","?","\"","<",">","|","[","]",",",";","=");
$facref = str_replace($forbidden_chars,"_",$fac->ref);
- $dir = FAC_OUTPUTDIR . "/" . $facref . "/" ;
+ $dir = $conf->facture->dir_output . "/" . $facref . "/" ;
$file = $dir . $facref . ".pdf";
if (! file_exists($dir))
@@ -61,13 +65,14 @@ class pdf_bernique extends ModelePDFFactures {
umask(0);
if (! mkdir($dir, 0755))
{
- $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ $this->error=$langs->trans("ErrorCanNotCreateDir",$dir);
return 0;
}
}
if (file_exists($dir))
{
+ // Initialisation facture vierge
$pdf=new FPDF('P','mm','A4');
$pdf->Open();
$pdf->AddPage();
@@ -75,7 +80,7 @@ class pdf_bernique extends ModelePDFFactures {
$this->_pagehead($pdf, $fac);
$pdf->SetTitle($fac->ref);
- $pdf->SetSubject("Facture");
+ $pdf->SetSubject($langs->trans("Bill"));
$pdf->SetCreator("Dolibarr ".DOL_VERSION);
$pdf->SetAuthor($user->fullname);
diff --git a/htdocs/includes/modules/facture/pdf_bigorneau.modules.php b/htdocs/includes/modules/facture/pdf_bigorneau.modules.php
index 540342c40b4..3d47ac7e6a0 100644
--- a/htdocs/includes/modules/facture/pdf_bigorneau.modules.php
+++ b/htdocs/includes/modules/facture/pdf_bigorneau.modules.php
@@ -45,15 +45,19 @@ class pdf_bigorneau extends ModelePDFFactures {
function write_pdf_file($facid)
{
global $user;
+ global $langs;
+ $langs->load("main");
+ $langs->load("bills");
+ $langs->load("products");
+
$fac = new Facture($this->db,"",$facid);
$fac->fetch($facid);
-
- if (defined("FAC_OUTPUTDIR"))
+ if ($conf->facture->dir_output)
{
$forbidden_chars=array("/","\\",":","*","?","\"","<",">","|","[","]",",",";","=");
$facref = str_replace($forbidden_chars,"_",$fac->ref);
- $dir = FAC_OUTPUTDIR . "/" . $facref . "/" ;
+ $dir = $conf->facture->dir_output . "/" . $facref . "/" ;
$file = $dir . $facref . ".pdf";
if (! file_exists($dir))
@@ -61,14 +65,14 @@ class pdf_bigorneau extends ModelePDFFactures {
umask(0);
if (! mkdir($dir, 0755))
{
- $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ $this->error=$langs->trans("ErrorCanNotCreateDir",$dir);
return 0;
}
}
if (file_exists($dir))
{
-
+ // Initialisation facture vierge
$pdf=new FPDF('P','mm','A4');
$pdf->Open();
$pdf->AddPage();
@@ -76,7 +80,7 @@ class pdf_bigorneau extends ModelePDFFactures {
$this->_pagehead($pdf, $fac);
$pdf->SetTitle($fac->ref);
- $pdf->SetSubject("Facture");
+ $pdf->SetSubject($langs->trans("Bill"));
$pdf->SetCreator("Dolibarr ".DOL_VERSION);
$pdf->SetAuthor($user->fullname);
diff --git a/htdocs/includes/modules/facture/pdf_bulot.modules.php b/htdocs/includes/modules/facture/pdf_bulot.modules.php
index 57fb3c3cd8c..e6825598217 100644
--- a/htdocs/includes/modules/facture/pdf_bulot.modules.php
+++ b/htdocs/includes/modules/facture/pdf_bulot.modules.php
@@ -46,15 +46,19 @@ class pdf_bulot extends ModelePDFFactures {
function write_pdf_file($facid)
{
global $user;
+ global $langs;
+ $langs->load("main");
+ $langs->load("bills");
+ $langs->load("products");
+
$fac = new Facture($this->db,"",$facid);
$fac->fetch($facid);
-
- if (defined("FAC_OUTPUTDIR"))
+ if ($conf->facture->dir_output)
{
$forbidden_chars=array("/","\\",":","*","?","\"","<",">","|","[","]",",",";","=");
$facref = str_replace($forbidden_chars,"_",$fac->ref);
- $dir = FAC_OUTPUTDIR . "/" . $facref . "/" ;
+ $dir = $conf->facture->dir_output . "/" . $facref . "/" ;
$file = $dir . $facref . ".pdf";
if (! file_exists($dir))
@@ -62,13 +66,14 @@ class pdf_bulot extends ModelePDFFactures {
umask(0);
if (! mkdir($dir, 0755))
{
- $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ $this->error=$langs->trans("ErrorCanNotCreateDir",$dir);
return 0;
}
}
if (file_exists($dir))
{
+ // Initialisation facture vierge
$pdf=new FPDF('P','mm','A4');
$pdf->Open();
$pdf->AddPage();
@@ -76,7 +81,7 @@ class pdf_bulot extends ModelePDFFactures {
$this->_pagehead($pdf, $fac);
$pdf->SetTitle($fac->ref);
- $pdf->SetSubject("Facture");
+ $pdf->SetSubject($langs->trans("Bill"));
$pdf->SetCreator("Dolibarr ".DOL_VERSION);
$pdf->SetAuthor($user->fullname);
diff --git a/htdocs/includes/modules/facture/pdf_crabe.modules.php b/htdocs/includes/modules/facture/pdf_crabe.modules.php
index 4a3587e4880..a18e1403ee2 100644
--- a/htdocs/includes/modules/facture/pdf_crabe.modules.php
+++ b/htdocs/includes/modules/facture/pdf_crabe.modules.php
@@ -57,7 +57,6 @@ class pdf_crabe extends ModelePDFFactures
\param facid id de la facture à générer
\return int 1=ok, 0=ko
\remarks Variables utilisées
- \remarks FAC_OUTPUTDIR
\remarks FAC_PDF_LOGO
\remarks FACTURE_CODEPRODUITSERVICE
\remarks FACTURE_CHQ_NUMBER
@@ -75,21 +74,21 @@ class pdf_crabe extends ModelePDFFactures
*/
function write_pdf_file($facid)
{
- global $user;
- global $langs;
+ global $user,$langs,$conf;
+
$langs->load("main");
$langs->load("bills");
$langs->load("products");
- $fac = new Facture($this->db,"",$facid);
- $fac->fetch($facid);
- if (defined("FAC_OUTPUTDIR"))
+ if ($conf->facture->dir_output)
{
+ $fac = new Facture($this->db,"",$facid);
+ $fac->fetch($facid);
- $forbidden_chars=array("/","\\",":","*","?","\"","<",">","|","[","]",",",";","=");
- $facref = str_replace($forbidden_chars,"_",$fac->ref);
- $dir = FAC_OUTPUTDIR . "/" . $facref . "/" ;
- $file = $dir . $facref . ".pdf";
+ $forbidden_chars=array("/","\\",":","*","?","\"","<",">","|","[","]",",",";","=");
+ $facref = str_replace($forbidden_chars,"_",$fac->ref);
+ $dir = $conf->facture->dir_output . "/" . $facref;
+ $file = $dir . "/" . $facref . ".pdf";
if (! file_exists($dir))
{
diff --git a/htdocs/includes/modules/facture/pdf_tourteau.modules.php b/htdocs/includes/modules/facture/pdf_tourteau.modules.php
index eaa5910e721..adc8f549979 100644
--- a/htdocs/includes/modules/facture/pdf_tourteau.modules.php
+++ b/htdocs/includes/modules/facture/pdf_tourteau.modules.php
@@ -45,15 +45,19 @@ class pdf_tourteau extends ModelePDFFactures {
function write_pdf_file($facid)
{
global $user;
+ global $langs;
+ $langs->load("main");
+ $langs->load("bills");
+ $langs->load("products");
+
$fac = new Facture($this->db,"",$facid);
$fac->fetch($facid);
-
- if (defined("FAC_OUTPUTDIR"))
+ if ($conf->facture->dir_output)
{
$forbidden_chars=array("/","\\",":","*","?","\"","<",">","|","[","]",",",";","=");
$facref = str_replace($forbidden_chars,"_",$fac->ref);
- $dir = FAC_OUTPUTDIR . "/" . $facref . "/" ;
+ $dir = $conf->facture->dir_output . "/" . $facref . "/" ;
$file = $dir . $facref . ".pdf";
if (! file_exists($dir))
@@ -61,14 +65,14 @@ class pdf_tourteau extends ModelePDFFactures {
umask(0);
if (! mkdir($dir, 0755))
{
- $this->error="Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
+ $this->error=$langs->trans("ErrorCanNotCreateDir",$dir);
return 0;
}
}
if (file_exists($dir))
{
-
+ // Initialisation facture vierge
$pdf=new FPDF('P','mm','A4');
$pdf->Open();
$pdf->AddPage();
@@ -76,7 +80,7 @@ class pdf_tourteau extends ModelePDFFactures {
$this->_pagehead($pdf, $fac);
$pdf->SetTitle($fac->ref);
- $pdf->SetSubject("Facture");
+ $pdf->SetSubject($langs->trans("Bill"));
$pdf->SetCreator("Dolibarr ".DOL_VERSION);
$pdf->SetAuthor($user->fullname);