From 33827f271fb47d8319f6cc3fee7717869ab44fce Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Mon, 30 Jul 2007 09:38:55 +0000 Subject: [PATCH] =?UTF-8?q?Fix:=20on=20supprime=20l'image=20d'origine=20et?= =?UTF-8?q?=20la=20vignette=20Fix:=20on=20v=E9rifie=20si=20le=20chemin=20d?= =?UTF-8?q?u=20fichier=20local=20est=20renseign=E9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/product.class.php | 19 +++++++++++++++++++ htdocs/product/photos.php | 12 ++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/htdocs/product.class.php b/htdocs/product.class.php index ddc8b355e7d..bbc53459bfc 100644 --- a/htdocs/product.class.php +++ b/htdocs/product.class.php @@ -2338,6 +2338,25 @@ class Product return $tabobj; } + /** + * \brief Efface la photo du produit et sa vignette + * \param file Chemin de l'image + */ + function delete_photo($file) + { + // On efface l'image d'origine + unlink($file); + + // Si elle existe, on efface la vignette + if (eregi('(\.jpg|\.bmp|\.gif|\.png|\.tiff)$',$file,$regs)) + { + $photo_vignette=eregi_replace($regs[0],'',$file).'_small'.$regs[0]; + if (file_exists($photo_vignette)) + { + unlink($photo_vignette); + } + } + } /** * \brief Charge indicateurs this->nb de tableau de bord diff --git a/htdocs/product/photos.php b/htdocs/product/photos.php index d5b49e8b053..8dc9fe419db 100644 --- a/htdocs/product/photos.php +++ b/htdocs/product/photos.php @@ -49,7 +49,7 @@ if (!$user->rights->produit->lire) accessforbidden(); * Actions */ -if ($_POST["sendit"] && $conf->upload != 0) +if ($_FILES['userfile']['size'] > 0 && $_POST["sendit"] && $conf->upload != 0) { if ($_GET["id"]) { @@ -66,7 +66,8 @@ if ($_POST["sendit"] && $conf->upload != 0) if ($_GET["action"] == 'delete' && $_GET["file"]) { - unlink($conf->produit->dir_output."/".$_GET["file"]); + $product = new Product($db); + $product->delete_photo($conf->produit->dir_output."/".$_GET["file"]); } @@ -181,19 +182,22 @@ if ($_GET["id"] || $_GET["ref"]) if ($obj['photo_vignette']) { $filename=$obj['photo_vignette']; - $viewfilename=$obj['photo']; } else { $filename=$obj['photo']; } + + // Nom affiché + $viewfilename=$obj['photo']; + print ''; print ''; print '
'.$langs->trans("File").': '.dolibarr_trunc($viewfilename,16); if ($user->rights->produit->creer) { - print '
'.''.img_delete().''; + print '
'.''.img_delete().''; } if ($nbbyrow) print ''; if ($nbbyrow && ($nbphoto % $nbbyrow == 0)) print '';