**/
include("../src/validate.php");
- include('../functions/page_header.php');
include('../functions/imap.php');
include('../functions/mime.php');
include('../functions/date.php');
include('../functions/url_parser.php');
- include('../src/load_prefs.php');
$imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
sqimap_mailbox_select($imapConnection, $mailbox);
echo '<tr><td>';
$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;
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) {
/** 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.
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);
do_hook('read_body_top');
echo '<BR>';
- echo '<TABLE COLS="1" CELLSPACING="0" WIDTH="100%" BORDER="0" ALIGN="CENTER" CELLPADDING="0">' . "\n";
+ echo '<TABLE CELLSPACING="0" WIDTH="100%" BORDER="0" ALIGN="CENTER" CELLPADDING="0">' . "\n";
echo ' <TR><TD BGCOLOR="' . $color[9] . '" WIDTH="100%">';
- echo ' <TABLE WIDTH="100%" CELLSPACING="0" BORDER="0" COLS="2" CELLPADDING="3">';
+ echo ' <TABLE WIDTH="100%" CELLSPACING="0" BORDER="0" CELLPADDING="3">';
echo ' <TR>';
echo ' <TD ALIGN="LEFT" WIDTH="33%">';
echo ' <SMALL>';
echo ' </TABLE>';
echo ' </TD></TR>';
echo ' <TR><TD CELLSPACING="0" WIDTH="100%">';
- echo ' <TABLE COLS="3" WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="3">' . "\n";
+ echo ' <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="3">' . "\n";
echo ' <TR>' . "\n";
/** subject **/
- echo " <TD BGCOLOR=\"$color[0]\" WIDTH=15% ALIGN=RIGHT>\n";
+ echo " <TD BGCOLOR=\"$color[0]\" WIDTH=\"10%\" ALIGN=\"right\" VALIGN=\"top\">\n";
echo _("Subject:");
- echo " </TD><TD BGCOLOR=\"$color[0]\" WIDTH=84%>\n";
+ echo " </TD><TD BGCOLOR=\"$color[0]\" WIDTH=\"80%\" VALIGN=\"top\">\n";
echo " <B>$subject</B> \n";
echo " </TD>\n";
- echo ' <TD ROWSPAN=4 BGCOLOR="'.$color[0].'" ALIGN=right VALIGN=top NOWRAP><small>' . "\n";
+ echo ' <TD ROWSPAN="4" width=10% BGCOLOR="'.$color[0].'" ALIGN=right VALIGN=top NOWRAP><small>' . "\n";
if ($where && $what) {
// Got here from a search
- echo " <a href=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&where=".urlencode($where)."&what=".urlencode($what)."&view_hdr=1\">" . _("View full header") . "</a>\n";
+ echo "<a href=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&where=".urlencode($where)."&what=".urlencode($what)."&view_hdr=1\">" . _("View full header") . "</a>\n";
} else {
- echo " <a href=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&startMessage=$startMessage&show_more=$show_more&view_hdr=1\">" . _("View full header") . "</a>\n";
+ echo "<a href=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&startMessage=$startMessage&show_more=$show_more&view_hdr=1\">" . _("View full header") . "</a>\n";
}
do_hook("read_body_header_right");
- echo ' </small> </TD>' . "\n";
+ echo '</small></TD>' . "\n";
echo ' </TR>' ."\n";
/** from **/
echo ' <TR>' . "\n";
- echo ' <TD BGCOLOR="' . $color[0] . '" WIDTH="15%" ALIGN="RIGHT">' . "\n";
+ echo ' <TD BGCOLOR="' . $color[0] . '" ALIGN="RIGHT">' . "\n";
echo _("From:");
- echo ' </TD><TD BGCOLOR="' . $color[0] . '" WIDTH="85%">' . "\n";
+ echo ' </TD><TD BGCOLOR="' . $color[0] . '">' . "\n";
echo " <B>$from_name</B> \n";
echo ' </TD>' . "\n";
echo ' </TR>' . "\n";
/** date **/
echo ' <TR>' . "\n";
- echo ' <TD BGCOLOR="' . $color[0] . '" WIDTH="15%" ALIGN="RIGHT">' . "\n";
+ echo ' <TD BGCOLOR="' . $color[0] . '" ALIGN="RIGHT">' . "\n";
echo _("Date:");
- echo " </TD><TD BGCOLOR=\"$color[0]\" WIDTH=85%>\n";
+ echo " </TD><TD BGCOLOR=\"$color[0]\">\n";
echo " <B>$dateString</B> \n";
echo ' </TD>' . "\n";
echo ' </TR>' . "\n";
/** to **/
echo " <TR>\n";
- echo " <TD BGCOLOR=\"$color[0]\" WIDTH=15% ALIGN=RIGHT VALIGN=TOP>\n";
+ echo " <TD BGCOLOR=\"$color[0]\" ALIGN=RIGHT VALIGN=TOP>\n";
echo _("To:");
- echo ' </TD><TD BGCOLOR="' . $color[0] . '" WIDTH="85%" VALIGN="TOP">' . "\n";
+ echo ' </TD><TD BGCOLOR="' . $color[0] . '" VALIGN="TOP">' . "\n";
echo " <B>$to_string</B> \n";
echo ' </TD>' . "\n";
echo ' </TR>' . "\n";
/** cc **/
if (isset($cc_string)) {
echo " <TR>\n";
- echo " <TD BGCOLOR=\"$color[0]\" WIDTH=15% ALIGN=RIGHT VALIGN=TOP>\n";
+ echo " <TD BGCOLOR=\"$color[0]\" ALIGN=RIGHT VALIGN=TOP>\n";
echo ' Cc:' . "\n";
- echo " </TD><TD BGCOLOR=\"$color[0]\" WIDTH=85% VALIGN=TOP colspan=2>\n";
+ echo " </TD><TD BGCOLOR=\"$color[0]\" VALIGN=TOP colspan=2>\n";
echo " <B>$cc_string</B> \n";
echo ' </TD>' . "\n";
echo ' </TR>' . "\n";
echo '</TABLE>';
echo ' </TD></TR>';
echo '</table>';
- echo "<TABLE COLS=1 CELLSPACING=0 WIDTH=97% BORDER=0 ALIGN=CENTER CELLPADDING=0>\n";
+ echo "<TABLE CELLSPACING=0 WIDTH=97% BORDER=0 ALIGN=CENTER CELLPADDING=0>\n";
echo " <TR><TD BGCOLOR=\"$color[4]\" WIDTH=100%>\n";
echo '<BR>';
$body = formatBody($imapConnection, $message, $color, $wrap_at);
+ $body = str_replace("&", "&", $body);
+
echo $body;
echo '</TABLE>';
- echo '<TABLE COLS="1" CELLSPACING="0" WIDTH="100%" BORDER="0" ALIGN="CENTER" CELLPADDING="0">' . "\n";
+ echo '<TABLE CELLSPACING="0" WIDTH="100%" BORDER="0" ALIGN="CENTER" CELLPADDING="0">' . "\n";
echo " <TR><TD BGCOLOR=\"$color[9]\"> </TD></TR>";
echo '</TABLE>' . "\n";