diff options
author | thomascube <thomas@roundcube.net> | 2010-03-04 08:17:04 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2010-03-04 08:17:04 +0000 |
commit | bbc8565e5afa7e5352bc3aaf7cf067066ec6d4b1 (patch) | |
tree | 15e5df0355ddffc1367c0b2dd7b48b39b55e2661 | |
parent | a96183883d95dc83a7d0951f5b834e44b062f9cf (diff) |
Flag original messages after sending a draft (#1486203)
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | program/lib/imap.inc | 3 | ||||
-rw-r--r-- | program/steps/mail/compose.inc | 6 | ||||
-rw-r--r-- | program/steps/mail/sendmail.inc | 6 |
4 files changed, 12 insertions, 4 deletions
@@ -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 9a5a67bef..2316e404b 100644 --- a/program/lib/imap.inc +++ b/program/lib/imap.inc @@ -1450,7 +1450,8 @@ function iil_C_FetchHeaders(&$conn, $mailbox, $message_set, $uidfetch=false, $bo $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 52a396b0b..fa1ea9533 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -158,9 +158,9 @@ if (!empty($msg_uid)) { 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 134664b85..abd4209c3 100644 --- a/program/steps/mail/sendmail.inc +++ b/program/steps/mail/sendmail.inc @@ -314,6 +314,12 @@ else if (!empty($identity_arr['reply-to'])) 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']; |