From 46f7b7096450939fe03c95aa81ce06ae4bfca89d Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Mon, 28 Mar 2016 06:51:43 -0400 Subject: [PATCH] Enable reply/reply-all/forward buttons also in preview frame of message/rfc822 --- program/steps/mail/compose.inc | 24 ++++++++++++++++-------- 1 files changed, 16 insertions(+), 8 deletions(-) diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index 48aef76..9ef8647 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -5,7 +5,7 @@ | program/steps/mail/compose.inc | | | | This file is part of the Roundcube Webmail client | - | Copyright (C) 2005-2013, The Roundcube Dev Team | + | Copyright (C) 2005-2016, The Roundcube Dev Team | | | | Licensed under the GNU General Public License version 3 or | | any later version with exceptions for skins & plugins. | @@ -179,7 +179,7 @@ $MESSAGE = new rcube_message($msg_uid); // make sure message is marked as read - if ($MESSAGE->headers && empty($MESSAGE->headers->flags['SEEN'])) { + if ($MESSAGE->headers && $MESSAGE->context === null && empty($MESSAGE->headers->flags['SEEN'])) { $RCMAIL->storage->set_flag($msg_uid, 'SEEN'); } @@ -192,7 +192,7 @@ } else if ($compose_mode == RCUBE_COMPOSE_FORWARD || $compose_mode == RCUBE_COMPOSE_REPLY) { if ($compose_mode == RCUBE_COMPOSE_REPLY) { - $COMPOSE['reply_uid'] = $msg_uid; + $COMPOSE['reply_uid'] = $MESSAGE->context === null ? $msg_uid : null; if (!empty($COMPOSE['param']['all'])) { $MESSAGE->reply_all = $COMPOSE['param']['all']; @@ -359,7 +359,12 @@ // clean HTML message body which can be submitted by URL if (!empty($COMPOSE['param']['body'])) { - $COMPOSE['param']['body'] = rcmail_wash_html($COMPOSE['param']['body'], array('safe' => false, 'inline_html' => true), array()); + if ($COMPOSE['param']['html'] = strpos($COMPOSE['param']['body'], '<') !== false) { + $wash_params = array('safe' => false, 'inline_html' => true); + $COMPOSE['param']['body'] = rcmail_wash_html($COMPOSE['param']['body'], $wash_params, array()); + $COMPOSE['param']['body'] = preg_replace('/<!--[^>\n]+>/', '', $COMPOSE['param']['body']); + $COMPOSE['param']['body'] = preg_replace('/<\/?body>/', '', $COMPOSE['param']['body']); + } } $RCMAIL = rcmail::get_instance(); @@ -718,7 +723,10 @@ $html_editor = intval($RCMAIL->config->get('htmleditor')); $compose_mode = $COMPOSE['mode']; - if (isset($_POST['_is_html'])) { + if (is_bool($COMPOSE['param']['html'])) { + $useHtml = $COMPOSE['param']['html']; + } + else if (isset($_POST['_is_html'])) { $useHtml = !empty($_POST['_is_html']); } else if ($compose_mode == RCUBE_COMPOSE_DRAFT || $compose_mode == RCUBE_COMPOSE_EDIT) { @@ -772,7 +780,7 @@ if (!empty($MESSAGE->parts)) { // collect IDs of message/rfc822 parts - foreach ($MESSAGE->mime_parts as $part) { + foreach ($MESSAGE->mime_parts() as $part) { if ($part->mimetype == 'message/rfc822') { $messages[] = $part->mime_id; } @@ -1250,7 +1258,7 @@ return $cid_map; } - foreach ((array)$message->mime_parts as $pid => $part) { + foreach ((array) $message->mime_parts() as $pid => $part) { if ($part->mimetype == 'message/rfc822') { $messages[] = $part->mime_id; } @@ -1316,7 +1324,7 @@ return $cid_map; } - foreach ((array)$message->mime_parts as $pid => $part) { + foreach ((array) $message->mime_parts() as $pid => $part) { if ($part->mimetype == 'message/rfc822') { $messages[] = $part->mime_id; } -- Gitblit v1.9.1