* All incoming form values now have stripslashes() ran on them automatically
[squirrelmail.git] / src / read_body.php
index d3302e3b7296158f29bbbf2c9b1f045c897b35b2..cdc15075d935653ba85807dec49d646da380ddf3 100644 (file)
@@ -41,7 +41,7 @@
       echo "<br>";
       echo "<table width=100% cellpadding=2 cellspacing=0 border=0 align=center>\n";
       echo "   <TR><TD BGCOLOR=\"$color[9]\" WIDTH=100%><center><b>" . _("Viewing full header") . "</b> - ";
-      if ($where && $what) {
+      if (isset($where) && isset($what)) {
          // Got here from a search
          echo "<a href=\"read_body.php?mailbox=".urlencode($mailbox)."&passed_id=$passed_id&where=".urlencode($where)."&what=".urlencode($what)."\">";
       } else {
@@ -51,6 +51,7 @@
       echo "<table width=99% cellpadding=2 cellspacing=0 border=0 align=center>\n";
       echo "<tr><td>";
 
+      $cnum = 0;
       for ($i=1; $i < count($read)-1; $i++) {
          $line = htmlspecialchars($read[$i]);
                        if (eregi("^&gt;", $line)) {
          }
                }
                for ($i=0; $i < count($second); $i = $j) {
-                       $f = $first[$i];
-                       $s = nl2br($second[$i]);
+            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 .= "&nbsp;&nbsp;&nbsp;&nbsp;" . nl2br($second[$j]);
                                $j++;
                        }
                        parseEmail($s);
-                       echo "<nobr><tt><b>$f</b>$s</tt></nobr>";
+            if (isset($f)) echo "<nobr><tt><b>$f</b>$s</tt></nobr>";
       }
       echo "</td></tr></table>\n";
       echo "</body></html>";
    // $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(sqStripSlashes($message->header->subject)));
+   $url_subj = urlencode(trim($message->header->subject));
    $urlMailbox = urlencode($mailbox);
    $url_replyto = urlencode($message->header->replyto);
 
    $url_replytoall_extra_addrs = parseAddrs($url_replytoall_extra_addrs);
    
    // 4) Make them unique -- weed out duplicates
-   $url_replytoall_extra_addrs = array_unique($url_replytoall_extra_addrs);
+   // (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 = parseAddrs($message->header->replyto);
       if (count($to_ary) > 1) {
          if ($show_more == false) {
             if ($i == 1) {
-               if ($where && $what) {
+               if (isset($where) && isset($what)) {
                   // from a search
                   $to_string = "$to_string&nbsp;(<A HREF=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&where=".urlencode($where)."&what=".urlencode($what)."&show_more=1&show_more_cc=$show_more_cc\">$echo_more</A>)";
                } else {
                $i = count($to_ary);
             }
          } else if ($i == 1) {
-            if ($where && $what) {
+            if (isset($where) && isset($what)) {
                // from a search
                $to_string = "$to_string&nbsp;(<A HREF=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&where=".urlencode($where)."&what=".urlencode($what)."&show_more=0&show_more_cc=$show_more_cc\">$echo_less</A>)";
             } else {
 
    /** FORMAT THE CC STRING **/
    $i = 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<BR>$cc_ary[$i]";
-      else
-         $cc_string = "$cc_ary[$i]";
-
-      $i++;
-      if (count($cc_ary) > 1) {
-         if ($show_more_cc == false) {
-            if ($i == 1) {
-               if ($where && $what) {
+   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<BR>$cc_ary[$i]";
+         else
+            $cc_string = "$cc_ary[$i]";
+   
+         $i++;
+         if (count($cc_ary) > 1) {
+            if ($show_more_cc == false) {
+               if ($i == 1) {
+                  if (isset($where) && isset($what)) {
+                     // from a search
+                     $cc_string = "$cc_string&nbsp;(<A HREF=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&what=".urlencode($what)."&where=".urlencode($where)."&show_more_cc=1&show_more=$show_more\">$echo_more</A>)";
+                  } else {
+                     $cc_string = "$cc_string&nbsp;(<A HREF=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&sort=$sort&startMessage=$startMessage&show_more_cc=1&show_more=$show_more\">$echo_more</A>)";
+                  }   
+                  $i = count($cc_ary);
+               }
+            } else if ($i == 1) {
+               if (isset($where) && isset($what)) {
                   // from a search
-                  $cc_string = "$cc_string&nbsp;(<A HREF=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&what=".urlencode($what)."&where=".urlencode($where)."&show_more_cc=1&show_more=$show_more\">$echo_more</A>)";
+                  $cc_string = "$cc_string&nbsp;(<A HREF=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&what=".urlencode($what)."&where=".urlencode($where)."&show_more_cc=0&show_more=$show_more\">$echo_less</A>)";
                } else {
-                  $cc_string = "$cc_string&nbsp;(<A HREF=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&sort=$sort&startMessage=$startMessage&show_more_cc=1&show_more=$show_more\">$echo_more</A>)";
+                  $cc_string = "$cc_string&nbsp;(<A HREF=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&sort=$sort&startMessage=$startMessage&show_more_cc=0&show_more=$show_more\">$echo_less</A>)";
                }   
-               $i = count($cc_ary);
             }
-         } else if ($i == 1) {
-            if ($where && $what) {
-               // from a search
-               $cc_string = "$cc_string&nbsp;(<A HREF=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&what=".urlencode($what)."&where=".urlencode($where)."&show_more_cc=0&show_more=$show_more\">$echo_less</A>)";
-            } else {
-               $cc_string = "$cc_string&nbsp;(<A HREF=\"read_body.php?mailbox=$urlMailbox&passed_id=$passed_id&sort=$sort&startMessage=$startMessage&show_more_cc=0&show_more=$show_more\">$echo_less</A>)";
-            }   
          }
       }
    }
-
    /** make sure everything will display in HTML format **/
    $from_name = decodeHeader(htmlspecialchars($message->header->from));
    $subject = decodeHeader(htmlspecialchars($message->header->subject));
    echo "         </TD>\n";
    echo "      </TR>\n";
    /** cc **/
-   if ($message->header->cc) {
+   if (isset($cc_string)) {
       echo "      <TR>\n";
       echo "         <TD BGCOLOR=\"$color[0]\" WIDTH=15% ALIGN=RIGHT VALIGN=TOP>\n";
       echo "            Cc:\n";