diff --git a/htdocs/includes/modules/facture/modules_facture.php b/htdocs/includes/modules/facture/modules_facture.php index 6c7aadb7905..2b57f74f104 100644 --- a/htdocs/includes/modules/facture/modules_facture.php +++ b/htdocs/includes/modules/facture/modules_facture.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004 Laurent Destailleur * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2005 Regis Houssin * * 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 @@ -123,6 +124,10 @@ function facture_pdf_create($db, $facid, $message="") { // Succès de la création de la facture. On génère le fichier meta facture_meta_create($db, $facid); + + // et on supprime l'image correspondant au preview + facture_delete_preview($db, $facid); + return 1; } else @@ -225,15 +230,15 @@ function facture_get_num($soc, $prefixe_additionnel='') $numref = $obj->getNumRef($soc, $prefixe_additionnel); if ( $numref != "") - { - return $numref; - } + { + return $numref; + } else - { - dolibarr_syslog("Erreur dans facture_get_num"); - dolibarr_print_error($db,$obj->numreferror()); - return ""; - } + { + dolibarr_syslog("Erreur dans facture_get_num"); + dolibarr_print_error($db,$obj->numreferror()); + return ""; + } } else { @@ -242,4 +247,34 @@ function facture_get_num($soc, $prefixe_additionnel='') } } +/** + \brief Supprime l'image de prévisualitation, pour le cas de régénération de facture + \param db objet base de donnée + \param facid id de la facture à créer +*/ +function facture_delete_preview($db, $facid) +{ + global $langs,$conf; + + $fac = new Facture($db,"",$facid); + $fac->fetch($facid); + $fac->fetch_client(); + + if ($conf->facture->dir_output) + { + $facref = sanitize_string($fac->ref); + $dir = $conf->facture->dir_output . "/" . $facref ; + $file = $dir . "/" . $facref . ".pdf.png"; + + if ( file_exists( $file ) && is_writable( $file ) ) + { + if ( ! unlink($file) ) + { + $this->error=$langs->trans("ErrorFailedToOpenFile",$file); + return 0; + } + } + } +} + ?>