From 896b2204e85aafb7eece9e42a0fb4e3bf5a8551b Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 04 Jan 2012 07:37:51 -0500
Subject: [PATCH] - Backported r5704-r5705 from trunk

---
 plugins/show_additional_headers/show_additional_headers.php |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/plugins/show_additional_headers/show_additional_headers.php b/plugins/show_additional_headers/show_additional_headers.php
index c31c9df..0007ce3 100644
--- a/plugins/show_additional_headers/show_additional_headers.php
+++ b/plugins/show_additional_headers/show_additional_headers.php
@@ -23,13 +23,16 @@
     if ($rcmail->action == 'show' || $rcmail->action == 'preview') {
       $this->add_hook('imap_init', array($this, 'imap_init'));
       $this->add_hook('message_headers_output', array($this, 'message_headers'));
+    } else if ($rcmail->action == '') {
+      // with enabled_caching we're fetching additional headers before show/preview
+      $this->add_hook('imap_init', array($this, 'imap_init'));
     }
   }
   
   function imap_init($p)
   {
     $rcmail = rcmail::get_instance();
-    if ($add_headers = $rcmail->config->get('show_additional_headers', array()))
+    if ($add_headers = (array)$rcmail->config->get('show_additional_headers', array()))
       $p['fetch_headers'] = trim($p['fetch_headers'].' ' . strtoupper(join(' ', $add_headers)));
 
     return $p;
@@ -38,10 +41,10 @@
   function message_headers($p)
   {
     $rcmail = rcmail::get_instance();
-    foreach ($rcmail->config->get('show_additional_headers', array()) as $header) {
+    foreach ((array)$rcmail->config->get('show_additional_headers', array()) as $header) {
       $key = strtolower($header);
       if ($value = $p['headers']->others[$key])
-        $p['output'][$key] = array('title' => $header, 'value' => $value);
+        $p['output'][$key] = array('title' => $header, 'value' => Q($value));
     }
 
     return $p;

--
Gitblit v1.9.1