X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fview_header.php;h=81b16c088d6389a03bf576dc8db69778f6fd28ce;hb=426e0b72ec139e19279f0d1e45213a3707027d3a;hp=9fcf8f1dac21446d25650a94edf368b6ed9c28eb;hpb=5add5fcc5bd3fc78026194e7613cc63c9313d4ae;p=squirrelmail.git diff --git a/src/view_header.php b/src/view_header.php index 9fcf8f1d..81b16c08 100644 --- a/src/view_header.php +++ b/src/view_header.php @@ -3,7 +3,7 @@ /** * view_header.php * - * Copyright (c) 1999-2002 The SquirrelMail Project Team + * Copyright (c) 1999-2003 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. @@ -11,52 +11,66 @@ * $Id$ */ +/* Path for SquirrelMail required files. */ +define('SM_PATH','../'); -function parse_viewheader($imapConnection,$id, $passed_ent_id) { - global $uid_support; +/* SquirrelMail required files. */ +require_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'); - $header_full = array(); - if (!$passed_ent_id) { - $read=sqimap_run_command ($imapConnection, "FETCH $id BODY[HEADER]", +function parse_viewheader($imapConnection,$id, $passed_ent_id) { + global $uid_support; + + $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, + } else { + $query = "FETCH $id BODY[".$passed_ent_id.'.HEADER]'; + $read=sqimap_run_command ($imapConnection, $query, true, $a, $b, $uid_support); - } + } $cnum = 0; for ($i=1; $i < count($read); $i++) { $line = htmlspecialchars($read[$i]); - if (eregi("^>", $line)) { + switch (true) { + case (eregi("^>", $line)): $second[$i] = $line; $first[$i] = ' '; $cnum++; - } else if (eregi("^[ |\t]", $line)) { + break; + case (eregi("^[ |\t]", $line)): $second[$i] = $line; $first[$i] = ''; - } else if (eregi("^([^:]+):(.+)", $line, $regs)) { + break; + case (eregi("^([^:]+):(.+)", $line, $regs)): $first[$i] = $regs[1] . ':'; $second[$i] = $regs[2]; $cnum++; - } else { + 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); } } @@ -64,20 +78,22 @@ function parse_viewheader($imapConnection,$id, $passed_ent_id) { return $header_output; } -function view_header($template_vars, $pageheader='', $pagefooter='') { - global $color; - - echo $pageheader; +function view_header($header, $mailbox, $color) { + sqgetGlobalVar('QUERY_STRING', $queryStr, SQ_SERVER); + $ret_addr = SM_PATH . 'src/read_body.php?'.$queryStr; + + displayPageHeader($color, $mailbox); + echo '
' . '' . "\n" . "
". _("Viewing Full Header") . ' - '. '' ._("View message") . "
\n"; - echo_template_var($template_vars['full_header'], + echo_template_var($header, array( "\n".'
', @@ -86,7 +102,29 @@ function view_header($template_vars, $pageheader='', $pagefooter='') { '', '
'."\n" ) ); - echo $pagefooter; + echo ''; } +/* get global vars */ +if ( sqgetGlobalVar('passed_id', $temp, SQ_GET) ) { + $passed_id = (int) $temp; +} +if ( sqgetGlobalVar('mailbox', $temp, SQ_GET) ) { + $mailbox = $temp; +} +if ( !sqgetGlobalVar('passed_ent_id', $passed_ent_id, SQ_GET) ) { + $passed_ent_id = ''; +} +sqgetGlobalVar('key', $key, SQ_COOKIE); +sqgetGlobalVar('username', $username, SQ_SESSION); +sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION); +sqgetGlobalVar('delimiter', $delimiter, SQ_SESSION); + +$imapConnection = sqimap_login($username, $key, $imapServerAddress, + $imapPort, 0); +$mbx_response = sqimap_mailbox_select($imapConnection, $mailbox, false, false, true); + +$header = parse_viewheader($imapConnection,$passed_id, $passed_ent_id); +view_header($header, $mailbox, $color); + ?>