| 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 © 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,"<") !== FALSE) { |
| 67 | list($from, $ignore) = $parts = explode('<', $from); |
| 68 | $from = trim($from); |
| 69 | $from = preg_replace('/^( )+|( )+$/', '', $from); |
| 70 | $from = preg_replace('/^(")+|(")+$/', '', $from); |
| 71 | $from = preg_replace('/"$/', '', 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> |