Fix message import dialog (#1489685):
- Display alert if no file is chosen
- Unlock the UI if form is not submitted
- Avoid duplicate error messages
- Fix javascript error due to missing attachments list widget
| | |
| | | |
| | | 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': |
| | |
| | | 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 |
| | |
| | | |
| | | 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) |
| | |
| | | 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); |
| | |
| | | $content); |
| | | |
| | | $RCMAIL->output->add_gui_object('importform', $attrib['id'].'Frm'); |
| | | $RCMAIL->output->add_label('selectimportfile','importwait'); |
| | | |
| | | return html::div($attrib, $out); |
| | | } |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | while ($line !== false && trim($line) == ''); |
| | | |
| | | if (!preg_match('/^From\s+-/', $line) && !preg_match('/^[a-z-_]+:\s+.+/i', $line)) { |
| | | $OUTPUT->show_message('importmessageerror', 'error'); |
| | | continue; |
| | | } |
| | | |