rerun of bug 5232 fix.
[fa-stable.git] / admin / attachments.php
index b96f3e4e65b0300a80398db4769dd17d67bbb73b..7e6ba95545251f3ddb379ce47e46652369ab6897 100644 (file)
@@ -80,17 +80,22 @@ if (isset($_GET['trans_no']))
 if ($Mode == 'ADD_ITEM' || $Mode == 'UPDATE_ITEM')
 {
        
+       $filename = basename($_FILES['filename']['name']);
        if (!transaction_exists($_POST['filterType'], $_POST['trans_no']))
                display_error(_("Selected transaction does not exists."));
-       elseif ($Mode == 'ADD_ITEM' && !isset($_FILES['filename']))
+       elseif ($Mode == 'ADD_ITEM' && !in_array(strtoupper(substr($filename, strlen($filename) - 3)), array('JPG','PNG','GIF', 'PDF', 'DOC', 'ODT')))
+       {
+               display_error(_('Only graphics,pdf,doc and odt files are supported.'));
+       } elseif ($Mode == 'ADD_ITEM' && !isset($_FILES['filename']))
                display_error(_("Select attachment file."));
        elseif ($Mode == 'ADD_ITEM' && ($_FILES['filename']['error'] > 0)) {
        if ($_FILES['filename']['error'] == UPLOAD_ERR_INI_SIZE) 
                        display_error(_("The file size is over the maximum allowed."));
        else
                        display_error(_("Select attachment file."));
-       }
-       else {
+       } elseif ( strlen($filename) > 60) {
+               display_error(_("File name exceeds maximum of 60 chars. Please change filename and try again."));
+       } else {
                //$content = base64_encode(file_get_contents($_FILES['filename']['tmp_name']));
                $tmpname = $_FILES['filename']['tmp_name'];
 
@@ -104,7 +109,6 @@ if ($Mode == 'ADD_ITEM' || $Mode == 'UPDATE_ITEM')
                        fclose($fp);
                }
 
-               $filename = basename($_FILES['filename']['name']);
                $filesize = $_FILES['filename']['size'];
                $filetype = $_FILES['filename']['type'];