Added a constat to all files in functions/ to be able to chech whether the
[squirrelmail.git] / functions / mailbox_display.php
index 66c7fde5402ae105ced9ad078ba9857ca207d9e5..7ec2a6f72475c68530c3472b06f45299138c0849 100644 (file)
@@ -8,8 +8,12 @@
     **
     **/
 
+   $mailbox_info = true;
+
    function printMessageInfo($imapConnection, $t, $i, $from, $subject, $dateString, $answered, $seen, $mailbox, $sort, $startMessage) {
-      $senderName = getSenderName($from);
+      require ("../config/config.php");
+
+      $senderName = $from;
       $urlMailbox = urlencode($mailbox);
       $subject = trim(stripslashes($subject));
       echo "<TR>\n";
    /**
     ** This function loops through a group of messages in the mailbox and shows them
     **/
-   function showMessagesForMailbox($imapConnection, $mailbox, $numMessages, $startMessage, $sort) {
-      include("../config/config.php");
+   function showMessagesForMailbox($imapConnection, $mailbox, $numMessages, $startMessage, $sort, $color) {
+      include ("../config/config.php");
 
-      if (1 <= $numMessages) {
-         getMessageHeaders($imapConnection, 1, $numMessages, $from, $subject, $date);
+      if ($numMessages >= 1) {
+         for ($q = 0; $q < $numMessages; $q++) {
+            sqimap_get_small_header ($imapConnection, $q+1, $f, $s, $d);
+            $from[$q] = $f;
+            $date[$q] = $d;
+            $subject[$q] = $s;
+         }
+         $flags = sqimap_get_flags ($imapConnection, 1, $numMessages);
       }
 
       $j = 0;
          $tmpdate = explode(" ", trim($date[$j]));
 
          $messages[$j]["TIME_STAMP"] = getTimeStamp($tmpdate);
-         $messages[$j]["DATE_STRING"] = getDateString($tmpdate);
+         $messages[$j]["DATE_STRING"] = getDateString($messages[$j]["TIME_STAMP"]);
          $messages[$j]["ID"] = $j+1;
-         $messages[$j]["FROM"] = getSenderName($from[$j]);
-         $messages[$j]["SUBJECT"] = $subject[$j];
+         $messages[$j]["FROM"] = decodeHeader($from[$j]);
+         $messages[$j]["SUBJECT"] = decodeHeader($subject[$j]);
          $messages[$j]["FLAG_DELETED"] = false;
          $messages[$j]["FLAG_ANSWERED"] = false;
          $messages[$j]["FLAG_SEEN"] = false;
 
          $num = 0;
-         getMessageFlags($imapConnection, $j+1, $flags);
-         while ($num < count($flags)) {
-            if ($flags[$num] == "Deleted") {
+         while ($num < count($flags[$j])) {
+            if ($flags[$j][$num] == "Deleted") {
                $messages[$j]["FLAG_DELETED"] = true;
             }
-            else if ($flags[$num] == "Answered") {
+            else if ($flags[$j][$num] == "Answered") {
                $messages[$j]["FLAG_ANSWERED"] = true;
             }
-            else if ($flags[$num] == "Seen") {
+            else if ($flags[$j][$num] == "Seen") {
                $messages[$j]["FLAG_SEEN"] = true;
             }
             $num++;
           ** 2 = Name (up)
           ** 3 = Name (dn)
           **/
+
          if ($sort == 0)
             $msgs = ary_sort($msgs, "TIME_STAMP", -1);
          else if ($sort == 1)
             $msgs = ary_sort($msgs, "TIME_STAMP", 1);
          else {
+
             $original = $msgs;
             $i = 0;
             while ($i < count($msgs)) {
             $i = 0;
             while ($i < count($msgs)) {
                $j = 0;
+               $loop = true;
                while ($j < count($original)) {
                   if ($msgs[$i]["ID"] == $original[$j]["ID"]) {
                      $msgs[$i]["FROM"] = $original[$j]["FROM"];
                      $msgs[$i]["SUBJECT"] = $original[$j]["SUBJECT"];
+
+                     // exit out of this loop if we find the thing.
+                     $j = count($original) + 1;
                   }
                   $j++;
                }
          }
       }
 
-//      $j = 0;
-//      while ($j < $numMessages) {
-//         $sub = $msgs[$j]["SUBJECT"];
-//         $id = $msgs[$j]["ID"];
-//         echo "$id -- $sub<BR>";
-//         $j++;
-//      }
-//exit;
-
       if ($startMessage + 24 < $numMessages) {
          $endMessage = $startMessage + 24;
       } else {
       $prevGroup = $startMessage - 25;
       $urlMailbox = urlencode($mailbox);
 
-
       /** This is the beginning of the message list table.  It wraps around all messages */
       echo "<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=1>";
 
       if ($startMessage < $endMessage) {
          echo "<TR BGCOLOR=\"$color[4]\"><TD>";
-         echo "<CENTER><FONT FACE=\"Arial,Helvetica\">Viewing messages <B>$startMessage</B> to <B>$endMessage</B> ($numMessages total)</FONT></CENTER>\n";
+         echo "<CENTER><FONT FACE=\"Arial,Helvetica\">". _("Viewing messages ") ."<B>$startMessage</B>". _(" to ") ."<B>$endMessage</B> ($numMessages total)</FONT></CENTER>\n";
          echo "</TD></TR>\n";
       } else if ($startMessage == $endMessage) {
          echo "<TR BGCOLOR=\"$color[4]>\"TD>";
-         echo "<CENTER><FONT FACE=\"Arial,Helvetica\">Viewing message <B>$startMessage</B> ($numMessages total)</FONT></CENTER>\n";
+         echo "<CENTER><FONT FACE=\"Arial,Helvetica\">". _("Viewing message ") ."<B>$startMessage</B> ($numMessages ". _("total") .")</FONT></CENTER>\n";
          echo "</TD></TR>\n";
       }
 
       echo "<TR BGCOLOR=\"$color[4]\"><TD>";
       if (($nextGroup <= $numMessages) && ($prevGroup >= 0)) {
-         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">Previous</FONT></A>\n";
-         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">Next</FONT></A>\n";
+         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">". _("Previous") ."</FONT></A>\n";
+         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">". _("Next") ."</FONT></A>\n";
       }
       else if (($nextGroup > $numMessages) && ($prevGroup >= 0)) {
-         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">Previous</FONT></A>\n";
+         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">". _("Previous") ."</FONT></A>\n";
          echo "<FONT FACE=\"Arial,Helvetica\" COLOR=\"$color[9]\">Next</FONT>\n";
       }
       else if (($nextGroup <= $numMessages) && ($prevGroup < 0)) {
          echo "<FONT FACE=\"Arial,Helvetica\" COLOR=\"$color[9]\">Previous</FONT>\n";
-         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">Next</FONT></A>\n";
+         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">". _("Next") ."</FONT></A>\n";
       }
       echo "</TD></TR>\n";
 
       echo "<TR><TD BGCOLOR=\"$color[0]\">";
 
       echo "\n\n\n<FORM name=messageList method=post action=\"move_messages.php?msg=$msg&mailbox=$urlMailbox&sort=$sort&startMessage=$startMessage\">";
-      echo "<TABLE BGCOLOR=\"$color[0]\">\n";
+      echo "<TABLE BGCOLOR=\"$color[0]\" COLS=2 BORDER=0>\n";
       echo "   <TR>\n";
-      echo "      <TD WIDTH=30% ALIGN=LEFT>\n";
-      echo "         <NOBR><FONT FACE=\"Arial,Helvetica\" SIZE=2><INPUT TYPE=SUBMIT NAME=\"moveButton\" VALUE=\"Move to:\">\n";
-      echo "         <SELECT NAME=\"targetMailbox\">\n";
-      getFolderList($imapConnection, $boxesFormatted, $boxesUnformatted);
-      for ($i = 0; $i < count($boxesUnformatted); $i++) {
+      echo "      <TD WIDTH=60% ALIGN=LEFT>\n";
+      echo "         <NOBR><FONT FACE=\"Arial,Helvetica\"><SMALL>". _("Move selected to:") ."</SMALL></FONT>";
+      echo "         <TT><SMALL><SELECT NAME=\"targetMailbox\">";
+
+      $boxes = sqimap_mailbox_list($imapConnection, $boxes);
+      for ($i = 0; $i < count($boxes); $i++) {
          $use_folder = true;
          for ($p = 0; $p < count($special_folders); $p++) {
-            // don't allow moving messages to any special folder EXCEPT for INBOX.
-            if (($boxesUnformatted[$i] == $special_folders[$p]) && ($boxesUnformatted[$i] != "INBOX")) {
+            if ($boxes[$i]["unformatted"] == $special_folders[0]) {
+               $use_folder = true;
+            } else if ($boxes[$i]["unformatted"] == $special_folders[$p]) {
                $use_folder = false;
-            } else if (substr($boxesUnformatted[$i], 0, strlen($trash_folder)) == $trash_folder) {
+            } else if (substr($boxes[$i]["unformatted"], 0, strlen($trash_folder)) == $trash_folder) {
                $use_folder = false;
             }
          }
-         if ($use_folder == true)
-            echo "         <OPTION VALUE=\"$boxesUnformatted[$i]\">$boxesUnformatted[$i]\n";
+         if ($use_folder == true) {
+            $box = $boxes[$i]["unformatted"];
+            $box2 = replace_spaces($boxes[$i]["formatted"]);
+            echo "         <OPTION VALUE=\"$box\">$box2\n";
+         }
       }
-      echo "         </SELECT></NOBR></FONT>\n";
+      echo "         </SELECT></SMALL></TT>";
+      echo "         <FONT FACE=\"Arial,Helvetica\"><SMALL><INPUT TYPE=SUBMIT NAME=\"moveButton\" VALUE=\"". _("Move") ."\"></SMALL></FONT></NOBR>\n";
 
       echo "      </TD>\n";
-      echo "      <TD WIDTH=70% ALIGN=RIGHT>\n";
-      echo "         <NOBR><FONT FACE=\"Arial,Helvetica\" SIZE=2><INPUT TYPE=SUBMIT VALUE=\"Delete\">&nbsp;checked messages</FONT></NOBR>\n";
+      echo "      <TD WIDTH=40% ALIGN=RIGHT>\n";
+      echo "         <NOBR><FONT FACE=\"Arial,Helvetica\"><SMALL><INPUT TYPE=SUBMIT VALUE=\"". _("Delete") ."\">&nbsp;". _("checked messages") ."</SMALL></FONT></NOBR>\n";
       echo "      </TD>";
       echo "   </TR>\n";
 
       echo "<TR><TD BGCOLOR=\"$color[0]\">";
       echo "<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=1 BGCOLOR=\"$color[4]\">";
       echo "<TR BGCOLOR=\"$color[5]\" ALIGN=\"center\">";
-      echo "   <TD WIDTH=5%><FONT FACE=\"Arial,Helvetica\"><B>Num</B></FONT></TD>";
+      echo "   <TD WIDTH=5%><FONT FACE=\"Arial,Helvetica\"><B>&nbsp;</B></FONT></TD>";
       /** FROM HEADER **/
-      echo "   <TD WIDTH=25%><FONT FACE=\"Arial,Helvetica\"><B>From</B></FONT>";
+      echo "   <TD WIDTH=25%><FONT FACE=\"Arial,Helvetica\"><B>". _("From") ."</B></FONT>";
       if ($sort == 2)
          echo "   <A HREF=\"right_main.php?sort=3&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/up_pointer.gif\" BORDER=0></A></TD>\n";
       else if ($sort == 3)
       else
          echo "   <A HREF=\"right_main.php?sort=3&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/sort_none.gif\" BORDER=0></A></TD>\n";
       /** DATE HEADER **/
-      echo "   <TD WIDTH=15%><FONT FACE=\"Arial,Helvetica\"><B>Date</B></FONT>";
+      echo "   <TD WIDTH=15%><FONT FACE=\"Arial,Helvetica\"><B>". _("Date") ."</B></FONT>";
       if ($sort == 0)
          echo "   <A HREF=\"right_main.php?sort=1&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/up_pointer.gif\" BORDER=0></A></TD>\n";
       else if ($sort == 1)
       else
          echo "   <A HREF=\"right_main.php?sort=0&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/sort_none.gif\" BORDER=0></A></TD>\n";
       /** SUBJECT HEADER **/
-      echo "   <TD WIDTH=*><FONT FACE=\"Arial,Helvetica\"><B>Subject</B></FONT>\n";
+      echo "   <TD WIDTH=%><FONT FACE=\"Arial,Helvetica\"><B>". _("Subject") ."</B></FONT>\n";
       if ($sort == 4)
-         echo "   <A HREF=\"right_main.php?sort=5&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/up_pointer.gif\" BORDER=0></A></TD>\n";
+        echo "   <A HREF=\"right_main.php?sort=5&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/up_pointer.gif\" BORDER=0></A></TD>\n";
       else if ($sort == 5)
          echo "   <A HREF=\"right_main.php?sort=4&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/down_pointer.gif\" BORDER=0></A></TD>\n";
       else
          echo "   <A HREF=\"right_main.php?sort=5&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/sort_none.gif\" BORDER=0></A></TD>\n";
       echo "</TR>";
 
+      
       // loop through and display the info for each message.
       $t = 0; // $t is used for the checkbox number
       if ($numMessages == 0) { // if there's no messages in this folder
-         echo "<TR><TD BGCOLOR=\"$color[4]\" COLSPAN=4><CENTER><BR><B>THIS FOLDER IS EMPTY</B><BR>&nbsp</CENTER></TD></TR>";
+         echo "<TR><TD BGCOLOR=\"$color[4]\" COLSPAN=4><CENTER><BR><B>". _("THIS FOLDER IS EMPTY") ."</B><BR>&nbsp</CENTER></TD></TR>";
       } else if ($startMessage == $endMessage) { // if there's only one message in the box, handle it different.
          $i = $startMessage - 1;
          printMessageInfo($imapConnection, $t, $msgs[$i]["ID"], $msgs[$i]["FROM"], $msgs[$i]["SUBJECT"], $msgs[$i]["DATE_STRING"], $msgs[$i]["FLAG_ANSWERED"], $msgs[$i]["FLAG_SEEN"], $mailbox, $sort, $startMessage);
 
       echo "<TR BGCOLOR=\"$color[4]\"><TD>";
       if (($nextGroup <= $numMessages) && ($prevGroup >= 0)) {
-         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">Previous</FONT></A>\n";
-         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">Next</FONT></A>\n";
+         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">" . _("Previous") . "</FONT></A>\n";
+         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">" . _("Next") . "</FONT></A>\n";
       }
       else if (($nextGroup > $numMessages) && ($prevGroup >= 0)) {
-         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">Previous</FONT></A>\n";
-         echo "<FONT FACE=\"Arial,Helvetica\" COLOR=\"$color[9]\">Next</FONT>\n";
+         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">" . _("Previous") . "</FONT></A>\n";
+         echo "<FONT FACE=\"Arial,Helvetica\" COLOR=\"$color[9]\">" . _("Next") . "</FONT>\n";
       }
       else if (($nextGroup <= $numMessages) && ($prevGroup < 0)) {
          echo "<FONT FACE=\"Arial,Helvetica\" COLOR=\"$color[9]\">Previous</FONT>\n";
-         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">Next</FONT></A>\n";
+         echo "<A HREF=\"right_main.php?sort=$sort&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\"><FONT FACE=\"Arial,Helvetica\">" . _("Next") . "</FONT></A>\n";
       }
       echo "</TD></TR></TABLE>"; /** End of message-list table */
    }