$headers_to_display contains TRANSLATED key values! Thanks to Stefano Bridi.
[squirrelmail.git] / templates / default_advanced / read_headers.tpl
1 <?php
2 /**
3  * read_headers.tpl
4  *
5  * Template to display the envelope headers when viewing a message.
6  * 
7  * The following variables are available in this template:
8  * 
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.
15  * 
16  *
17  * @copyright &copy; 1999-2008 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
22  */
23
24 /** add required includes **/
25
26 /** extract template variables **/
27 extract($t);
28
29 /** Begin template **/
30 ?>
31 <div class="readHeaders">
32 <table cellspacing="0" class="spacer">
33  <tr>
34   <td>
35   </td>
36  </tr>
37 </table>
38 <table cellspacing="0" class="table2">
39  <?php
40
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
43     //
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
48     //
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)
54             $expand_header = 1;
55
56     // show reduced (collapsed) header
57     if (!$expand_header) {
58
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,"&lt;") !== FALSE) {
67             list($from, $ignore) = $parts = explode('&lt;', $from);
68             $from = trim($from);
69             $from = preg_replace('/^(&#32;)+|(&#32;)+$/', '', $from);
70             $from = preg_replace('/^(&quot;)+|(&quot;)+$/', '', $from);
71             $from = preg_replace('/&quot;$/', '', trim($from));
72         }
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';
76
77         echo '<tr><td colspan="2" align="center" valign="top">'
78            . '<a href="' . $expand_link . '">' 
79            . getIcon($icon_theme_path, 'plus.png', '-', _("Expand Header"))
80            . '</a> '
81            . $reduced_header
82            . '</td></tr>';
83
84     // show normal/full/expanded header listing
85     } else {
86
87         $collapse_link = str_replace('&expand_header=1', '', $PHP_SELF) . '&expand_header=0';
88         $first_time = TRUE;
89         foreach ($headers_to_display as $field_name=>$value) {
90             if (empty($value)) {
91                 # Skip enpty headers
92                 continue;
93             }
94         ?>
95  <tr class="field_<?php echo $field_name; ?>">
96   <td class="fieldName">
97 <?php 
98         if ($first_time) 
99             echo '<a href="' . $collapse_link . '">' 
100                . getIcon($icon_theme_path, 'minus.png', '-', _("Collapse Header"))
101                . '</a> ';
102         echo $field_name . ':';
103         $first_time = FALSE; 
104 ?>
105   </td>
106   <td class="fieldValue">
107    <?php echo $value; ?>
108   </td>
109  </tr>
110 <?php 
111         }
112     } 
113     if (!empty($plugin_output['read_body_header'])) echo $plugin_output['read_body_header']; 
114 ?>
115 </table>
116 <table cellspacing="0" class="spacer">
117  <tr>
118   <td>
119   </td>
120  </tr>
121 </table>
122 </div>
123 <?php
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";
131 }