X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fview_header.php;h=d709eac09407cfca2b8fd8bf266201fdada6edf9;hb=2de8b87fad334dde39eedb9254879365a66a3f44;hp=4f86662d13072bb75da76615c82486b52f3ec6e4;hpb=8f6f9ba5df6491d396aa690dcf3e5b9070a565ca;p=squirrelmail.git diff --git a/src/view_header.php b/src/view_header.php index 4f86662d..d709eac0 100644 --- a/src/view_header.php +++ b/src/view_header.php @@ -3,64 +3,64 @@ /** * view_header.php * - * 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. * - * $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. */ -define('SM_PATH','../'); +/** + * Include the SquirrelMail initialization file. + */ +require('../include/init.php'); /* 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'); function parse_viewheader($imapConnection,$id, $passed_ent_id) { - global $uid_support; - $header_full = array(); + $header_output = array(); + $second = array(); + $first = array(); + if (!$passed_ent_id) { - $read=sqimap_run_command ($imapConnection, "FETCH $id BODY[HEADER]", - true, $a, $b, $uid_support); + $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, $uid_support); - } + $read=sqimap_run_command ($imapConnection, $query, + true, $a, $b, TRUE); + } $cnum = 0; for ($i=1; $i < count($read); $i++) { $line = htmlspecialchars($read[$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; + 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) { $f = (isset($first[$i]) ? $first[$i] : ''); - $s = (isset($second[$i]) ? nl2br($second[$i]) : ''); + $s = (isset($second[$i]) ? nl2br($second[$i]) : ''); $j = $i + 1; while (($first[$j] == '') && ($j < count($first))) { $s .= '    ' . nl2br($second[$j]); @@ -79,30 +79,73 @@ function parse_viewheader($imapConnection,$id, $passed_ent_id) { return $header_output; } +/** + * Temporary test function to process template vars with formatting. + * I use it for viewing the message_header (view_header.php) with + * a sort of template. + * @param mixed $var + * @param mixed $format_ar + * @since 1.3.0 + * @todo if function is temporary, then why it is used. + * @deprecated + */ +function echo_template_var($var, $format_ar = array() ) { + $frm_last = count($format_ar) -1; + + if (isset($format_ar[0])) echo $format_ar[0]; + $i = 1; + + switch (true) { + case (is_string($var)): + echo $var; + break; + case (is_array($var)): + $frm_a = array_slice($format_ar,1,$frm_last-1); + foreach ($var as $a_el) { + if (is_array($a_el)) { + echo_template_var($a_el,$frm_a); + } else { + echo $a_el; + if (isset($format_ar[$i])) { + echo $format_ar[$i]; + } + $i++; + } + } + break; + default: + break; + } + if (isset($format_ar[$frm_last]) && $frm_last>$i ) { + echo $format_ar[$frm_last]; + } +} + 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") . ' - '. - '' . "\n" . + '
'. + _("Viewing Full Header") . ' - '. + '' ._("View message") . "
\n"; - - echo_template_var($header, - array( - "\n".'
', - '', - '', - '', - '
'."\n" - ) ); + echo '">' ._("View message") . "\n"; + + echo_template_var($header, + array( + '\n".'
', + '', + '', + '', + '
'."\n" + ) + ); echo ''; } @@ -115,17 +158,17 @@ if ( sqgetGlobalVar('mailbox', $temp, SQ_GET) ) { } 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, +$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); +$header = parse_viewheader($imapConnection,$passed_id, $passed_ent_id); view_header($header, $mailbox, $color); -?> +?> \ No newline at end of file