Fix: Uniformisation du rpertoire de gnration des factures. De plus la cration du fichier meta est inclus dans la cration de la facture.
This commit is contained in:
parent
0d9d363b51
commit
1b14067010
@ -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)
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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))
|
||||
{
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user