From 1b140670104bdfa344c1db728f8b85241c74fea8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@users.sourceforge.net> Date: Thu, 23 Dec 2004 18:28:58 +0000 Subject: [PATCH] =?UTF-8?q?Fix:=20Uniformisation=20du=20r=E9pertoire=20de?= =?UTF-8?q?=20g=E9n=E9ration=20des=20factures.=20De=20plus=20la=20cr=E9ati?= =?UTF-8?q?on=20du=20fichier=20meta=20est=20inclus=20dans=20la=20cr=E9atio?= =?UTF-8?q?n=20de=20la=20facture.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/compta/facture.php | 23 +++++------ .../modules/facture/modules_facture.php | 39 ++++++++++++------- .../modules/facture/pdf_adytek.modules.php | 17 +++++--- .../modules/facture/pdf_bernique.modules.php | 15 ++++--- .../modules/facture/pdf_bigorneau.modules.php | 16 +++++--- .../modules/facture/pdf_bulot.modules.php | 15 ++++--- .../modules/facture/pdf_crabe.modules.php | 19 +++++---- .../modules/facture/pdf_tourteau.modules.php | 16 +++++--- 8 files changed, 94 insertions(+), 66 deletions(-) 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 '<table class="noborder" cellspacing="0" cellpadding="2">'; + print '<table class="noborder">'; print '<tr><td>Services/Produits pr�d�finis</td><td>'.$langs->trans("Qty").'</td><td>'.$langs->trans("Discount").'</td><td> </td>'; if ($conf->service->enabled) { print '<td>Si produit de type service � dur�e limit�e</td></tr>'; @@ -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 '<table class="noborder" width="100%" cellspacing="0" cellpadding="3">'; + print '<table class="noborder" width="100%">'; print '<tr class="liste_titre"><td>'.$langs->trans("Ref").'</td><td>Produit</td>'; print '<td align="right">'.$langs->trans("Price").'</td><td align="center">Remise</td><td align="center">Qt�.</td></tr>'; @@ -710,7 +708,7 @@ if ($_GET["action"] == 'create') } else { - print $sql; + dolibarr_print_error($db); } print '</table>'; @@ -753,7 +751,7 @@ if ($_GET["action"] == 'create') } else { - print $sql; + dolibarr_print_error($db); } print '</table>'; @@ -1068,7 +1066,6 @@ else } $db->free(); - // print "</table>"; } else { @@ -1148,7 +1145,7 @@ else } } } - print " <a class=\"tabAction\" href=\"facture.php?facid=$fac->id&action=pdf\">".$langs->trans("RebuildPDF")."</a>\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 "<table width=\"100%\" cellspacing=2><tr><td width=\"50%\" valign=\"top\">"; @@ -1226,7 +1223,7 @@ else print '</tr>'; - $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); -- GitLab