X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fread_body.php;h=95368c107000c8b5b5b1acea2ff97c20768e9887;hb=541506f3bbe3cfc966221c55c35e50e9bda6f181;hp=266086a60441b6743ee13df15c91c5a2a8cb24a4;hpb=e5a067194eb800d0a1ad5e0a46a61dd63f9119a0;p=squirrelmail.git
diff --git a/src/read_body.php b/src/read_body.php
index 266086a6..95368c10 100644
--- a/src/read_body.php
+++ b/src/read_body.php
@@ -11,24 +11,12 @@
** $Id$
**/
- session_start();
-
- if (!isset($strings_php))
- include('../functions/strings.php');
- if (!isset($config_php))
- include('../config/config.php');
- if (!isset($page_header_php))
- include('../functions/page_header.php');
- if (!isset($imap_php))
- include('../functions/imap.php');
- if (!isset($mime_php))
- include('../functions/mime.php');
- if (!isset($date_php))
- include('../functions/date.php');
- if (!isset($url_parser_php))
- include('../functions/url_parser.php');
-
- include('../src/load_prefs.php');
+ include("../src/validate.php");
+ include('../functions/imap.php');
+ include('../functions/mime.php');
+ include('../functions/date.php');
+ include('../functions/url_parser.php');
+
$imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
sqimap_mailbox_select($imapConnection, $mailbox);
do_hook('html_top');
@@ -52,7 +40,7 @@
echo '
';
$cnum = 0;
- for ($i=1; $i < count($read)-1; $i++) {
+ for ($i=1; $i < count($read); $i++) {
$line = htmlspecialchars($read[$i]);
if (eregi("^>", $line)) {
$second[$i] = $line;
@@ -102,7 +90,7 @@
}
} else {
for (reset($msort); ($key = key($msort)), (isset($key)); next($msort)) {
- if ($currentArrayIndex == $msgs[$key]['ID') {
+ if ($currentArrayIndex == $msgs[$key]['ID']) {
next($msort);
$key = key($msort);
if (isset($key))
@@ -113,9 +101,21 @@
return -1;
}
+ // Removes just one address from the list of addresses
+ function RemoveAddress(&$addr_list, $addr) {
+ if ($addr == '')
+ return;
+ 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, $mailbox;
+ global $msort, $currentArrayIndex, $sort, $msgs, $imapConnection,
+ $mailbox, $data_dir, $username;
if ($sort == 6) {
$numMessages = sqimap_get_num_messages($imapConnection, $mailbox);
if ($currentArrayIndex != $numMessages) {
@@ -160,9 +160,11 @@
/** translate the subject and mailbox into url-able text **/
$url_subj = urlencode(trim($message->header->subject));
$urlMailbox = urlencode($mailbox);
- $url_replyto = urlencode($message->header->replyto);
+ $url_replyto = '';
+ if (isset($message->header->replyto))
+ $url_replyto = urlencode($message->header->replyto);
- $url_replytoall = 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.
@@ -183,22 +185,42 @@
array_keys(array_flip($url_replytoall_extra_addrs));
// 5) Remove the addresses we'll be sending the message 'to'
- $url_replytoall_avoid_addrs = parseAddrs($message->header->replyto);
+ $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)
{
- foreach (array_keys($url_replytoall_extra_addrs, $addr) as $key_to_delete)
+ 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 isn't set or it is ''.
+ if (getPref($data_dir, $username, '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)
{
- unset($url_replytoall_extra_addrs[$key_to_delete]);
+ for ($i = 1; $i < $idents; $i ++)
+ {
+ RemoveAddress($url_replytoall_extra_addrs,
+ getPref($data_dir, $username, 'email_address' .
+ $i));
+ }
}
- }
+ }
- // 6) Smoosh back into one nice line
+ // 7) Smoosh back into one nice line
$url_replytoallcc = getLineOfAddrs($url_replytoall_extra_addrs);
- // 7) urlencode() it
+ // 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 **/
@@ -284,9 +306,9 @@
do_hook('read_body_top');
echo ' ';
- echo '' . "\n";
+ echo '' . "\n";
echo ' ';
- echo ' ';
+ echo ' ';
echo ' ';
echo ' ';
echo ' ';
@@ -342,51 +364,54 @@
echo ' | ';
echo ' ';
echo ' ';
- echo ' ' . "\n";
+ echo ' ' . "\n";
echo ' ' . "\n";
/** subject **/
- echo " \n";
+ echo " | \n";
echo _("Subject:");
- echo " | \n";
+ echo " | \n";
echo " $subject \n";
echo " | \n";
+ echo ' ' . "\n";
if ($where && $what) {
// Got here from a search
- echo " " . _("View full header") . " | ";
- } else {
- echo " " . _("View full header") . " | ";
+ echo "" . _("View full header") . "\n";
+ } else {
+ echo "" . _("View full header") . "\n";
}
- echo ' | ' ."\n";
+ do_hook("read_body_header_right");
+ echo '' . "\n";
+ echo ' ' ."\n";
/** from **/
echo ' ' . "\n";
- echo ' ' . "\n";
+ echo ' | ' . "\n";
echo _("From:");
- echo ' | ' . "\n";
+ echo ' | ' . "\n";
echo " $from_name \n";
echo ' | ' . "\n";
echo ' ' . "\n";
/** date **/
echo ' ' . "\n";
- echo ' ' . "\n";
+ echo ' | ' . "\n";
echo _("Date:");
- echo " | \n";
+ echo " | \n";
echo " $dateString \n";
echo ' | ' . "\n";
echo ' ' . "\n";
/** to **/
echo " \n";
- echo " \n";
+ echo " | \n";
echo _("To:");
- echo ' | ' . "\n";
+ echo ' | ' . "\n";
echo " $to_string \n";
echo ' | ' . "\n";
echo ' ' . "\n";
/** cc **/
if (isset($cc_string)) {
echo " \n";
- echo " \n";
+ echo " | \n";
echo ' Cc:' . "\n";
- echo " | \n";
+ echo " | \n";
echo " $cc_string \n";
echo ' | ' . "\n";
echo ' ' . "\n";
@@ -395,7 +420,7 @@
echo ' ';
echo ' ';
echo ' ';
- echo "\n";
+ echo "\n";
echo " \n";
echo ' ';
@@ -404,7 +429,8 @@
echo $body;
- echo '';
+ echo '' . "\n";
echo " | ";
echo ' ' . "\n";
| | | |