From cba902c5ae4bb19c53831abfa0ee8e67de4c27bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 7 Jul 2015 09:40:23 +0200 Subject: [PATCH] Fix: [ bug #3055 ] Product image thumbnails were not deleted after deleting the image Close #3055 --- ChangeLog | 1 + htdocs/core/lib/files.lib.php | 1 - .../tpl/document_actions_pre_headers.tpl.php | 21 +++++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 28b663e99b3..0002ce6b3fa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,7 @@ make a Dolibarr upgrade. FIX [ bug #2855 ] Wrong translation key in localtax report page FIX [ bug #1852 ] JS error when editing a customer order line FIX [ bug #2900 ] Courtesy title is not stored in create thirdparty form +FIX [ bug #3055 ] Product image thumbnails were not deleted after deleting the image ***** ChangeLog for 3.7.1 compared to 3.7.* ***** FIX Bug in the new photo system diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index 4b9e7eb520f..c92d5ab4f25 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -387,7 +387,6 @@ function dol_is_url($url) return false; } - /** * Test if a folder is empty * diff --git a/htdocs/core/tpl/document_actions_pre_headers.tpl.php b/htdocs/core/tpl/document_actions_pre_headers.tpl.php index 36b6ce75fe1..6f8c4782ddc 100644 --- a/htdocs/core/tpl/document_actions_pre_headers.tpl.php +++ b/htdocs/core/tpl/document_actions_pre_headers.tpl.php @@ -1,5 +1,6 @@ + * Copyright (C) 2015 Marcos García * * 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 @@ -58,7 +59,27 @@ if ($action == 'confirm_deletefile' && $confirm == 'yes') if ($urlfile) { + $dir = dirname($file).'/'; // Chemin du dossier contenant l'image d'origine + $dirthumb = $dir.'/thumbs/'; // Chemin du dossier contenant la vignette + $ret = dol_delete_file($file, 0, 0, 0, $object); + + // Si elle existe, on efface la vignette + 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) { setEventMessage($langs->trans("FileWasRemoved", $urlfile)); } else {