From bbc8565e5afa7e5352bc3aaf7cf067066ec6d4b1 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Thu, 04 Mar 2010 03:17:04 -0500 Subject: [PATCH] Flag original messages after sending a draft (#1486203) --- CHANGELOG | 1 + program/steps/mail/compose.inc | 6 +++--- program/lib/imap.inc | 3 ++- program/steps/mail/sendmail.inc | 6 ++++++ 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index cbd39a1..30fe24e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG RoundCube Webmail =========================== +- Flag original messages when sending a draft (#1486203) - Changed signature separator when top-posting (#1486330) - Let the admin define defaults for search modifiers (#1485897) - Fix long e-mail addresses validation (#1486453) diff --git a/program/lib/imap.inc b/program/lib/imap.inc index 9a5a67b..2316e40 100644 --- a/program/lib/imap.inc +++ b/program/lib/imap.inc @@ -1450,7 +1450,8 @@ $request .= "BODY.PEEK[HEADER.FIELDS "; $request .= "(DATE FROM TO SUBJECT REPLY-TO IN-REPLY-TO CC BCC "; $request .= "CONTENT-TRANSFER-ENCODING CONTENT-TYPE MESSAGE-ID "; - $request .= "REFERENCES DISPOSITION-NOTIFICATION-TO X-PRIORITY".$add.")])"; + $request .= "REFERENCES DISPOSITION-NOTIFICATION-TO X-PRIORITY "; + $request .= "X-REPLY-UID X-FORWARD-UID".$add.")])"; if (!iil_PutLine($fp, $request)) { return false; diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index 52a396b..fa1ea95 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -158,9 +158,9 @@ { if($MESSAGE->headers->in_reply_to) { - // TODO: how to get reply_uid/forward_uid value, maybe we must set X-Reply-UID/X-Forward-UID - // $_SESSION['compose']['reply_uid'] = ? - // $_SESSION['compose']['forward_uid'] = ? + // get reply_uid/forward_uid to flag the original message when sending + $_SESSION['compose']['reply_uid'] = $MESSAGE->headers->others['x-reply-uid']; + $_SESSION['compose']['forward_uid'] = $MESSAGE->headers->others['x-forward-uid']; $_SESSION['compose']['reply_msgid'] = '<'.$MESSAGE->headers->in_reply_to.'>'; } $_SESSION['compose']['references'] = $MESSAGE->headers->references; diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc index 134664b..abd4209 100644 --- a/program/steps/mail/sendmail.inc +++ b/program/steps/mail/sendmail.inc @@ -314,6 +314,12 @@ if (!empty($_SESSION['compose']['reply_msgid'])) $headers['In-Reply-To'] = $_SESSION['compose']['reply_msgid']; +// remember reply/forward UIDs in special headers +if (!empty($_SESSION['compose']['reply_uid']) && $savedraft) + $headers['X-Reply-UID'] = $_SESSION['compose']['reply_uid']; +else if (!empty($_SESSION['compose']['forward_uid']) && $savedraft) + $headers['X-Forward-UID'] = $_SESSION['compose']['forward_uid']; + if (!empty($_SESSION['compose']['references'])) $headers['References'] = $_SESSION['compose']['references']; -- Gitblit v1.9.1