X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fview_header.php;h=d2a85ebfdbd7ae8ddf966e80731861abb6a57b14;hb=d88941c7b900f87e04674c9d61ebcf9dff8d44eb;hp=8a2c111f1584288a1bc81b105df8e98df2598108;hpb=08185f2a7631c3a12cb1ac085fec3be471b56b00;p=squirrelmail.git
diff --git a/src/view_header.php b/src/view_header.php
index 8a2c111f..d2a85ebf 100644
--- a/src/view_header.php
+++ b/src/view_header.php
@@ -3,68 +3,79 @@
/**
* view_header.php
*
- * Copyright (c) 1999-2002 The SquirrelMail Project Team
- * Licensed under the GNU GPL. For full terms see the file COPYING.
- *
* This is the code to view the message header.
*
- * $Id$
+ * @copyright © 1999-2006 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
+ * @package squirrelmail
*/
-/* Path for SquirrelMail required files. */
+/**
+ * Path for SquirrelMail required files.
+ * @ignore
+ */
define('SM_PATH','../');
/* SquirrelMail required files. */
-require_once(SM_PATH . 'include/validate.php');
+include_once(SM_PATH . 'include/validate.php');
+require_once(SM_PATH . 'functions/global.php');
require_once(SM_PATH . 'functions/imap.php');
require_once(SM_PATH . 'functions/html.php');
require_once(SM_PATH . 'functions/url_parser.php');
-function parse_viewheader($imapConnection,$id, $passed_ent_id) {
- global $uid_support;
+function parse_viewheader($imapConnection,$id, $passed_ent_id) {
- $header_full = array();
- if (!$passed_ent_id) {
- $read=sqimap_run_command ($imapConnection, "FETCH $id BODY[HEADER]",
- true, $a, $b, $uid_support);
- } else {
- $query = "FETCH $id BODY[".$passed_ent_id.'.HEADER]';
- $read=sqimap_run_command ($imapConnection, $query,
- true, $a, $b, $uid_support);
- }
+ $header_output = array();
+ $second = array();
+ $first = array();
+
+ if (!$passed_ent_id) {
+ $read=sqimap_run_command ($imapConnection, "FETCH $id BODY[HEADER]",
+ true, $a, $b, TRUE);
+ } else {
+ $query = "FETCH $id BODY[".$passed_ent_id.'.HEADER]';
+ $read=sqimap_run_command ($imapConnection, $query,
+ true, $a, $b, TRUE);
+ }
$cnum = 0;
for ($i=1; $i < count($read); $i++) {
$line = htmlspecialchars($read[$i]);
- if (eregi("^>", $line)) {
- $second[$i] = $line;
- $first[$i] = ' ';
- $cnum++;
- } else if (eregi("^[ |\t]", $line)) {
- $second[$i] = $line;
- $first[$i] = '';
- } else if (eregi("^([^:]+):(.+)", $line, $regs)) {
- $first[$i] = $regs[1] . ':';
- $second[$i] = $regs[2];
- $cnum++;
- } else {
- $second[$i] = trim($line);
- $first[$i] = '';
+ switch (true) {
+ case (eregi("^>", $line)):
+ $second[$i] = $line;
+ $first[$i] = ' ';
+ $cnum++;
+ break;
+ case (eregi("^[ |\t]", $line)):
+ $second[$i] = $line;
+ $first[$i] = '';
+ break;
+ case (eregi("^([^:]+):(.+)", $line, $regs)):
+ $first[$i] = $regs[1] . ':';
+ $second[$i] = $regs[2];
+ $cnum++;
+ break;
+ default:
+ $second[$i] = trim($line);
+ $first[$i] = '';
+ break;
}
}
for ($i=0; $i < count($second); $i = $j) {
- if (isset($first[$i])) {
- $f = $first[$i];
- }
- if (isset($second[$i])) {
- $s = nl2br($second[$i]);
- }
+ $f = (isset($first[$i]) ? $first[$i] : '');
+ $s = (isset($second[$i]) ? nl2br($second[$i]) : '');
$j = $i + 1;
while (($first[$j] == '') && ($j < count($first))) {
$s .= ' ' . nl2br($second[$j]);
$j++;
}
- parseEmail($s);
- if (isset($f)) {
+ $lowf=strtolower($f);
+ /* do not mark these headers as emailaddresses */
+ if($lowf != 'message-id:' && $lowf != 'in-reply-to:' && $lowf != 'references:') {
+ parseEmail($s);
+ }
+ if ($f) {
$header_output[] = array($f,$s);
}
}
@@ -73,43 +84,53 @@ function parse_viewheader($imapConnection,$id, $passed_ent_id) {
}
function view_header($header, $mailbox, $color) {
- global $QUERY_STRING, $base_uri;
-
- $ret_addr = $base_uri . 'src/read_body.php?'.$QUERY_STRING;
+ sqgetGlobalVar('QUERY_STRING', $queryStr, SQ_SERVER);
+ $ret_addr = SM_PATH . 'src/read_body.php?'.$queryStr;
displayPageHeader($color, $mailbox);
- echo '
' .
- '
\n";
+ echo '">' ._("View message") . "\n";
- echo_template_var($header,
- array(
- "\n".'',
- '',
- '',
- '',
- ' |
'."\n"
- ) );
+ echo_template_var($header,
+ array(
+ '\n".'',
+ '',
+ '',
+ '',
+ ' |
'."\n"
+ )
+ );
echo '