From c5157fb74ad800c1d7473ad053c192cb543abf28 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Wed, 29 Jul 2015 13:43:07 -0400 Subject: [PATCH] Fix draft removal after a message is sent and storing sent message is disabled (#1490467) --- program/steps/mail/sendmail.inc | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-) diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc index 34801d8..c47f3d3 100644 --- a/program/steps/mail/sendmail.inc +++ b/program/steps/mail/sendmail.inc @@ -616,24 +616,24 @@ $OUTPUT->send('iframe'); } } - - // delete previous saved draft - if ($saved && ($old_id = rcube_utils::get_input_value('_draft_saveid', rcube_utils::INPUT_POST))) { - $deleted = $RCMAIL->storage->delete_message($old_id, $drafts_mbox); - - // raise error if deletion of old draft failed - if (!$deleted) { - rcube::raise_error(array('code' => 800, 'type' => 'imap', - 'file' => __FILE__, 'line' => __LINE__, - 'message' => "Could not delete message from $drafts_mbox"), true, false); - } - } } // remove temp file else if ($mailbody_file) { unlink($mailbody_file); } +// delete previous saved draft +$old_id = rcube_utils::get_input_value('_draft_saveid', rcube_utils::INPUT_POST); +if ($old_id && ($sent || $saved)) { + $deleted = $RCMAIL->storage->delete_message($old_id, $drafts_mbox); + + // raise error if deletion of old draft failed + if (!$deleted) { + rcube::raise_error(array('code' => 800, 'type' => 'imap', + 'file' => __FILE__, 'line' => __LINE__, + 'message' => "Could not delete message from $drafts_mbox"), true, false); + } +} if ($savedraft) { // remember new draft-uid ($saved could be an UID or true/false here) -- Gitblit v1.9.1