From b2034fdfec040a67988e543a911208ef2491ce7a Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Sun, 22 Feb 2015 12:58:46 +0100 Subject: New RoundCube Plugins Git folder --- show_additional_headers/composer.json | 24 ++++++++++ .../show_additional_headers.php | 51 ++++++++++++++++++++++ .../tests/ShowAdditionalHeaders.php | 23 ++++++++++ 3 files changed, 98 insertions(+) create mode 100644 show_additional_headers/composer.json create mode 100644 show_additional_headers/show_additional_headers.php create mode 100644 show_additional_headers/tests/ShowAdditionalHeaders.php (limited to 'show_additional_headers') diff --git a/show_additional_headers/composer.json b/show_additional_headers/composer.json new file mode 100644 index 0000000..d100754 --- /dev/null +++ b/show_additional_headers/composer.json @@ -0,0 +1,24 @@ +{ + "name": "roundcube/show_additional_headers", + "type": "roundcube-plugin", + "description": "Proof-of-concept plugin which will fetch additional headers and display them in the message view.", + "license": "GPLv3+", + "version": "2.0", + "authors": [ + { + "name": "Thomas Bruederli", + "email": "roundcube@gmail.com", + "role": "Lead" + } + ], + "repositories": [ + { + "type": "composer", + "url": "http://plugins.roundcube.net" + } + ], + "require": { + "php": ">=5.3.0", + "roundcube/plugin-installer": ">=0.1.3" + } +} diff --git a/show_additional_headers/show_additional_headers.php b/show_additional_headers/show_additional_headers.php new file mode 100644 index 0000000..b7f0110 --- /dev/null +++ b/show_additional_headers/show_additional_headers.php @@ -0,0 +1,51 @@ +action == 'show' || $rcmail->action == 'preview') { + $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 storage_init($p) + { + $rcmail = rcmail::get_instance(); + if ($add_headers = (array)$rcmail->config->get('show_additional_headers', array())) + $p['fetch_headers'] = trim($p['fetch_headers'].' ' . strtoupper(join(' ', $add_headers))); + + return $p; + } + + function message_headers($p) + { + $rcmail = rcmail::get_instance(); + 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; + } +} diff --git a/show_additional_headers/tests/ShowAdditionalHeaders.php b/show_additional_headers/tests/ShowAdditionalHeaders.php new file mode 100644 index 0000000..ab77351 --- /dev/null +++ b/show_additional_headers/tests/ShowAdditionalHeaders.php @@ -0,0 +1,23 @@ +api); + + $this->assertInstanceOf('show_additional_headers', $plugin); + $this->assertInstanceOf('rcube_plugin', $plugin); + } +} + -- cgit v1.2.3