Compare draft message-ID when restoring local message contents

pull/155/head
Thomas Bruederli 11 years ago
parent 7bfc02e122
commit ceb2a31b38

@ -3131,13 +3131,20 @@ function rcube_webmail()
for (var key, i = 0; i < index.length; i++) {
key = index[i], formdata = this.local_storage_get_item('compose.' + key, null, true);
if (!formdata) {
continue;
}
// restore saved copy of current compose_id
if (formdata && formdata.changed && key == this.env.compose_id) {
if (formdata.changed && key == this.env.compose_id) {
this.restore_compose_form(key, html_mode);
break;
}
// skip records from 'other' drafts
if (this.env.draft_id && formdata.draft_id && formdata.draft_id != this.env.draft_id) {
continue;
}
// show dialog asking to restore the message
if (formdata && formdata.changed && formdata.session != this.env.session_id) {
if (formdata.changed && formdata.session != this.env.session_id) {
this.show_popup_dialog(
this.get_label('restoresavedcomposedata')
.replace('$date', new Date(formdata.changed).toLocaleString())
@ -3671,6 +3678,10 @@ function rcube_webmail()
tinyMCE.triggerSave();
}
if (this.env.draft_id) {
formdata.draft_id = this.env.draft_id;
}
$('input, select, textarea', this.gui_objects.messageform).each(function(i, elem){
switch (elem.tagName.toLowerCase()) {
case 'input':

@ -240,6 +240,9 @@ if (!empty($msg_uid) && empty($COMPOSE['as_attachment']))
$COMPOSE['reply_msgid'] = '<' . $in_reply_to . '>';
$COMPOSE['references'] = $MESSAGE->headers->references;
// use message-ID as draft_id, same as in sendmail.inc
$OUTPUT->set_env('draft_id', trim($MESSAGE->headers->get('message-id'), '<>'));
}
}
else {

Loading…
Cancel
Save