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/headers.inc |   30 ++++++++++++++++++------------
 1 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/program/steps/mail/headers.inc b/program/steps/mail/headers.inc
index 5eee4bd..17a471e 100644
--- a/program/steps/mail/headers.inc
+++ b/program/steps/mail/headers.inc
@@ -1,11 +1,15 @@
 <?php
-/*
+
+/**
  +-----------------------------------------------------------------------+
  | program/steps/mail/headers.inc                                        |
  |                                                                       |
  | This file is part of the Roundcube Webmail client                     |
- | Copyright (C) 2005-2007, The Roundcube Dev Team                       |
- | Licensed under the GNU GPL                                            |
+ | 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.                |
+ | See the README file for a full license statement.                     |
  |                                                                       |
  | PURPOSE:                                                              |
  |   Fetch message headers in raw format for display                     |
@@ -13,17 +17,21 @@
  +-----------------------------------------------------------------------+
  | Author: Aleksander Machniak <alec@alec.pl>                            |
  +-----------------------------------------------------------------------+
-
- $Id$
-
 */
 
-if ($uid = get_input_value('_uid', RCUBE_INPUT_POST))
-{
-    $source = $RCMAIL->imap->get_raw_headers($uid);
+if ($uid = rcube_utils::get_input_value('_uid', rcube_utils::INPUT_POST)) {
+    if ($pos = strpos($uid, '.')) {
+        $message = new rcube_message($uid);
+        $source  = $message->get_part_body(substr($uid, $pos + 1));
+        $source  = substr($source, 0, strpos($source, "\r\n\r\n"));
+    }
+    else {
+        $source = $RCMAIL->storage->get_raw_headers($uid);
+    }
 
     if ($source !== false) {
-        $source = htmlspecialchars(trim($source));
+        $source = trim(rcube_charset::clean($source));
+        $source = htmlspecialchars($source);
         $source = preg_replace(
             array(
                 '/\n[\t\s]+/',
@@ -46,5 +54,3 @@
 }
 
 exit;
-
-

--
Gitblit v1.9.1