From 3dd813441cccef5dc1fe245a245b99d89020b55d Mon Sep 17 00:00:00 2001 From: Janusz Dobrowolski Date: Fri, 30 Nov 2012 14:17:58 +0100 Subject: [PATCH] Fixed error in attachments edition resulting in unexpected attachment file deletion, fixed attachments list update after change. --- admin/attachments.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/admin/attachments.php b/admin/attachments.php index b75c58bf..b34cbe33 100644 --- a/admin/attachments.php +++ b/admin/attachments.php @@ -98,22 +98,24 @@ if ($Mode == 'ADD_ITEM' || $Mode == 'UPDATE_ITEM') fwrite($fp, $index_file); fclose($fp); } + + $filename = basename($_FILES['filename']['name']); + $filesize = $_FILES['filename']['size']; + $filetype = $_FILES['filename']['type']; + // file name compatible with POSIX // protect against directory traversal if ($Mode == 'UPDATE_ITEM') { $unique_name = preg_replace('/[^a-zA-Z0-9.\-_]/', '', $_POST['unique_name']); - if ($Mode == 'UPDATE_ITEM' && file_exists($dir."/".$unique_name)) + if ($filename && file_exists($dir."/".$unique_name)) unlink($dir."/".$unique_name); } else $unique_name = uniqid(''); - move_uploaded_file($tmpname, $dir."/".$unique_name); //save the file - $filename = basename($_FILES['filename']['name']); - $filesize = $_FILES['filename']['size']; - $filetype = $_FILES['filename']['type']; + move_uploaded_file($tmpname, $dir."/".$unique_name); if ($Mode == 'ADD_ITEM') { @@ -128,6 +130,8 @@ if ($Mode == 'ADD_ITEM' || $Mode == 'UPDATE_ITEM') display_notification(_("Attachment has been updated.")); } } + refresh_pager('trans_table'); + $Ajax->activate('_page_body'); $Mode = 'RESET'; } -- 2.30.2