5 * Template to display the envelope headers when viewing a message.
7 * The following variables are available in this template:
9 * $headers_to_display - Array containing the list of all elements that need
10 * to be displayed. The index of each element is the
11 * translated name of the field to be displayed. The
12 * value of each element is the value to be displayed
13 * for that field. Many values can be controled through
14 * additional templates.
17 * @copyright 1999-2014 The SquirrelMail Project Team
18 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
20 * @package squirrelmail
21 * @subpackage templates
24 /** add required includes **/
26 /** extract template variables **/
29 /** Begin template **/
31 <div class="readHeaders">
32 <table cellspacing="0" class="spacer">
38 <table cellspacing="0" class="table2">
41 // detect if we want to show reduced header or regular (expanded) header list
42 // default is to show the reduced header when the preview pane is turned on
44 // note that this is an example of a template page making use of its own
45 // value placed on the page's query string; we like to keep things like
46 // that in the core, but for template-specific add-on functionalities, this
47 // kind of thing is perfectly acceptable
49 global $data_dir, $username, $PHP_SELF;
50 $use_previewPane = getPref($data_dir, $username, 'use_previewPane', 0);
51 $show_preview_pane = checkForJavascript() && $use_previewPane;
52 if (!sqGetGlobalVar('expand_header', $expand_header, SQ_FORM, 0))
53 if (!$show_preview_pane)
56 // show reduced (collapsed) header
57 if (!$expand_header) {
59 $subject = (!empty($headers_to_display[_("Subject")])
60 ? $headers_to_display[_("Subject")] : _("(no subject)"));
61 $date = (!empty($headers_to_display[_("Date")])
62 ? $headers_to_display[_("Date")] : _("Unknown date"));
63 $from = (!empty($headers_to_display[_("From")])
64 ? $headers_to_display[_("From")] : _("Unknown sender"));
65 // if available, print "real" name instead of email addr
66 if (strpos($from,"<") !== FALSE) {
67 list($from, $ignore) = $parts = explode('<', $from);
69 $from = preg_replace('/^( )+|( )+$/', '', $from);
70 $from = preg_replace('/^(")+|(")+$/', '', $from);
71 $from = preg_replace('/"$/', '', trim($from));
73 // i18n: The parameters are: subject, sender, and date.
74 $reduced_header = sprintf(_("%s from %s on %s"), "<b>$subject</b>", "<b>$from</b>", "<b>$date</b>");
75 $expand_link = str_replace('&expand_header=0', '', $PHP_SELF) . '&expand_header=1';
77 echo '<tr><td colspan="2" align="center" valign="top">'
78 . '<a href="' . $expand_link . '">'
79 . getIcon($icon_theme_path, 'plus.png', '-', _("Expand Header"))
84 // show normal/full/expanded header listing
87 $collapse_link = str_replace('&expand_header=1', '', $PHP_SELF) . '&expand_header=0';
89 foreach ($headers_to_display as $field_name=>$value) {
95 <tr class="field_<?php echo $field_name; ?>">
96 <td class="fieldName">
99 echo '<a href="' . $collapse_link . '">'
100 . getIcon($icon_theme_path, 'minus.png', '-', _("Collapse Header"))
102 echo $field_name . ':';
106 <td class="fieldValue">
107 <?php echo $value; ?>
113 if (!empty($plugin_output['read_body_header'])) echo $plugin_output['read_body_header'];
116 <table cellspacing="0" class="spacer">
124 // do a conditional refresh of message list if needed
125 // "pp_rr" = "preview pane read refresh"
126 // "pp_rr_force" = force pp_rr even if this is not the first time the message has been read
127 if ($show_preview_pane
128 && (sqGetGlobalVar('pp_rr_force', $pp_rr_force, SQ_FORM)
129 || (sqGetGlobalVar('pp_rr', $pp_rr, SQ_FORM) && $first_time_reading))) {
130 echo "<script language=\"JavaScript\" type=\"text/javascript\">\n<!--\nif (self.name == 'bottom') { refresh_message_list(); }\n// -->\n</script>\n";