From 271c5c976433c8318510ab16071dd3fa4cfe87c0 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Mon, 19 Nov 2012 13:43:43 +0100 Subject: Correctly handle multiple file uploads (#1488820) --- program/steps/mail/attachments.inc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'program/steps/mail/attachments.inc') diff --git a/program/steps/mail/attachments.inc b/program/steps/mail/attachments.inc index 21a9f5b99..180fc0bb9 100644 --- a/program/steps/mail/attachments.inc +++ b/program/steps/mail/attachments.inc @@ -89,6 +89,8 @@ $OUTPUT->reset(); $uploadid = get_input_value('_uploadid', RCUBE_INPUT_GET); if (is_array($_FILES['_attachments']['tmp_name'])) { + $multiple = count($_FILES['_attachments']['tmp_name']) > 1; + foreach ($_FILES['_attachments']['tmp_name'] as $i => $filepath) { // Process uploaded attachment if there is no error $err = $_FILES['_attachments']['error'][$i]; @@ -149,8 +151,10 @@ if (is_array($_FILES['_attachments']['tmp_name'])) { $msg = rcube_label('fileuploaderror'); } - $OUTPUT->command('display_message', $msg, 'error'); - $OUTPUT->command('remove_from_attachment_list', $uploadid); + if ($attachment['error'] || $err != UPLOAD_ERR_NO_FILE) { + $OUTPUT->command('display_message', $msg, 'error'); + $OUTPUT->command('remove_from_attachment_list', $uploadid); + } } } } -- cgit v1.2.3