Fix: on supprime l'image d'origine et la vignette

Fix: on vrifie si le chemin du fichier local est renseign
This commit is contained in:
Regis Houssin 2007-07-30 09:38:55 +00:00
parent 97fdd81283
commit 33827f271f
2 changed files with 27 additions and 4 deletions

View File

@ -2338,6 +2338,25 @@ class Product
return $tabobj; 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 * \brief Charge indicateurs this->nb de tableau de bord

View File

@ -49,7 +49,7 @@ if (!$user->rights->produit->lire) accessforbidden();
* Actions * Actions
*/ */
if ($_POST["sendit"] && $conf->upload != 0) if ($_FILES['userfile']['size'] > 0 && $_POST["sendit"] && $conf->upload != 0)
{ {
if ($_GET["id"]) if ($_GET["id"])
{ {
@ -66,7 +66,8 @@ if ($_POST["sendit"] && $conf->upload != 0)
if ($_GET["action"] == 'delete' && $_GET["file"]) 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']) if ($obj['photo_vignette'])
{ {
$filename=$obj['photo_vignette']; $filename=$obj['photo_vignette'];
$viewfilename=$obj['photo'];
} }
else else
{ {
$filename=$obj['photo']; $filename=$obj['photo'];
} }
// Nom affiché
$viewfilename=$obj['photo'];
print '<img border="0" height="120" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=product&file='.urlencode($pdir.$filename).'">'; print '<img border="0" height="120" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=product&file='.urlencode($pdir.$filename).'">';
print '</a>'; print '</a>';
print '<br>'.$langs->trans("File").': '.dolibarr_trunc($viewfilename,16); print '<br>'.$langs->trans("File").': '.dolibarr_trunc($viewfilename,16);
if ($user->rights->produit->creer) if ($user->rights->produit->creer)
{ {
print '<br>'.'<a href="'.$_SERVER["PHP_SELF"].'?id='.$_GET["id"].'&amp;action=delete&amp;file='.urlencode($pdir.$filename).'">'.img_delete().'</a>'; print '<br>'.'<a href="'.$_SERVER["PHP_SELF"].'?id='.$_GET["id"].'&amp;action=delete&amp;file='.urlencode($pdir.$viewfilename).'">'.img_delete().'</a>';
} }
if ($nbbyrow) print '</td>'; if ($nbbyrow) print '</td>';
if ($nbbyrow && ($nbphoto % $nbbyrow == 0)) print '</tr>'; if ($nbbyrow && ($nbphoto % $nbbyrow == 0)) print '</tr>';