From faea23d0b4b0e86955dc5d11afd4311bbeefc052 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Mon, 12 Dec 2011 16:30:04 -0500
Subject: [PATCH] More options for message headers output in templates

---
 program/steps/mail/func.inc |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index 5f36da9..fd0bd45 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -890,6 +890,7 @@
   // show these headers
   $standard_headers = array('subject', 'from', 'to', 'cc', 'bcc', 'replyto',
     'mail-reply-to', 'mail-followup-to', 'date');
+  $exclude_headers = $attrib['exclude'] ? explode(',', $attrib['exclude']) : array();
   $output_headers = array();
 
   foreach ($standard_headers as $hkey) {
@@ -898,6 +899,9 @@
     else if ($headers['others'][$hkey])
       $value = $headers['others'][$hkey];
     else
+      continue;
+
+    if (in_array($hkey, $exclude_headers))
       continue;
 
     if ($hkey == 'date') {
@@ -937,7 +941,11 @@
   }
 
   $plugin = $RCMAIL->plugins->exec_hook('message_headers_output',
-    array('output' => $output_headers, 'headers' => $MESSAGE->headers));
+    array('output' => $output_headers, 'headers' => $MESSAGE->headers, 'exclude' => $exclude_headers));
+
+  // single header value is requested
+  if (!empty($attrib['valueof']))
+    return Q($plugin['output'][$attrib['valueof']]['value'], ($hkey == 'subject' ? 'strict' : 'show'));
 
   // compose html table
   $table = new html_table(array('cols' => 2));

--
Gitblit v1.9.1