From ab8199f71aa00a2e4b32d7130f84c2a2f877fa00 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 11 Oct 2019 11:38:49 +0200 Subject: [PATCH] Fix avoid deletion of file if we still need it --- htdocs/admin/company.php | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index 9da2e550501..46bd2352b46 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -321,25 +321,43 @@ if ($action == 'removelogo' || $action == 'removelogosquarred') require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $logofilename = $mysoc->logo; - if ($action == 'removelogosquarred') $logofilename = $mysoc->logo_squarred; + $logofilenamebis = $mysoc->logo_squarred; + if ($action == 'removelogosquarred') + { + $logofilename = $mysoc->logo_squarred; + $logofilenamebis = $mysoc->logo; + } + $logofile=$conf->mycompany->dir_output.'/logos/'.$logofilename; - if ($logofilename != '') dol_delete_file($logofile); + if ($logofilename != '' && $logofilename != $logofilenamebis) dol_delete_file($logofile); dolibarr_del_const($db, $constant, $conf->entity); if ($action == 'removelogosquarred') $mysoc->logo_squarred=''; else $mysoc->logo=''; $logofilename = $mysoc->logo_small; - if ($action == 'removelogosquarred') $logofilename = $mysoc->logo_squarred_small; + $logofilenamebis = $mysoc->logo_squarred_small; + if ($action == 'removelogosquarred') + { + $logofilename = $mysoc->logo_squarred_small; + $logofilenamebis = $mysoc->logo_small; + } + $logosmallfile=$conf->mycompany->dir_output.'/logos/thumbs/'.$logofilename; - if ($logofilename != '') dol_delete_file($logosmallfile); + if ($logofilename != '' && $logofilename != $logofilenamebis) dol_delete_file($logosmallfile); dolibarr_del_const($db, $constant."_SMALL", $conf->entity); if ($action == 'removelogosquarred') $mysoc->logo_squarred_small=''; else $mysoc->logo_small=''; $logofilename = $mysoc->logo_mini; - if ($action == 'removelogosquarred') $logofilename = $mysoc->logo_squarred_mini; + $logofilenamebis = $mysoc->logo_squarred_mini; + if ($action == 'removelogosquarred') + { + $logofilename = $mysoc->logo_squarred_mini; + $logofilenamebis = $mysoc->logo_mini; + } + $logominifile=$conf->mycompany->dir_output.'/logos/thumbs/'.$logofilename; - if ($logofilename != '') dol_delete_file($logominifile); + if ($logofilename != '' && $logofilename != $logofilenamebis) dol_delete_file($logominifile); dolibarr_del_const($db, $constant."_MINI", $conf->entity); if ($action == 'removelogosquarred') $mysoc->logo_squarred_mini=''; else $mysoc->logo_mini='';