summaryrefslogtreecommitdiff
path: root/program
diff options
context:
space:
mode:
Diffstat (limited to 'program')
-rw-r--r--program/js/app.js11
-rw-r--r--program/steps/mail/compose.inc3
2 files changed, 13 insertions, 1 deletions
diff --git a/program/js/app.js b/program/js/app.js
index f83caeb36..f4a41e7f4 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -3141,6 +3141,10 @@ function rcube_webmail()
if (this.env.draft_id && formdata.draft_id && formdata.draft_id != this.env.draft_id) {
continue;
}
+ // skip records on reply
+ if (this.env.reply_msgid && formdata.reply_msgid != this.env.reply_msgid) {
+ continue;
+ }
// show dialog asking to restore the message
if (formdata.changed && formdata.session != this.env.session_id) {
this.show_popup_dialog(
@@ -3616,8 +3620,10 @@ function rcube_webmail()
this.env.draft_id = id;
$("input[name='_draft_saveid']").val(id);
- this.remove_compose_data(this.env.compose_id);
}
+
+ // always remove local copy upon saving as draft
+ this.remove_compose_data(this.env.compose_id);
};
this.auto_save_start = function()
@@ -3681,6 +3687,9 @@ function rcube_webmail()
if (this.env.draft_id) {
formdata.draft_id = this.env.draft_id;
}
+ if (this.env.reply_msgid) {
+ formdata.reply_msgid = this.env.reply_msgid;
+ }
$('input, select, textarea', this.gui_objects.messageform).each(function(i, elem) {
switch (elem.tagName.toLowerCase()) {
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index db001d54e..6e478c656 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -271,6 +271,9 @@ else {
}
}
+if (!empty($COMPOSE['reply_msgid']))
+ $OUTPUT->set_env('reply_msgid', $COMPOSE['reply_msgid']);
+
$MESSAGE->compose = array();
// get user's identities