bug image delete

Remove linked image from card.php (section builddoc) dont remove the thumbs of image file
This commit is contained in:
fr69400 2021-09-03 14:18:44 +02:00
parent 3336b5c405
commit a89a6b6343
2 changed files with 28 additions and 14 deletions

View File

@ -127,8 +127,23 @@ if ($action == 'remove_file' && $permissiontoadd) {
$langs->load("other");
$filetodelete = GETPOST('file', 'alpha');
$file = $upload_dir.'/'.$filetodelete;
$dirthumb = dirname($file).'/thumbs/'; // Chemin du dossier contenant la vignette (if file is an image)
$ret = dol_delete_file($file, 0, 0, 0, $object);
if ($ret) {
// If it exists, remove thumb.
$regs = array();
if (preg_match('/(\.jpg|\.jpeg|\.bmp|\.gif|\.png|\.tiff)$/i', $file, $regs)) {
$photo_vignette = basename(preg_replace('/'.$regs[0].'/i', '', $file).'_small'.$regs[0]);
if (file_exists(dol_osencode($dirthumb.$photo_vignette))) {
dol_delete_file($dirthumb.$photo_vignette);
}
$photo_vignette = basename(preg_replace('/'.$regs[0].'/i', '', $file).'_mini'.$regs[0]);
if (file_exists(dol_osencode($dirthumb.$photo_vignette))) {
dol_delete_file($dirthumb.$photo_vignette);
}
}
setEventMessages($langs->trans("FileWasRemoved", $filetodelete), null, 'mesgs');
} else {
setEventMessages($langs->trans("ErrorFailToDeleteFile", $filetodelete), null, 'errors');

View File

@ -112,21 +112,20 @@ if ($action == 'confirm_deletefile' && $confirm == 'yes' && (!isset($permissiont
dol_delete_file($fileold, 0, 0, 0, (is_object($object) ? $object : null)); // Delete file using old path
}
// If it exists, remove thumb.
$regs = array();
if (preg_match('/(\.jpg|\.jpeg|\.bmp|\.gif|\.png|\.tiff)$/i', $file, $regs)) {
$photo_vignette = basename(preg_replace('/'.$regs[0].'/i', '', $file).'_small'.$regs[0]);
if (file_exists(dol_osencode($dirthumb.$photo_vignette))) {
dol_delete_file($dirthumb.$photo_vignette);
}
$photo_vignette = basename(preg_replace('/'.$regs[0].'/i', '', $file).'_mini'.$regs[0]);
if (file_exists(dol_osencode($dirthumb.$photo_vignette))) {
dol_delete_file($dirthumb.$photo_vignette);
}
}
if ($ret) {
// If it exists, remove thumb.
$regs = array();
if (preg_match('/(\.jpg|\.jpeg|\.bmp|\.gif|\.png|\.tiff)$/i', $file, $regs)) {
$photo_vignette = basename(preg_replace('/'.$regs[0].'/i', '', $file).'_small'.$regs[0]);
if (file_exists(dol_osencode($dirthumb.$photo_vignette))) {
dol_delete_file($dirthumb.$photo_vignette);
}
$photo_vignette = basename(preg_replace('/'.$regs[0].'/i', '', $file).'_mini'.$regs[0]);
if (file_exists(dol_osencode($dirthumb.$photo_vignette))) {
dol_delete_file($dirthumb.$photo_vignette);
}
}
setEventMessages($langs->trans("FileWasRemoved", $urlfile), null, 'mesgs');
} else {
setEventMessages($langs->trans("ErrorFailToDeleteFile", $urlfile), null, 'errors');