Using str_replace instead of sprintf because some languages need to change the order...
[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-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
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 = 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';
78
79 echo '<tr><td colspan="2" align="center" valign="top">'
80 . '<a href="' . $expand_link . '">'
81 . getIcon($icon_theme_path, 'plus.png', '-', _("Expand Header"))
82 . '</a> '
83 . $reduced_header
84 . '</td></tr>';
85
86 // show normal/full/expanded header listing
87 } else {
88
89 $collapse_link = str_replace('&expand_header=1', '', $PHP_SELF) . '&expand_header=0';
90 $first_time = TRUE;
91 foreach ($headers_to_display as $field_name=>$value) {
92 if (empty($value)) {
93 # Skip enpty headers
94 continue;
95 }
96 ?>
97 <tr>
98 <td class="fieldName">
99 <?php
100 if ($first_time)
101 echo '<a href="' . $collapse_link . '">'
102 . getIcon($icon_theme_path, 'minus.png', '-', _("Collapse Header"))
103 . '</a> ';
104 echo $field_name . ':';
105 $first_time = FALSE;
106 ?>
107 </td>
108 <td class="fieldValue">
109 <?php echo $value; ?>
110 </td>
111 </tr>
112 <?php
113 }
114 }
115 if (!empty($plugin_output['read_body_header'])) echo $plugin_output['read_body_header'];
116 ?>
117 </table>
118 <table cellspacing="0" class="spacer">
119 <tr>
120 <td>
121 </td>
122 </tr>
123 </table>
124 </div>
125 <?php
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";
133 }