summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG2
-rw-r--r--program/js/app.js22
-rw-r--r--program/steps/mail/func.inc3
-rw-r--r--program/steps/mail/import.inc2
-rw-r--r--program/steps/mail/search.inc1
5 files changed, 20 insertions, 10 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 38204fc5f..240e046e3 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,8 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix message import dialog when no file is selected (#1489685)
+- Fix opening compose screen in new window after saving as draft (#1489643)
- Added toolbar button to move message in message view
- Improve UI integration of ACL settings
- Fix directories check in Installer on Windows (#1489576)
diff --git a/program/js/app.js b/program/js/app.js
index 790a6b076..ce87fdf20 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -1177,8 +1177,12 @@ function rcube_webmail()
case 'import-messages':
var form = props || this.gui_objects.importform;
- $('input[name="_unlock"]', form).val(this.set_busy(true, 'importwait'));
- this.upload_file(form, 'import');
+ var importlock = this.set_busy(true, 'importwait');
+ $('input[name="_unlock"]', form).val(importlock);
+ if (!this.upload_file(form, 'import')) {
+ this.set_busy(false, null, importlock);
+ alert(this.get_label('selectimportfile'));
+ }
break;
case 'import':
@@ -4015,11 +4019,13 @@ function rcube_webmail()
if (this.env.upload_progress_time) {
this.upload_progress_start('upload', ts);
}
+
+ // set reference to the form object
+ this.gui_objects.attachmentform = form;
+ return true;
}
- // set reference to the form object
- this.gui_objects.attachmentform = form;
- return true;
+ return false;
};
// add file name to attachment list
@@ -4061,8 +4067,10 @@ function rcube_webmail()
this.remove_from_attachment_list = function(name)
{
- delete this.env.attachments[name];
- $('#'+name).remove();
+ if (this.env.attachments) {
+ delete this.env.attachments[name];
+ $('#'+name).remove();
+ }
};
this.remove_attachment = function(name)
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index aa41d6a0b..072ee716c 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -124,7 +124,7 @@ if (empty($RCMAIL->action) || $RCMAIL->action == 'list') {
if (!$OUTPUT->ajax_call) {
$OUTPUT->add_label('checkingmail', 'deletemessage', 'movemessagetotrash',
'movingmessage', 'copyingmessage', 'deletingmessage', 'markingmessage',
- 'copy', 'move', 'quota', 'replyall', 'replylist', 'importwait');
+ 'copy', 'move', 'quota', 'replyall', 'replylist');
}
$pagetitle = $RCMAIL->localize_foldername($RCMAIL->storage->mod_folder($mbox_name), true);
@@ -2070,6 +2070,7 @@ function rcmail_message_import_form($attrib = array())
$content);
$RCMAIL->output->add_gui_object('importform', $attrib['id'].'Frm');
+ $RCMAIL->output->add_label('selectimportfile','importwait');
return html::div($attrib, $out);
}
diff --git a/program/steps/mail/import.inc b/program/steps/mail/import.inc
index 4f822e0e4..5a74feb9f 100644
--- a/program/steps/mail/import.inc
+++ b/program/steps/mail/import.inc
@@ -34,7 +34,6 @@ if (is_array($_FILES['_file'])) {
list($mtype_primary,) = explode('/', rcube_mime::file_content_type($filepath, $_FILES['_file']['name'][$i], $_FILES['_file']['type'][$i]));
if (!in_array($mtype_primary, array('text','message'))) {
- $OUTPUT->show_message('importmessageerror', 'error');
continue;
}
@@ -46,7 +45,6 @@ if (is_array($_FILES['_file'])) {
while ($line !== false && trim($line) == '');
if (!preg_match('/^From\s+-/', $line) && !preg_match('/^[a-z-_]+:\s+.+/i', $line)) {
- $OUTPUT->show_message('importmessageerror', 'error');
continue;
}
diff --git a/program/steps/mail/search.inc b/program/steps/mail/search.inc
index a80887254..ba8b124a3 100644
--- a/program/steps/mail/search.inc
+++ b/program/steps/mail/search.inc
@@ -37,6 +37,7 @@ $filter = rcube_utils::get_input_value('_filter', rcube_utils::INPUT_GET);
$headers = rcube_utils::get_input_value('_headers', rcube_utils::INPUT_GET);
$subject = array();
+$filter = trim($filter);
$search_request = md5($mbox.$filter.$str);
// add list filter string