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-2006 The SquirrelMail Project Team
18 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
19 * @version $Id: read_headers.tpl 11998 2006-12-10 21:06:24Z pdontthink $
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 = str_replace(array('%1', '%2', '%3'),
75 array("<b>$subject</b>", "<b>$from</b>", "<b>$date</b>"),
76 _("%1 from %2 on %3"));
77 $expand_link = str_replace('&expand_header=0', '', $PHP_SELF) . '&expand_header=1';
79 echo '<tr><td colspan="2" align="center" valign="top">'
80 . '<a href="' . $expand_link . '">'
81 . getIcon($icon_theme_path, 'plus.png', '-', _("Expand Header"))
86 // show normal/full/expanded header listing
89 $collapse_link = str_replace('&expand_header=1', '', $PHP_SELF) . '&expand_header=0';
91 foreach ($headers_to_display as $field_name=>$value) {
98 <td class="fieldName">
101 echo '<a href="' . $collapse_link . '">'
102 . getIcon($icon_theme_path, 'minus.png', '-', _("Collapse Header"))
104 echo $field_name . ':';
108 <td class="fieldValue">
109 <?php echo $value; ?>
115 if (!empty($plugin_output['read_body_header'])) echo $plugin_output['read_body_header'];
118 <table cellspacing="0" class="spacer">
126 // do a conditional refresh of message list if needed
127 // "pp_rr" = "preview pane read refresh"
128 // "pp_rr_force" = force pp_rr even if this is not the first time the message has been read
129 if ($show_preview_pane
130 && (sqGetGlobalVar('pp_rr_force', $pp_rr_force, SQ_FORM)
131 || (sqGetGlobalVar('pp_rr', $pp_rr, SQ_FORM) && $first_time_reading))) {
132 echo "<script language=\"JavaScript\" type=\"text/javascript\">\n<!--\nif (self.name == 'bottom') { refresh_message_list(); }\n// -->\n</script>\n";