diff options
| author | till <till@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-03-20 14:20:01 +0000 |
|---|---|---|
| committer | till <till@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-03-20 14:20:01 +0000 |
| commit | 8660a74501de5ee206f6c14246f7112e6ea91ad3 (patch) | |
| tree | 1e67a0bcc9ebe254d6f0c21eb07728216f5b3149 /plugins/show_additional_headers | |
| parent | 85de1261ba60e3df477a49a15de8471f79d2946a (diff) | |
moved plugins
git-svn-id: https://svn.roundcube.net/trunk@3394 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'plugins/show_additional_headers')
| -rw-r--r-- | plugins/show_additional_headers/show_additional_headers.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/plugins/show_additional_headers/show_additional_headers.php b/plugins/show_additional_headers/show_additional_headers.php new file mode 100644 index 000000000..1cbe690e9 --- /dev/null +++ b/plugins/show_additional_headers/show_additional_headers.php @@ -0,0 +1,52 @@ +<?php + +/** + * Show additional message headers + * + * Proof-of-concept plugin which will fetch additional headers + * and display them in the message view. + * + * Enable the plugin in config/main.inc.php and add your desired headers: + * $rcmail_config['show_additional_headers'] = array('User-Agent'); + * + * @version 1.0 + * @author Thomas Bruederli + * @website http://roundcube.net + */ +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('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 = (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) { + $key = strtolower($header); + if ($value = $p['headers']->others[$key]) + $p['output'][$key] = array('title' => $header, 'value' => $value); + } + + return $p; + } +} |
