Mercurial > hg > rc1
comparison plugins/show_additional_headers/show_additional_headers.php @ 0:1e000243b222
vanilla 1.3.3 distro, I hope
author | Charlie Root |
---|---|
date | Thu, 04 Jan 2018 15:50:29 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:1e000243b222 |
---|---|
1 <?php | |
2 | |
3 /** | |
4 * Show additional message headers | |
5 * | |
6 * Proof-of-concept plugin which will fetch additional headers | |
7 * and display them in the message view. | |
8 * | |
9 * Enable the plugin in config.inc.php and add your desired headers: | |
10 * $config['show_additional_headers'] = array('User-Agent'); | |
11 * | |
12 * @author Thomas Bruederli | |
13 * @license GNU GPLv3+ | |
14 */ | |
15 class show_additional_headers extends rcube_plugin | |
16 { | |
17 public $task = 'mail'; | |
18 | |
19 function init() | |
20 { | |
21 $rcmail = rcmail::get_instance(); | |
22 if ($rcmail->action == 'show' || $rcmail->action == 'preview') { | |
23 $this->add_hook('storage_init', array($this, 'storage_init')); | |
24 $this->add_hook('message_headers_output', array($this, 'message_headers')); | |
25 } else if ($rcmail->action == '') { | |
26 // with enabled_caching we're fetching additional headers before show/preview | |
27 $this->add_hook('storage_init', array($this, 'storage_init')); | |
28 } | |
29 } | |
30 | |
31 function storage_init($p) | |
32 { | |
33 $rcmail = rcmail::get_instance(); | |
34 if ($add_headers = (array)$rcmail->config->get('show_additional_headers', array())) | |
35 $p['fetch_headers'] = trim($p['fetch_headers'].' ' . strtoupper(join(' ', $add_headers))); | |
36 | |
37 return $p; | |
38 } | |
39 | |
40 function message_headers($p) | |
41 { | |
42 $rcmail = rcmail::get_instance(); | |
43 foreach ((array)$rcmail->config->get('show_additional_headers', array()) as $header) { | |
44 if ($value = $p['headers']->get($header)) | |
45 $p['output'][$header] = array('title' => $header, 'value' => $value); | |
46 } | |
47 | |
48 return $p; | |
49 } | |
50 } |