From: philippe_mingo Date: Sat, 5 Jan 2002 21:11:21 +0000 (+0000) Subject: Cleaning and bug-fix. Added base uri to read mail. X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=commitdiff_plain;h=a07cd1a401ba4efc7fdcf418cb51449bee09fbdc;hp=905680474fee3c9e29eeb7a54ab10c8815947ad7 Cleaning and bug-fix. Added base uri to read mail. git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@2100 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- diff --git a/functions/imap.php b/functions/imap.php index ffaf11a6..d1d68536 100644 --- a/functions/imap.php +++ b/functions/imap.php @@ -12,11 +12,9 @@ * $Id$ */ -$imap_backend = 'imap'; - -require_once('../functions/' . $imap_backend . '_mailbox.php'); -require_once('../functions/' . $imap_backend . '_messages.php'); -require_once('../functions/' . $imap_backend . '_general.php'); -require_once('../functions/' . $imap_backend . '_search.php'); +require_once('../functions/imap_mailbox.php'); +require_once('../functions/imap_messages.php'); +require_once('../functions/imap_general.php'); +require_once('../functions/imap_search.php'); ?> diff --git a/functions/page_header.php b/functions/page_header.php index c3d9a666..2b22afcc 100644 --- a/functions/page_header.php +++ b/functions/page_header.php @@ -11,25 +11,8 @@ * $Id$ */ -/*****************************************************************/ -/*** THIS FILE NEEDS TO HAVE ITS FORMATTING FIXED!!! ***/ -/*** PLEASE DO SO AND REMOVE THIS COMMENT SECTION. ***/ -/*** + Base level indent should begin at left margin, as ***/ -/*** the first line of the function definition below. ***/ -/*** + All identation should consist of four space blocks ***/ -/*** + Tab characters are evil. ***/ -/*** + all comments should use "slash-star ... star-slash" ***/ -/*** style -- no pound characters, no slash-slash style ***/ -/*** + FLOW CONTROL STATEMENTS (if, while, etc) SHOULD ***/ -/*** ALWAYS USE { AND } CHARACTERS!!! ***/ -/*** + Please use ' instead of ", when possible. Note " ***/ -/*** should always be used in _( ) function calls. ***/ -/*** Thank you for your help making the SM code more readable. ***/ -/*****************************************************************/ - // Always set up the language before calling these functions -function displayHtmlHeader - ($title = 'SquirrelMail', $xtra = '', $do_hook = TRUE ) { +function displayHtmlHeader( $title = 'SquirrelMail', $xtra = '', $do_hook = TRUE ) { global $theme_css; @@ -45,61 +28,60 @@ function displayHtmlHeader } echo "$title$xtra\n\n"; - - } - - function displayInternalLink ($path, $text, $target='') { - global $base_uri; - - if ($target != '') - $target = " target=\"$target\""; - - echo ''.$text.''; - } - - function displayPageHeader($color, $mailbox) { - global $delimiter, $hide_sm_attributions; - displayHtmlHeader (); - - echo "\n\n"; - - /** Here is the header and wrapping table **/ - $shortBoxName = readShortMailboxName($mailbox, $delimiter); - echo "\n" - . "\n" - . " \n" - . " \n" - . " \n" - . " \n" - . " \n" - . "
\n" - . ' ' . _("Current Folder") . ": $shortBoxName \n" - . " \n"; - displayInternalLink ('src/signout.php', _("Sign Out"), '_top'); - echo "
\n"; - $urlMailbox = urlencode($mailbox); - displayInternalLink ("src/compose.php?mailbox=$urlMailbox", _("Compose"), "right"); - echo "  \n"; - displayInternalLink ("src/addressbook.php", _("Addresses"), "right"); - echo "  \n"; - displayInternalLink ("src/folders.php", _("Folders"), "right"); - echo "  \n"; - displayInternalLink ("src/options.php", _("Options"), "right"); - echo "  \n"; - displayInternalLink ("src/search.php?mailbox=$urlMailbox", _("Search"), "right"); - echo "  \n"; - displayInternalLink ("src/help.php", _("Help"), "right"); - echo "  \n"; - - do_hook("menuline"); - - echo " \n"; - echo ($hide_sm_attributions ? ' ' : +} + +function displayInternalLink($path, $text, $target='') { + global $base_uri; + + if ($target != '') { + $target = " target=\"$target\""; + } + + echo ''.$text.''; +} + +function displayPageHeader($color, $mailbox) { + global $delimiter, $hide_sm_attributions; + displayHtmlHeader (); + + echo "\n\n"; + + /** Here is the header and wrapping table **/ + $shortBoxName = readShortMailboxName($mailbox, $delimiter); + echo "\n" + . "\n" + . " \n" + . " \n" + . " \n" + . " \n" + . " \n" + . " \n". - " \n". - "
\n" + . ' ' . _("Current Folder") . ": $shortBoxName \n" + . " \n"; + displayInternalLink ('src/signout.php', _("Sign Out"), '_top'); + echo "
\n"; + $urlMailbox = urlencode($mailbox); + displayInternalLink ("src/compose.php?mailbox=$urlMailbox", _("Compose"), 'right'); + echo "  \n"; + displayInternalLink ("src/addressbook.php", _("Addresses"), 'right'); + echo "  \n"; + displayInternalLink ("src/folders.php", _("Folders"), 'right'); + echo "  \n"; + displayInternalLink ("src/options.php", _("Options"), 'right'); + echo "  \n"; + displayInternalLink ("src/search.php?mailbox=$urlMailbox", _("Search"), 'right'); + echo "  \n"; + displayInternalLink ("src/help.php", _("Help"), 'right'); + echo "  \n"; + + do_hook("menuline"); + + echo " \n"; + echo ($hide_sm_attributions ? ' ' : "SquirrelMail\n"); - echo "
\n\n"; - // echo "
"; - } + echo " \n". + " \n". + "\n\n"; +} -?> +?> \ No newline at end of file diff --git a/src/read_body.php b/src/read_body.php index ba9be44d..380c5fcb 100644 --- a/src/read_body.php +++ b/src/read_body.php @@ -10,23 +10,7 @@ * the resulting emails in the right frame. * * $Id$ - / - -/*****************************************************************/ -/*** THIS FILE NEEDS TO HAVE ITS FORMATTING FIXED!!! ***/ -/*** PLEASE DO SO AND REMOVE THIS COMMENT SECTION. ***/ -/*** + Base level indent should begin at left margin, as ***/ -/*** the require_once below looks. ***/ -/*** + All identation should consist of four space blocks ***/ -/*** + Tab characters are evil. ***/ -/*** + all comments should use "slash-star ... star-slash" ***/ -/*** style -- no pound characters, no slash-slash style ***/ -/*** + FLOW CONTROL STATEMENTS (if, while, etc) SHOULD ***/ -/*** ALWAYS USE { AND } CHARACTERS!!! ***/ -/*** + Please use ' instead of ", when possible. Note " ***/ -/*** should always be used in _( ) function calls. ***/ -/*** Thank you for your help making the SM code more readable. ***/ -/*****************************************************************/ + */ require_once('../src/validate.php'); require_once('../functions/imap.php'); @@ -34,630 +18,647 @@ require_once('../functions/mime.php'); require_once('../functions/date.php'); require_once('../functions/url_parser.php'); - /** - * Given an IMAP message id number, this will look it up in the cached - * and sorted msgs array and return the index. Used for finding the next - * and previous messages. - * - * returns the index of the next valid message from the array - */ - function findNextMessage() { - global $msort, $currentArrayIndex, $msgs, $sort; - $result = -1; - - if ($sort == 6) { - if ($currentArrayIndex != 1) { - $result = $currentArrayIndex - 1; - } - } else { - for (reset($msort); ($key = key($msort)), (isset($key)); next($msort)) { - if ($currentArrayIndex == $msgs[$key]['ID']) { - next($msort); - $key = key($msort); - if (isset($key)) - $result = $msgs[$key]['ID']; - break; - } +/** +* Given an IMAP message id number, this will look it up in the cached +* and sorted msgs array and return the index. Used for finding the next +* and previous messages. +* +* returns the index of the next valid message from the array +*/ +function findNextMessage() { + global $msort, $currentArrayIndex, $msgs, $sort; + $result = -1; + + if ($sort == 6) { + if ($currentArrayIndex != 1) { + $result = $currentArrayIndex - 1; + } + } else { + for (reset($msort); ($key = key($msort)), (isset($key)); next($msort)) { + if ($currentArrayIndex == $msgs[$key]['ID']) { + next($msort); + $key = key($msort); + if (isset($key)) + $result = $msgs[$key]['ID']; + break; } } - return ($result); } - - /** Removes just one address from the list of addresses. */ - function RemoveAddress(&$addr_list, $addr) { - if ($addr != '') { - foreach (array_keys($addr_list, $addr) as $key_to_delete) { - unset($addr_list[$key_to_delete]); - } + return ($result); +} + +/** Removes just one address from the list of addresses. */ +function RemoveAddress(&$addr_list, $addr) { + if ($addr != '') { + foreach (array_keys($addr_list, $addr) as $key_to_delete) { + unset($addr_list[$key_to_delete]); } - } - - /** returns the index of the previous message from the array. */ - function findPreviousMessage() { - global $msort, $currentArrayIndex, $sort, $msgs, $imapConnection; - global $mailbox, $data_dir, $username; - $result = -1; - - if ($sort == 6) { - $numMessages = sqimap_get_num_messages($imapConnection, $mailbox); - if ($currentArrayIndex != $numMessages) { - $result = $currentArrayIndex + 1; - } - } else { - for (reset($msort); ($key = key($msort)), (isset($key)); next($msort)) { - if ($currentArrayIndex == $msgs[$key]['ID']) { - prev($msort); - $key = key($msort); - if (isset($key)) { - $result = $msgs[$key]['ID']; - break; - } + } +} + +/** returns the index of the previous message from the array. */ +function findPreviousMessage() { + global $msort, $currentArrayIndex, $sort, $msgs, $imapConnection; + global $mailbox, $data_dir, $username; + $result = -1; + + if ($sort == 6) { + $numMessages = sqimap_get_num_messages($imapConnection, $mailbox); + if ($currentArrayIndex != $numMessages) { + $result = $currentArrayIndex + 1; + } + } else { + for (reset($msort); ($key = key($msort)), (isset($key)); next($msort)) { + if ($currentArrayIndex == $msgs[$key]['ID']) { + prev($msort); + $key = key($msort); + if (isset($key)) { + $result = $msgs[$key]['ID']; + break; } } - } - return ($result); - } - - /** - * Displays a link to a page where the message is displayed more - * "printer friendly". - */ - function printer_friendly_link() { - global $passed_id, $mailbox, $ent_num, $color; - global $pf_subtle_link; - global $javascript_on; - - if (strlen(trim($mailbox)) < 1) { - $mailbox = 'INBOX'; } + } + return ($result); +} - $params = '?passed_ent_id=' . $ent_num; - $params .= '&mailbox=' . urlencode($mailbox); - $params .= '&passed_id=' . $passed_id; +/** +* Displays a link to a page where the message is displayed more +* "printer friendly". +*/ +function printer_friendly_link() { + global $passed_id, $mailbox, $ent_num, $color; + global $pf_subtle_link; + global $javascript_on; + + if (strlen(trim($mailbox)) < 1) { + $mailbox = 'INBOX'; + } - $print_text = _("View Printable Version"); + $params = '?passed_ent_id=' . $ent_num; + $params .= '&mailbox=' . urlencode($mailbox); + $params .= '&passed_id=' . $passed_id; - if (!$pf_subtle_link) { - /* The link is large, on the bottom of the header panel. */ - $result = ' ' . "\n" . - ' ' . "\n" . - '  ' . "\n" . - ' '."\n"; - } else { - /* The link is subtle, below "view full header". */ - $result = "
\n"; - } + $print_text = _("View Printable Version"); - /* Output the link. */ - if ($javascript_on) { - $result .= '\n" . - "$print_text\n"; - } else { - $result .= '$print_text\n"; - } + if (!$pf_subtle_link) { + /* The link is large, on the bottom of the header panel. */ + $result = ' ' . "\n" . + ' ' . "\n" . + '  ' . "\n" . + ' '."\n"; + } else { + /* The link is subtle, below "view full header". */ + $result = "
\n"; + } - if (!$pf_subtle_link) { - /* The link is large, on the bottom of the header panel. */ - $result .= ' ' . "\n" . - ' ' . "\n"; - } + /* Output the link. */ + if ($javascript_on) { + $result .= '\n" . + "$print_text\n"; + } else { + $result .= '$print_text\n"; + } - return ($result); + if (!$pf_subtle_link) { + /* The link is large, on the bottom of the header panel. */ + $result .= ' ' . "\n" . + ' ' . "\n"; } - /*****************************/ - /*** Main of read_boby.php ***/ - /*****************************/ - - $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); - sqimap_mailbox_select($imapConnection, $mailbox); - do_hook('html_top'); - displayPageHeader($color, $mailbox); - - if (isset($view_hdr)) { - fputs ($imapConnection, sqimap_session_id() . " FETCH $passed_id BODY[HEADER]\r\n"); - $read = sqimap_read_data ($imapConnection, sqimap_session_id(), true, $a, $b); - - echo '
' . - '' . "\n" . - "
" . _("Viewing Full Header") . ' - '; - if (isset($where) && isset($what)) { - // Got here from a search - echo "'; + return ($result); +} + +/*****************************/ +/*** Main of read_boby.php ***/ +/*****************************/ + +$imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); +sqimap_mailbox_select($imapConnection, $mailbox); +do_hook('html_top'); +displayPageHeader($color, $mailbox); + +if (isset($view_hdr)) { + fputs ($imapConnection, sqimap_session_id() . " FETCH $passed_id BODY[HEADER]\r\n"); + $read = sqimap_read_data ($imapConnection, sqimap_session_id(), true, $a, $b); + + echo '
' . + '' . "\n" . + "
" . _("Viewing Full Header") . ' - '. + ''; + } else { + echo "&passed_id=$passed_id&startMessage=$startMessage&show_more=$show_more\">"; + } + echo ''._("View message") . "
\n" . + "\n" . + '
'; + + $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 { - echo ""; + $second[$i] = trim($line); + $first[$i] = ''; } - echo ''._("View message") . "
\n" . - "\n" . - '
'; - - $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] = ''; - } + } + for ($i=0; $i < count($second); $i = $j) { + if (isset($first[$i])) { + $f = $first[$i]; } - for ($i=0; $i < count($second); $i = $j) { - if (isset($first[$i])) { - $f = $first[$i]; - } - if (isset($second[$i])) { - $s = nl2br($second[$i]); - } - $j = $i + 1; - while (($first[$j] == '') && ($j < count($first))) { - $s .= '    ' . nl2br($second[$j]); - $j++; - } - parseEmail($s); - if (isset($f)) echo "$f$s"; + if (isset($second[$i])) { + $s = nl2br($second[$i]); + } + $j = $i + 1; + while (($first[$j] == '') && ($j < count($first))) { + $s .= '    ' . nl2br($second[$j]); + $j++; } - echo "
\n"; - echo ''; - sqimap_logout($imapConnection); - exit; + parseEmail($s); + if (isset($f)) echo "$f$s"; } - - if (isset($msgs)) { - $currentArrayIndex = $passed_id; - } else { - $currentArrayIndex = -1; + echo "
\n"; + echo ''; + sqimap_logout($imapConnection); + exit; +} + +if (isset($msgs)) { + $currentArrayIndex = $passed_id; +} else { + $currentArrayIndex = -1; +} + +for ($i = 0; $i < count($msgs); $i++) { + if ($msgs[$i]['ID'] == $passed_id) { + $msgs[$i]['FLAG_SEEN'] = true; } - - for ($i = 0; $i < count($msgs); $i++) { - if ($msgs[$i]['ID'] == $passed_id) { - $msgs[$i]['FLAG_SEEN'] = true; +} + +// $message contains all information about the message +// including header and body +$message = sqimap_get_message($imapConnection, $passed_id, $mailbox); + +/** translate the subject and mailbox into url-able text **/ +$url_subj = urlencode(trim($message->header->subject)); +$urlMailbox = urlencode($mailbox); +$url_replyto = ''; +if (isset($message->header->replyto)) { + $url_replyto = urlencode($message->header->replyto); +} + +$url_replytoall = $url_replyto; + +// If we are replying to all, then find all other addresses and +// add them to the list. Remove duplicates. +// This is somewhat messy, so I'll explain: +// 1) Take all addresses (from, to, cc) (avoid nasty join errors here) +$url_replytoall_extra_addrs = array_merge( + array($message->header->from), + $message->header->to, + $message->header->cc +); + +// 2) Make one big string out of them +$url_replytoall_extra_addrs = join(';', $url_replytoall_extra_addrs); + +// 3) Parse that into an array of addresses +$url_replytoall_extra_addrs = parseAddrs($url_replytoall_extra_addrs); + +// 4) Make them unique -- weed out duplicates +// (Coded for PHP 4.0.0) +$url_replytoall_extra_addrs = + array_keys(array_flip($url_replytoall_extra_addrs)); + +// 5) Remove the addresses we'll be sending the message 'to' +$url_replytoall_avoid_addrs = ''; +if (isset($message->header->replyto)) { + $url_replytoall_avoid_addrs = $message->header->replyto; +} + +$url_replytoall_avoid_addrs = parseAddrs($url_replytoall_avoid_addrs); +foreach ($url_replytoall_avoid_addrs as $addr) { + RemoveAddress($url_replytoall_extra_addrs, $addr); +} + +// 6) Remove our identities from the CC list (they still can be in the +// TO list) only if $include_self_reply_all is turned off +if (!$include_self_reply_all) { + RemoveAddress($url_replytoall_extra_addrs, + getPref($data_dir, $username, 'email_address')); + $idents = getPref($data_dir, $username, 'identities'); + if ($idents != '' && $idents > 1) { + for ($i = 1; $i < $idents; $i ++) { + $cur_email_address = getPref($data_dir, $username, 'email_address' . $i); + RemoveAddress($url_replytoall_extra_addrs, $cur_email_address); } } +} - // $message contains all information about the message - // including header and body - $message = sqimap_get_message($imapConnection, $passed_id, $mailbox); +// 7) Smoosh back into one nice line +$url_replytoallcc = getLineOfAddrs($url_replytoall_extra_addrs); - /** translate the subject and mailbox into url-able text **/ - $url_subj = urlencode(trim($message->header->subject)); - $urlMailbox = urlencode($mailbox); - $url_replyto = ''; - if (isset($message->header->replyto)) { - $url_replyto = urlencode($message->header->replyto); - } +// 8) urlencode() it +$url_replytoallcc = urlencode($url_replytoallcc); - $url_replytoall = $url_replyto; +$dateString = getLongDateString($message->header->date); - // If we are replying to all, then find all other addresses and - // add them to the list. Remove duplicates. - // This is somewhat messy, so I'll explain: - // 1) Take all addresses (from, to, cc) (avoid nasty join errors here) - $url_replytoall_extra_addrs = array_merge( - array($message->header->from), - $message->header->to, - $message->header->cc - ); +// What do we reply to -- text only, if possible +$ent_num = findDisplayEntity($message); - // 2) Make one big string out of them - $url_replytoall_extra_addrs = join(';', $url_replytoall_extra_addrs); - - // 3) Parse that into an array of addresses - $url_replytoall_extra_addrs = parseAddrs($url_replytoall_extra_addrs); - - // 4) Make them unique -- weed out duplicates - // (Coded for PHP 4.0.0) - $url_replytoall_extra_addrs = - array_keys(array_flip($url_replytoall_extra_addrs)); - - // 5) Remove the addresses we'll be sending the message 'to' - $url_replytoall_avoid_addrs = ''; - if (isset($message->header->replyto)) { - $url_replytoall_avoid_addrs = $message->header->replyto; - } +/** TEXT STRINGS DEFINITIONS **/ +$echo_more = _("more"); +$echo_less = _("less"); + +if (!isset($show_more_cc)) $show_more_cc = false; - $url_replytoall_avoid_addrs = parseAddrs($url_replytoall_avoid_addrs); - foreach ($url_replytoall_avoid_addrs as $addr) { - RemoveAddress($url_replytoall_extra_addrs, $addr); +/** FORMAT THE TO STRING **/ +$i = 0; +$to_string = ''; +$to_ary = $message->header->to; +while ($i < count($to_ary)) { + $to_ary[$i] = htmlspecialchars(decodeHeader($to_ary[$i])); + + if ($to_string) { + $to_string = "$to_string
$to_ary[$i]"; + } else { + $to_string = "$to_ary[$i]"; } - - // 6) Remove our identities from the CC list (they still can be in the - // TO list) only if $include_self_reply_all is turned off - if (!$include_self_reply_all) { - RemoveAddress($url_replytoall_extra_addrs, - getPref($data_dir, $username, 'email_address')); - $idents = getPref($data_dir, $username, 'identities'); - if ($idents != '' && $idents > 1) { - for ($i = 1; $i < $idents; $i ++) { - $cur_email_address = getPref($data_dir, $username, 'email_address' . $i); - RemoveAddress($url_replytoall_extra_addrs, $cur_email_address); + + $i++; + if (count($to_ary) > 1) { + if ($show_more == false) { + if ($i == 1) { + /* From a search... */ + $to_string .= ' ($echo_more)"; + } else { + $to_string .= "sort=$sort&startMessage=$startMessage&show_more=1&show_more_cc=$show_more_cc\">$echo_more)"; + } + $i = count($to_ary); + } + } else if ($i == 1) { + /* From a search... */ + $to_string .= ' ($echo_less)"; + } else { + $to_string .= "sort=$sort&startMessage=$startMessage&show_more=0&show_more_cc=$show_more_cc\">$echo_less)"; } } } - - // 7) Smoosh back into one nice line - $url_replytoallcc = getLineOfAddrs($url_replytoall_extra_addrs); - - // 8) urlencode() it - $url_replytoallcc = urlencode($url_replytoallcc); - - $dateString = getLongDateString($message->header->date); - - // What do we reply to -- text only, if possible - $ent_num = findDisplayEntity($message); - - /** TEXT STRINGS DEFINITIONS **/ - $echo_more = _("more"); - $echo_less = _("less"); - - if (!isset($show_more_cc)) $show_more_cc = false; - - /** FORMAT THE TO STRING **/ - $i = 0; - $to_string = ''; - $to_ary = $message->header->to; - while ($i < count($to_ary)) { - $to_ary[$i] = htmlspecialchars(decodeHeader($to_ary[$i])); - - if ($to_string) { - $to_string = "$to_string
$to_ary[$i]"; +} + +/** FORMAT THE CC STRING **/ +$i = 0; +if (isset ($message->header->cc[0]) && trim($message->header->cc[0])) { + $cc_string = ""; + $cc_ary = $message->header->cc; + while ($i < count(decodeHeader($cc_ary))) { + $cc_ary[$i] = htmlspecialchars($cc_ary[$i]); + if ($cc_string) { + $cc_string = "$cc_string
$cc_ary[$i]"; } else { - $to_string = "$to_ary[$i]"; + $cc_string = "$cc_ary[$i]"; } $i++; - if (count($to_ary) > 1) { - if ($show_more == false) { + if (count($cc_ary) > 1) { + if ($show_more_cc == false) { if ($i == 1) { /* From a search... */ + $cc_string .= ' ($echo_more)"; + $cc_string .= '&what='.urlencode($what)."&where=".urlencode($where)."&show_more_cc=1&show_more=$show_more\">$echo_more)"; } else { - $to_string = "$to_string ($echo_more)"; + $cc_string .= "&sort=$sort&startMessage=$startMessage&show_more_cc=1&show_more=$show_more\">$echo_more)"; } - $i = count($to_ary); + $i = count($cc_ary); } } else if ($i == 1) { /* From a search... */ + $cc_string .= ' ($echo_less)"; + $cc_string .= 'what=' . urlencode($what)."&where=".urlencode($where)."&show_more_cc=0&show_more=$show_more\">$echo_less)"; } else { - $to_string = "$to_string ($echo_less)"; + $cc_string .= "sort=$sort&startMessage=$startMessage&show_more_cc=0&show_more=$show_more\">$echo_less)"; } } } } - - /** FORMAT THE CC STRING **/ - $i = 0; - if (isset ($message->header->cc[0]) && trim($message->header->cc[0])) { - $cc_string = ""; - $cc_ary = $message->header->cc; - while ($i < count(decodeHeader($cc_ary))) { - $cc_ary[$i] = htmlspecialchars($cc_ary[$i]); - if ($cc_string) { - $cc_string = "$cc_string
$cc_ary[$i]"; - } else { - $cc_string = "$cc_ary[$i]"; - } - - $i++; - if (count($cc_ary) > 1) { - if ($show_more_cc == false) { - if ($i == 1) { - /* From a search... */ - $cc_string = "$cc_string ($echo_more)"; - } else { - $cc_string = "&sort=$sort&startMessage=$startMessage&show_more_cc=1&show_more=$show_more\">$echo_more)"; - } - $i = count($cc_ary); - } - } else if ($i == 1) { - /* From a search... */ - if (isset($where) && isset($what)) { - $cc_string .= " ($echo_less)"; - } else { - $cc_string .= " ($echo_less)"; - } - } - } +} + +/** FORMAT THE BCC STRING **/ +$i = 0; +if (isset ($message->header->bcc[0]) && trim($message->header->bcc[0])){ + $bcc_string = ""; + $bcc_ary = $message->header->bcc; + while ($i < count(decodeHeader($bcc_ary))) { + $bcc_ary[$i] = htmlspecialchars($bcc_ary[$i]); + if ($bcc_string) { + $bcc_string = "$bcc_string
$bcc_ary[$i]"; + } else { + $bcc_string = "$bcc_ary[$i]"; } - } - /** FORMAT THE BCC STRING **/ - $i = 0; - if (isset ($message->header->bcc[0]) && trim($message->header->bcc[0])){ - $bcc_string = ""; - $bcc_ary = $message->header->bcc; - while ($i < count(decodeHeader($bcc_ary))) { - $bcc_ary[$i] = htmlspecialchars($bcc_ary[$i]); - if ($bcc_string) { - $bcc_string = "$bcc_string
$bcc_ary[$i]"; - } else { - $bcc_string = "$bcc_ary[$i]"; - } - - $i++; - if (count($bcc_ary) > 1) { - if ($show_more_cc == false) { - if ($i == 1) { - /* From a search... */ - if (isset($where) && isset($what)) { - $bcc_string = "$bcc_string ($echo_more)"; - } else { - $bcc_string = "$bcc_string ($echo_more)"; - } - $i = count($bcc_ary); - } - } else if ($i == 1) { + $i++; + if (count($bcc_ary) > 1) { + if ($show_more_cc == false) { + if ($i == 1) { /* From a search... */ + $bcc_string .= ' ($echo_less)"; + $bcc_string .= 'what=' . urlencode($what)."&where=".urlencode($where)."&show_more_cc=1&show_more=$show_more\">$echo_more)"; } else { - $bcc_string = "$bcc_string ($echo_less)"; - } + $bcc_string .= "sort=$sort&startMessage=$startMessage&show_more_cc=1&show_more=$show_more\">$echo_more)"; + } + $i = count($bcc_ary); + } + } else if ($i == 1) { + /* From a search... */ + $bcc_string .= ' ($echo_less)"; + } else { + $bcc_string .= "sort=$sort&startMessage=$startMessage&show_more_cc=0&show_more=$show_more\">$echo_less)"; } } } } +} - if ($default_use_priority) { - switch(substr($message->header->priority,0,1)) { - /* First, check for a higher then normal priority. */ - case "1": - case "2": $priority_string = _("High"); break; +if ($default_use_priority) { + switch(substr($message->header->priority,0,1)) { + /* First, check for a higher then normal priority. */ + case "1": + case "2": $priority_string = _("High"); break; - /* Second, check for a normal priority. */ - case "3": $priority_string = _("Normal"); break; + /* Second, check for a normal priority. */ + case "3": $priority_string = _("Normal"); break; - /* Last, check for a lower then normal priority. */ - case "4": - case "5": $priority_string = _("Low"); break; - } + /* Last, check for a lower then normal priority. */ + case "4": + case "5": $priority_string = _("Low"); break; } - - /** make sure everything will display in HTML format **/ - $from_name = decodeHeader(htmlspecialchars($message->header->from)); - $subject = decodeHeader(htmlspecialchars($message->header->subject)); - - do_hook('read_body_top'); - echo '
' . - '' . "\n" . - ' ' . + '
' . "\n" . - ' ' . "\n" . - ' ' . "\n" . - '
' . "\n" . - ' ' . "\n"; - - if ($where && $what) { - if( $pos == '' ) { - $pos = 0; - } - echo " "; - } else { - echo " "; +} + +/** make sure everything will display in HTML format **/ +$from_name = decodeHeader(htmlspecialchars($message->header->from)); +$subject = decodeHeader(htmlspecialchars($message->header->subject)); + +do_hook('read_body_top'); +echo '
' . + '' . "\n" . + ' ' . - ' ' . + ' ' . - '
' . "\n" . + ' ' . "\n" . + ' ' . "\n" . + ' ' . "\n" . + ' ' . "\n" . - ' ' . - ' ' . - '
' . "\n" . + ' ' . "\n" . + ' | '; - if ($where && $what) { - echo " '; + echo "search.php?where$pos=".urlencode($where)."&pos=$pos&what$pos=".urlencode($what)."&mailbox=$urlMailbox\">"; +} else { + echo "right_main.php?use_mailbox_cache=1&sort=$sort&startMessage=$startMessage&mailbox=$urlMailbox\">"; +} +echo _("Message List") . + ' | ' . + ''; +} else { + echo "sort=$sort&startMessage=$startMessage\">"; +} +echo _("Delete") . ' '; +if (($mailbox == $draft_folder) && ($save_as_draft)) { + echo '| ". + _("Resume Draft") . ''; +} + +echo '  ' . + ' ' . "\n" . + ' ' . "\n" . + ' ' . "\n"; + +if ( !($where && $what) ) { + + if ($currentArrayIndex == -1) { + echo 'Previous | Next'; } else { - echo " "; - } - echo _("Delete") . ' '; - if (($mailbox == $draft_folder) && ($save_as_draft)) { - echo '| '; - echo " "; - echo _("Resume Draft") . ''; - } - - echo '  ' . - ' ' . "\n" . - ' ' . "\n" . - ' ' . "\n"; + $prev = findPreviousMessage(); + $next = findNextMessage(); - if ($where && $what) { - } else { - if ($currentArrayIndex == -1) { - echo 'Previous | Next'; + if ($prev != -1) { + echo '" . _("Previous") . " | "; } else { - $prev = findPreviousMessage(); - $next = findNextMessage(); - - if ($prev != -1) { - echo "" . _("Previous") . " | "; - } else { - echo _("Previous") . ' | '; - } - - if ($next != -1) { - echo "" . _("Next") . ""; - } else { - echo _("Next"); - } + echo _("Previous") . ' | '; } - } - echo ' ' . "\n" . - ' ' . - ' ' . - " " . - _("Forward") . - ' | ' . - " " . - _("Reply") . - ' | ' . - " " . - _("Reply All") . - '  ' . - ' ' . - '
' . - '
' . - ' ' . "\n" . - ' ' . "\n"; - - /** subject **/ - echo " \n" . - ' ' . "\n" . - ' ' ."\n"; - - /** from **/ - echo ' ' . "\n" . - ' ' . "\n" . - ' ' . "\n"; - /** date **/ - echo ' ' . "\n" . - ' ' . "\n" . - ' ' . "\n"; - - /** to **/ +} + +echo ' ' . "\n" . + ' ' . + ' ' . + '
\n" . - _("Subject:") . - " \n" . - " $subject \n" . - " ' . "\n"; - - /* From a search... */ - if ($where && $what) { - echo "" . _("View Full Header") . "\n"; - } else { - echo "" . _("View Full Header") . "\n"; - } - - /* Output the printer friendly link if we are in subtle mode. */ - if ($pf_subtle_link) { - echo printer_friendly_link(true); + if ($next != -1) { + echo '" . _("Next") . ""; + } else { + echo _("Next"); + } } - - do_hook("read_body_header_right"); - echo '
' . "\n" . - _("From:") . - ' ' . "\n" . - " $from_name \n" . - '
' . "\n" . - _("Date:") . - " \n" . - " $dateString \n" . - '
' . + ' ' . + ' " . + _("Forward") . + ' | ' . + ' " . + _("Reply") . + ' | ' . + ' " . + _("Reply All") . + '  ' . + ' ' . + '
' . + '
' . + ' ' . "\n" . + ' ' . "\n"; + +/** subject **/ +echo " \n" . + ' ' . "\n" . + ' ' ."\n"; + +/** from **/ +echo ' ' . "\n" . + ' ' . "\n" . + ' ' . "\n"; +/** date **/ +echo ' ' . "\n" . + ' ' . "\n" . + ' ' . "\n"; + +/** to **/ +echo " \n" . + " ' . "\n" . + ' ' . "\n"; +/** cc **/ +if (isset($cc_string)) { echo " \n" . - " ' . "\n" . - ' ' . "\n"; - /** cc **/ - if (isset($cc_string)) { + " ' . "\n" . + ' ' . "\n"; +} + +/** bcc **/ +if (isset($bcc_string)) { + echo " \n" . + " ' . "\n" . + ' ' . "\n"; +} +if ($default_use_priority) { + if (isset($priority_string)) { echo " \n" . - " ' . "\n" . - ' ' . "\n"; + " " . "\n" . + " " . "\n"; } - - /** bcc **/ - if (isset($bcc_string)) { +} + +if ($show_xmailer_default) { + fputs ($imapConnection, sqimap_session_id() . + " FETCH $passed_id BODY.PEEK[HEADER.FIELDS (X-Mailer User-Agent)]\r\n"); + $read = sqimap_read_data ($imapConnection, sqimap_session_id(), true, + $response, $readmessage); + $mailer = substr($read[1], strpos($read[1], " ")); + if (trim($mailer)) { echo " \n" . - " ' . "\n" . - ' ' . "\n"; - } - if ($default_use_priority) { - if (isset($priority_string)) { - echo " \n" . - " " . "\n" . - " " . "\n"; - } - } - - if ($show_xmailer_default) { - fputs ($imapConnection, sqimap_session_id() . - " FETCH $passed_id BODY.PEEK[HEADER.FIELDS (X-Mailer User-Agent)]\r\n"); - $read = sqimap_read_data ($imapConnection, sqimap_session_id(), true, - $response, $readmessage); - $mailer = substr($read[1], strpos($read[1], " ")); - if (trim($mailer)) { - echo " \n" . - " " . "\n" . - " " . "\n"; - } - } - - /* Output the printer friendly link if we are not in subtle mode. */ - if (!$pf_subtle_link) { - echo printer_friendly_link(true); + " " . "\n" . + " " . "\n"; } - - do_hook("read_body_header"); - echo '
\n" . + _("Subject:") . + " \n" . + " $subject \n" . + " '. + '
' . "\n" . + _("From:") . + ' ' . "\n" . + " $from_name \n" . + '
' . "\n" . + _("Date:") . + " \n" . + " $dateString \n" . + '
\n" . + _("To:") . + ' ' . "\n" . + " $to_string \n" . + '
\n" . - _("To:") . - ' ' . "\n" . - " $to_string \n" . - '
\n" . + ' Cc:' . "\n" . + " \n" . + " $cc_string \n" . + '
\n" . + ' Bcc:' . "\n" . + " \n" . + " $bcc_string \n" . + '
\n" . - ' Cc:' . "\n" . - " \n" . - " $cc_string \n" . - '
\n" . + " "._("Priority").": \n". + " \n" . + " $priority_string \n" . + "
\n" . - ' Bcc:' . "\n" . - " \n" . - " $bcc_string \n" . - '
\n" . - " "._("Priority").": \n". - " \n" . - " $priority_string \n" . - "
\n" . - " "._("Mailer").": \n". - " \n" . - " $mailer \n" . - "
\n" . + " "._("Mailer").": \n". + " \n" . + " $mailer \n" . + "
' . - '
'; - flush(); - echo "\n" . - "
\n" . - '
'; - - $body = formatBody($imapConnection, $message, $color, $wrap_at); - - echo $body . - '
' . - '' . "\n" . - " " . - '
 
' . "\n"; - - /* show attached images inline -- if pref'fed so */ - if (($attachment_common_show_images) and - is_array($attachment_common_show_images_list)) { - foreach ($attachment_common_show_images_list as $img) { - echo "\n" . - " \n" . - " \n" . - " \n" . - "
\n" . - ' ' . "\n" . - "
\n"; - } +} + +/* Output the printer friendly link if we are not in subtle mode. */ +if (!$pf_subtle_link) { + echo printer_friendly_link(true); +} + +do_hook("read_body_header"); +echo '
' . + '
'; +flush(); +echo "\n" . + "
\n" . + '
'. + formatBody($imapConnection, $message, $color, $wrap_at). + '
' . + '' . "\n" . + " " . + '
 
' . "\n"; + +/* show attached images inline -- if pref'fed so */ +if (($attachment_common_show_images) and + is_array($attachment_common_show_images_list)) { + foreach ($attachment_common_show_images_list as $img) { + echo "\n" . + " \n" . + " \n" . + " \n" . + "
\n" . + ' ' . "\n" . + "
\n"; } - - do_hook('read_body_bottom'); - do_hook('html_bottom'); - sqimap_logout($imapConnection); -?> \ No newline at end of file +} + +do_hook('read_body_bottom'); +do_hook('html_bottom'); +sqimap_logout($imapConnection); +?> + + \ No newline at end of file