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 }