Fixed error in attachments edition resulting in unexpected attachment file deletion...
authorJanusz Dobrowolski <janusz@frontaccouting.eu>
Fri, 30 Nov 2012 13:17:58 +0000 (14:17 +0100)
committerJanusz Dobrowolski <janusz@frontaccouting.eu>
Fri, 30 Nov 2012 13:17:58 +0000 (14:17 +0100)
admin/attachments.php

index b75c58bf280fa5c5bffe9ec735eb268446f4787a..b34cbe33675eb8c23c0103d88bd102967980ea79 100644 (file)
@@ -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';
 }