Update preview pane functionality so it only refreshes message list when viewing...
[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         $reduced_header = sprintf(_("<b>%s</b> From <b>%s</b> On <b>%s</b>"), $subject, $from, $date);
74         $expand_link = str_replace('&expand_header=0', '', $PHP_SELF) . '&expand_header=1';
75
76         echo '<tr><td colspan="2" align="center" valign="top">'
77            . '<a href="' . $expand_link . '">' 
78            . getIcon($icon_theme_path, 'plus.png', '-', _("Expand Header"))
79            . '</a> '
80            . $reduced_header
81            . '</td></tr>';
82
83     // show normal/full/expanded header listing
84     } else {
85
86         $collapse_link = str_replace('&expand_header=1', '', $PHP_SELF) . '&expand_header=0';
87         $first_time = TRUE;
88         foreach ($headers_to_display as $field_name=>$value) {
89             if (empty($value)) {
90                 # Skip enpty headers
91                 continue;
92             }
93         ?>
94  <tr>
95   <td class="fieldName">
96 <?php 
97         if ($first_time) 
98             echo '<a href="' . $collapse_link . '">' 
99                . getIcon($icon_theme_path, 'minus.png', '-', _("Collapse Header"))
100                . '</a> ';
101         echo $field_name . ':';
102         $first_time = FALSE; 
103 ?>
104   </td>
105   <td class="fieldValue">
106    <?php echo $value; ?>
107   </td>
108  </tr>
109 <?php 
110         }
111     } 
112     if (!empty($plugin_output['read_body_header'])) echo $plugin_output['read_body_header']; 
113 ?>
114 </table>
115 <table cellspacing="0" class="spacer">
116  <tr>
117   <td>
118   </td>
119  </tr>
120 </table>
121 </div>
122 <?php
123 // do a conditional refresh of message list if needed
124 // "pp_rr" = "preview pane read refresh"
125 if (sqGetGlobalVar('pp_rr', $pp_rr, SQ_FORM) && $show_preview_pane && $first_time_reading) {
126         echo "<script language=\"JavaScript\" type=\"text/javascript\">\n<!--\nif (self.name == 'bottom') { refresh_message_list(); }\n// -->\n</script>\n";
127 }