X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fread_body.php;h=f9c22d88823740390a645728e6ee4f4e108e4c22;hb=5eb5b57e4c250a5beb6976c9516f1b537b2e0b3c;hp=6e02591c3a6a42db8c45cf2b3e0aecd7f334102d;hpb=355861846a51d35efe50848869d680fd3b4a5316;p=squirrelmail.git
diff --git a/src/read_body.php b/src/read_body.php
index 6e02591c..f9c22d88 100644
--- a/src/read_body.php
+++ b/src/read_body.php
@@ -3,664 +3,1073 @@
/**
* read_body.php
*
- * Copyright (c) 1999-2001 The SquirrelMail Development Team
+ * Copyright (c) 1999-2002 The SquirrelMail Project Team
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
* This file is used for reading the msgs array and displaying
* 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');
require_once('../functions/mime.php');
require_once('../functions/date.php');
require_once('../functions/url_parser.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 '
' .
- '
';
-
- $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] = '';
+require_once('../functions/smtp.php');
+require_once('../functions/html.php');
+require_once('../src/view_header.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.
+ *
+ * @return the index of the next valid message from the array
+ */
+function findNextMessage() {
+ global $msort, $currentArrayIndex, $msgs, $sort,
+ $thread_sort_messages, $allow_server_sort,
+ $server_sort_array;
+ if (!is_array($server_sort_array)) {
+ $thread_sort_messages = 0;
+ $allow_server_sort = FALSE;
+ }
+ $result = -1;
+ if ($thread_sort_messages == 1 || $allow_server_sort == TRUE) {
+ reset($server_sort_array);
+ while(list($key, $value) = each ($server_sort_array)) {
+ if ($currentArrayIndex == $value) {
+ if ($key == (count($server_sort_array) - 1)) {
+ $result = -1;
+ break;
+ }
+ $result = $server_sort_array[$key + 1];
+ break;
}
}
- 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 " |