diff --git a/bug_file_add.php b/bug_file_add.php index 959b038e2e..a7b50e85b1 100644 --- a/bug_file_add.php +++ b/bug_file_add.php @@ -25,14 +25,14 @@ /** * MantisBT Core API's */ - require_once( 'core.php' ); + require_once( 'core.php' ); require_once( 'file_api.php' ); - $f_bug_id = gpc_get_int( 'bug_id', -1 ); - $f_file = gpc_get_file( 'file', -1 ); + $f_bug_id = gpc_get_int( 'bug_id', -1 ); + $f_files = gpc_get_file( 'ufile', -1 ); - if ( $f_bug_id == -1 && $f_file == -1 ) { + if ( $f_bug_id == -1 && $f_files == -1 ) { # _POST/_FILES does not seem to get populated if you exceed size limit so check if bug_id is -1 trigger_error( ERROR_FILE_TOO_BIG, ERROR ); } @@ -52,7 +52,18 @@ access_ensure_bug_level( config_get( 'upload_bug_file_threshold' ), $f_bug_id ); - file_add( $f_bug_id, $f_file, 'bug' ); + // Process array of files to upload + for( $i = 0; $i < count( $f_files ); $i++ ) { + if( !empty( $f_files['name'][$i] ) ) { + $t_file['name'] = $f_files['name'][$i]; + $t_file['tmp_name'] = $f_files['tmp_name'][$i]; + $t_file['type'] = $f_files['type'][$i]; + $t_file['error'] = $f_files['error'][$i]; + $t_file['size'] = $f_files['size'][$i]; + + file_add( $f_bug_id, $t_file, 'bug' ); + } + } form_security_purge( 'bug_file_add' ); diff --git a/bug_file_upload_inc.php b/bug_file_upload_inc.php index 117d897708..5b946540d9 100644 --- a/bug_file_upload_inc.php +++ b/bug_file_upload_inc.php @@ -56,7 +56,18 @@ - + + + 1 ) { + echo '
'; + } + } +?> diff --git a/config_defaults_inc.php b/config_defaults_inc.php index 8c5df3dfdd..2d016104e0 100644 --- a/config_defaults_inc.php +++ b/config_defaults_inc.php @@ -1567,6 +1567,12 @@ */ $g_file_upload_ftp_pass = 'readwritepass'; + /** + * Maximum number of files that can be uploaded simultaneously + * @global int $g_file_upload_max_num + */ + $g_file_upload_max_num = 1; + /** * Maximum file size that can be uploaded * Also check your PHP settings (default is usually 2MBs)