X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fread_body.php;h=05462549a88987a26c702247754b207f4e615640;hb=6a109962730487f0fcd33d55280f7da00c6f02a8;hp=59e6f0d32a288c2561c95135e86e562d0d1e7c02;hpb=99fa2b21527197e185f1fbb3b51aca57ddd079eb;p=squirrelmail.git diff --git a/src/read_body.php b/src/read_body.php index 59e6f0d3..05462549 100644 --- a/src/read_body.php +++ b/src/read_body.php @@ -27,6 +27,7 @@ include("../src/load_prefs.php"); $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); sqimap_mailbox_select($imapConnection, $mailbox); + do_hook("html_top"); displayPageHeader($color, $mailbox); if ($view_hdr) { @@ -39,25 +40,36 @@ if ($where && $what) { // Got here from a search echo ""; - } else { + } else { echo ""; } echo ""._("View message") . "\n"; echo "\n"; - echo "
";
+      echo "
"; + + echo ""; for ($i=1; $i < count($read)-1; $i++) { - $read[$i] = htmlspecialchars($read[$i]); - if (substr($read[$i], 0, 1) != "\t" && - substr($read[$i], 0, 1) != " " && - substr($read[$i], 0, 1) != "&" && - trim($read[$i])) { - $pre = substr($read[$i], 0, strpos($read[$i], ":")); - $read[$i] = str_replace("$pre", "$pre", decodeHeader($read[$i])); + $line = htmlspecialchars($read[$i]); + if (eregi("^[ |\t]", $line)) { + $second = $line; + $first = ""; + } else if (eregi("^([^:|^\s]+):(.+)", $line, $regs)) { + $first = $regs[1]; + $second = $regs[2]; + } else { + $second = trim($line); + $first = ""; } - echo "$read[$i]"; + echo ""; } - echo "
"; + if ($first) echo "$first:"; + else echo " "; + echo "$second
\n"; + echo "
"; + echo "\n"; echo ""; + sqimap_mailbox_close($imapConnection); + sqimap_logout($imapConnection); exit; } @@ -66,34 +78,48 @@ // returns the index of the next valid message from the array function findNextMessage() { - global $msort, $currentArrayIndex, $msgs; - for (reset($msort); ($key = key($msort)), (isset($key)); next($msort)) { - if ($currentArrayIndex == $msgs[$key]["ID"]) { - next($msort); - $key = key($msort); - if (isset($key)) - return $msgs[$key]["ID"]; - } - } + global $msort, $currentArrayIndex, $msgs, $sort; + + if ($sort == 6) { + if ($currentArrayIndex != 1) { + return $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)) + return $msgs[$key]["ID"]; + } + } + } return -1; } // returns the index of the previous message from the array function findPreviousMessage() { - global $msort, $currentArrayIndex, $msgs; - for (reset($msort); ($key = key($msort)), (isset($key)); next($msort)) { - if ($currentArrayIndex == $msgs[$key]["ID"]) { - prev($msort); - $key = key($msort); - if (isset($key)) - return $msgs[$key]["ID"]; - } - } + global $msort, $currentArrayIndex, $sort, $msgs, $imapConnection, $mailbox; + if ($sort == 6) { + $numMessages = sqimap_get_num_messages($imapConnection, $mailbox); + if ($currentArrayIndex != $numMessages) { + return $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)) + return $msgs[$key]["ID"]; + } + } + } return -1; } if (isset($msgs)) { - $currentArrayIndex = $passed_id; + $currentArrayIndex = $passed_id; /* for ($i=0; $i < count($msgs); $i++) { if ($msgs[$i]["ID"] == $passed_id) { @@ -116,12 +142,25 @@ $message = sqimap_get_message($imapConnection, $passed_id, $mailbox); /** translate the subject and mailbox into url-able text **/ - $url_subj = urlencode(trim(stripslashes($message->header->subject))); + $url_subj = urlencode(trim(sqStripSlashes($message->header->subject))); $urlMailbox = urlencode($mailbox); $url_replyto = urlencode($message->header->replyto); $url_replytoall = urlencode($message->header->replyto); - $url_replytoallcc = urlencode(getLineOfAddrs($message->header->to) . ", " . getLineOfAddrs($message->header->cc)); + $url_replytoallcc = getLineOfAddrs($message->header->to); + $url_replytoallcc_cc = getLineOfAddrs($message->header->cc); + if ($url_replytoallcc) { + if ($url_replytoallcc_cc) { + $url_replytoallcc .= ", " . $url_replytoallcc_cc; + } + } else { + if ($url_replytoallcc_cc) { + $url_replytoallcc = $url_replytoallcc_cc; + } else { + $url_replytoallcc = ""; + } + } + $url_replytoallcc = urlencode($url_replytoallcc); $dateString = getLongDateString($message->header->date); $ent_num = findDisplayEntity($message); @@ -201,9 +240,11 @@ /** make sure everything will display in HTML format **/ $from_name = decodeHeader(htmlspecialchars($message->header->from)); - $subject = decodeHeader(htmlspecialchars(stripslashes($message->header->subject))); + $subject = decodeHeader(htmlspecialchars($message->header->subject)); + do_hook("read_body_top"); echo "
"; + echo "\n"; echo " "; echo "
"; echo " "; @@ -220,7 +261,7 @@ if ($where && $what) { echo " "; } else { - echo " "; + echo " "; } echo _("Delete"); echo "  "; @@ -268,7 +309,7 @@ echo " \n"; if ($where && $what) { // Got here from a search @@ -282,7 +323,7 @@ echo " \n"; echo " \n"; /** date **/ @@ -290,7 +331,7 @@ echo " \n"; echo " \n"; /** to **/ @@ -298,7 +339,7 @@ echo " \n"; echo " \n"; /** cc **/ @@ -307,26 +348,27 @@ echo " \n"; echo " \n"; } echo "
\n"; echo _("Subject:"); echo " \n"; - echo " $subject\n"; + echo " $subject \n"; echo " \n"; echo _("From:"); echo " \n"; - echo " $from_name\n"; + echo " $from_name \n"; echo "
\n"; echo _("Date:"); echo " \n"; - echo " $dateString\n"; + echo " $dateString \n"; echo "
\n"; echo _("To:"); echo " \n"; - echo " $to_string\n"; + echo " $to_string \n"; echo "
\n"; echo " Cc:\n"; echo " \n"; - echo " $cc_string\n"; + echo " $cc_string \n"; echo "
"; echo "
"; - echo "\n"; + echo "
\n"; echo " \n"; - echo "
\n"; - $body = formatBody($imapConnection, $message, $color, $wrap_at); echo "
"; + + $body = formatBody($imapConnection, $message, $color, $wrap_at); - echo "$body"; - - echo "
"; + echo $body; + echo "\n"; echo " "; echo "
 
\n"; + do_hook("read_body_bottom"); + do_hook("html_bottom"); sqimap_logout($imapConnection); ?>