Set In-Reply-To and References for forwarded messages (#1489593)

pull/173/merge
Aleksander Machniak 11 years ago
parent 57e5d735e2
commit 73076d7ea6

@ -4,6 +4,7 @@ CHANGELOG Roundcube Webmail
- Added toolbar button to move message in message view - Added toolbar button to move message in message view
- Improve UI integration of ACL settings - Improve UI integration of ACL settings
- Drop support for PHP < 5.3.7 - Drop support for PHP < 5.3.7
- Set In-Reply-To and References for forwarded messages (#1489593)
- Fix directories check in Installer on Windows (#1489576) - Fix directories check in Installer on Windows (#1489576)
- Fix issue when default_addressbook option is set to integer value (#1489407) - Fix issue when default_addressbook option is set to integer value (#1489407)
- Fix Opera > 15 detection (#1489562) - Fix Opera > 15 detection (#1489562)

@ -179,15 +179,21 @@ if (!empty($msg_uid) && empty($COMPOSE['as_attachment'])) {
if (!$MESSAGE->headers) { if (!$MESSAGE->headers) {
// error // error
} }
else if ($compose_mode == RCUBE_COMPOSE_REPLY) { else if ($compose_mode == RCUBE_COMPOSE_FORWARD || $compose_mode == RCUBE_COMPOSE_REPLY) {
$COMPOSE['reply_uid'] = $msg_uid; if ($compose_mode == RCUBE_COMPOSE_REPLY) {
$COMPOSE['reply_msgid'] = $MESSAGE->headers->messageID; $COMPOSE['reply_msgid'] = $MESSAGE->headers->messageID;
$COMPOSE['references'] = trim($MESSAGE->headers->references . " " . $MESSAGE->headers->messageID);
if (!empty($COMPOSE['param']['all'])) { if (!empty($COMPOSE['param']['all'])) {
$MESSAGE->reply_all = $COMPOSE['param']['all']; $MESSAGE->reply_all = $COMPOSE['param']['all'];
}
}
else {
$COMPOSE['forward_uid'] = $msg_uid;
} }
$COMPOSE['reply_msgid'] = $MESSAGE->headers->messageID;
$COMPOSE['references'] = trim($MESSAGE->headers->references . " " . $MESSAGE->headers->messageID);
// Save the sent message in the same folder of the message being replied to // Save the sent message in the same folder of the message being replied to
if ($RCMAIL->config->get('reply_same_folder') && ($sent_folder = $COMPOSE['mailbox']) if ($RCMAIL->config->get('reply_same_folder') && ($sent_folder = $COMPOSE['mailbox'])
&& rcmail_check_sent_folder($sent_folder, false) && rcmail_check_sent_folder($sent_folder, false)
@ -242,8 +248,9 @@ else {
} }
} }
if (!empty($COMPOSE['reply_msgid'])) if (!empty($COMPOSE['reply_msgid'])) {
$OUTPUT->set_env('reply_msgid', $COMPOSE['reply_msgid']); $OUTPUT->set_env('reply_msgid', $COMPOSE['reply_msgid']);
}
$MESSAGE->compose = array(); $MESSAGE->compose = array();
@ -1241,6 +1248,7 @@ function rcmail_write_forward_attachments()
$storage = $RCMAIL->get_storage(); $storage = $RCMAIL->get_storage();
$names = array(); $names = array();
$refs = array();
$loaded_attachments = array(); $loaded_attachments = array();
foreach ((array)$COMPOSE['attachments'] as $attachment) { foreach ((array)$COMPOSE['attachments'] as $attachment) {
@ -1323,6 +1331,18 @@ function rcmail_write_forward_attachments()
else if ($path) { else if ($path) {
@unlink($path); @unlink($path);
} }
if ($message->headers->messageID) {
$refs[] = $message->headers->messageID;
}
}
// set In-Reply-To and References headers
if (count($refs) == 1) {
$COMPOSE['reply_msgid'] = $refs[0];
}
if (!empty($refs)) {
$COMPOSE['references'] = implode(' ', $refs);
} }
} }

Loading…
Cancel
Save