From 093a3d9e7df58e2bd41db2caf6a348bf60c9ec8a Mon Sep 17 00:00:00 2001
From: Victor Benincasa <vbenincasa@gmail.com>
Date: Tue, 25 Jun 2013 02:39:23 -0400
Subject: [PATCH] Fix improper error checking
---
plugins/show_additional_headers/show_additional_headers.php | 24 +++++++++++++-----------
1 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/plugins/show_additional_headers/show_additional_headers.php b/plugins/show_additional_headers/show_additional_headers.php
index c31c9df..dcc384b 100644
--- a/plugins/show_additional_headers/show_additional_headers.php
+++ b/plugins/show_additional_headers/show_additional_headers.php
@@ -9,27 +9,30 @@
* Enable the plugin in config/main.inc.php and add your desired headers:
* $rcmail_config['show_additional_headers'] = array('User-Agent');
*
- * @version 1.0
+ * @version @package_version@
* @author Thomas Bruederli
- * @website http://roundcube.net
+ * @license GNU GPLv3+
*/
class show_additional_headers extends rcube_plugin
{
public $task = 'mail';
-
+
function init()
{
$rcmail = rcmail::get_instance();
if ($rcmail->action == 'show' || $rcmail->action == 'preview') {
- $this->add_hook('imap_init', array($this, 'imap_init'));
+ $this->add_hook('storage_init', array($this, 'storage_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('storage_init', array($this, 'storage_init'));
}
}
-
- function imap_init($p)
+
+ function storage_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,9 @@
function message_headers($p)
{
$rcmail = rcmail::get_instance();
- foreach ($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);
+ foreach ((array)$rcmail->config->get('show_additional_headers', array()) as $header) {
+ if ($value = $p['headers']->get($header))
+ $p['output'][$header] = array('title' => $header, 'value' => $value);
}
return $p;
--
Gitblit v1.9.1