From 4ac423cac5d5b77d7a47fdd355ecc300e52c2683 Mon Sep 17 00:00:00 2001 From: erics Date: Wed, 22 Dec 2004 20:28:47 +0000 Subject: [PATCH] =?UTF-8?q?ajout=20d'un=20fichier=20de=20meta=20donn=C3=A9?= =?UTF-8?q?es=20a=20cot=C3=A9=20des=20pdf=20pour=20recherche=20rapide=20gr?= =?UTF-8?q?ep=20etc.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/facture/modules_facture.php | 55 ++++++++++++++++++- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/htdocs/includes/modules/facture/modules_facture.php b/htdocs/includes/modules/facture/modules_facture.php index a34e7e88ab0..373b3ede9fb 100644 --- a/htdocs/includes/modules/facture/modules_facture.php +++ b/htdocs/includes/modules/facture/modules_facture.php @@ -1,6 +1,7 @@ * Copyright (C) 2004 Laurent Destailleur + * Copyright (C) 2004 Eric Seigne * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -93,9 +94,9 @@ class ModeleNumRefFactures /*! - \brief Crée un facture sur disque en fonction du modèle de FACTURE_ADDON_PDF - \param db objet base de donnée - \param facid id de la facture à créer + \brief Crée un facture sur disque en fonction du modèle de FACTURE_ADDON_PDF + \param db objet base de donnée + \param facid id de la facture à créer */ function facture_pdf_create($db, $facid, $message="") { @@ -134,6 +135,54 @@ 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 +*/ +function facture_meta_create($db, $facid, $message="") +{ + $fac = new Facture($db,"",$facid); + $fac->fetch($facid); + $fac->fetch_client(); + if (defined("FAC_OUTPUTDIR")) + { + $dir = FAC_OUTPUTDIR . "/" . $fac->ref . "/" ; + $file = $dir . $fac->ref . ".meta"; + if (! file_exists($dir)) + { + umask(0); + if (! mkdir($dir, 0755)) + { + print "Impossible de créer $dir !"; + } + } + if (file_exists($dir)) + { + $nblignes = sizeof($fac->lignes); + $client = $fac->client->nom . " " . $fac->client->adresse . " " . $fac->client->cp . " " . $fac->client->ville; + $meta = "REFERENCE=\"" . $fac->ref . "\" +DATE=\"" . strftime("%d/%m/%Y",$fac->date) . "\" +NB_ITEMS=\"" . $nblignes . "\" +CLIENT=\"" . $client . "\" +TOTAL_HT=\"" . $fac->total_ht . "\" +TOTAL_TTC=\"" . $fac->total_ttc . "\"\n"; + + for ($i = 0 ; $i < $nblignes ; $i++) { + //Pour les articles + $meta .= "ITEM_" . $i . "_QUANTITY=\"" . $fac->lignes[$i]->qty . "\" +ITEM_" . $i . "_UNIT_PRICE=\"" . $fac->lignes[$i]->price . "\" +ITEM_" . $i . "_TVA=\"" .$fac->lignes[$i]->tva_taux . "\" +ITEM_" . $i . "_DESCRIPTION=\"" . str_replace("\r\n","",nl2br($fac->lignes[$i]->desc)) . "\" +"; + } + } + $fp = fopen ($file,"w"); + fputs($fp,$meta); + fclose($fp); + } +} + /*! \brief Renvoie la référence de facture suivante non utilisée en fonction du module