Moved a lot of duplicated code into a separate function to display the
authorfidian <fidian@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Wed, 18 Oct 2000 17:25:15 +0000 (17:25 +0000)
committerfidian <fidian@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Wed, 18 Oct 2000 17:25:15 +0000 (17:25 +0000)
header of the list of messages for searches and for standard folder listings.

git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@809 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/imap_search.php
functions/mailbox_display.php

index 086fa085621b9e5069a98a665590d1de344ab3c4..c9d0ddb00f39ac0461337c0e99af7faf8fed0d9c 100644 (file)
@@ -127,86 +127,11 @@ function sqimap_search($imapConnection,$search_where,$search_what,$mailbox,$colo
 
       if (count($messagelist) > 0) {
          $j=0;
-         echo "<center><b>" . _("Found") . " " . count($messagelist) . " " . _("messages") . "</b></center>\n";
-         echo "<br>\n";
-         echo "<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>";
-         echo "<TR><TD BGCOLOR=\"$color[0]\">";
-   
-         echo "\n\n\n<FORM name=messageList method=post action=\"move_messages.php?msg=$msg&mailbox=$urlMailbox&where=".urlencode($search_where)."&what=".urlencode($search_what)."\">";
-         echo "<TABLE BGCOLOR=\"$color[0]\" COLS=2 BORDER=0 cellpadding=0 cellspacing=0 width=\"100%\">\n";
-         echo "   <TR>\n";
-         echo "      <TD WIDTH=60% ALIGN=LEFT VALIGN=CENTER>\n";
-         echo "         <NOBR><SMALL>". _("Move selected to:") ."</SMALL>";
-         echo "         <TT><SMALL><SELECT NAME=\"targetMailbox\">";
-   
-         $boxes = sqimap_mailbox_list($imapConnection);
-         for ($i = 0; $i < count($boxes); $i++) {
-            if ($boxes[$i]["flags"][0] != "noselect" && $boxes[$i]["flags"][1] != "noselect" && $boxes[$i]["flags"][2] != "noselect") {
-               $box = $boxes[$i]["unformatted"];
-               $box2 = replace_spaces($boxes[$i]["formatted"]);
-               echo "         <OPTION VALUE=\"$box\">$box2\n";
-            }
-         }
-         echo "         </SELECT></SMALL></TT>";
-         echo "         <SMALL><INPUT TYPE=SUBMIT NAME=\"moveButton\" VALUE=\"". _("Move") ."\"></SMALL></NOBR>\n";
-   
-         echo "      </TD>\n";
-         echo "      <TD WIDTH=40% ALIGN=RIGHT>\n";
-         echo "         <NOBR><SMALL><INPUT TYPE=SUBMIT VALUE=\"". _("Delete") ."\">&nbsp;". _("checked messages") ."</SMALL></NOBR>\n";
-         echo "      </TD>";
-         echo "   </TR>\n";
-         echo "</TABLE>\n";
-         do_hook("mailbox_form_before");
-         echo "</TD></TR>";
-         echo "<TR><TD BGCOLOR=\"$color[0]\">";
-         echo "<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=1 BGCOLOR=\"$color[0]\">";
-         echo "<TR BGCOLOR=\"$color[5]\" ALIGN=\"center\">";
-
-         for ($i=1; $i <= count($index_order); $i++) {
-            switch ($index_order[$i]) {
-               case 1: # checkbox
-                  echo "   <TD WIDTH=1%><B>&nbsp;</B></TD>";
-                  break;
-               case 2: # from
-                  if ($mailbox == $sent_folder)
-                            echo "   <TD WIDTH=30%><B>". _("To") ."</B>";
-                  else
-                            echo "   <TD WIDTH=30%><B>". _("From") ."</B>";
+         mail_message_listing_beginning($imapConnection, 
+            "move_messages.php?msg=$msg&mailbox=$urlMailbox&where=".urlencode($search_where)."&what=".urlencode($search_what),
+             '', -1, '<b>' . _("Found") . ' ' . count($messagelist) . ' ' . _("messages") . '</b>',
+             '&nbsp;');
          
-                  if ($sort == 2)
-                     echo "   <A HREF=\"right_main.php?newsort=3&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/up_pointer.gif\" BORDER=0></A></TD>\n";
-                  else if ($sort == 3)
-                     echo "   <A HREF=\"right_main.php?newsort=2&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/down_pointer.gif\" BORDER=0></A></TD>\n";
-                  else
-                     echo "   <A HREF=\"right_main.php?newsort=3&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/sort_none.gif\" BORDER=0></A></TD>\n";
-                  break;
-               case 3: # date
-                  echo "   <TD nowrap WIDTH=1%><B>". _("Date") ."</B>";
-                  if ($sort == 0)
-                     echo "   <A HREF=\"right_main.php?newsort=1&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/up_pointer.gif\" BORDER=0></A></TD>\n";
-                  else if ($sort == 1)
-                     echo "   <A HREF=\"right_main.php?newsort=0&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/down_pointer.gif\" BORDER=0></A></TD>\n";
-                  else
-                     echo "   <A HREF=\"right_main.php?newsort=0&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/sort_none.gif\" BORDER=0></A></TD>\n";
-                  break;
-               case 4: # subject
-                  echo "   <TD WIDTH=%><B>". _("Subject") ."</B>\n";
-                  if ($sort == 4)
-                     echo "   <A HREF=\"right_main.php?newsort=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?newsort=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?newsort=5&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/sort_none.gif\" BORDER=0></A></TD>\n";
-                  break;
-               case 5: # flags
-                  echo "   <TD WIDTH=1%>&nbsp;</TD>\n";
-                  break;
-               case 6: # size   
-                  echo "   <TD WIDTH=1%><b>" . _("Size")."</b></TD>\n";
-                  break;
-            }
-         }
-         echo "</TR>";
  
          while ($j < count($msgs)) {
             printMessageInfo($imapConnection, $msgs[$j]["ID"], 0, $j, $mailbox, "", 0, $search_where, $search_what);
index 3268d5c7326fcb401941a3efef7061e6a60fe1af..5a12ca4651e0a4f435170dff0ec9ec3d4e1535c7 100644 (file)
       $urlMailbox = urlencode($mailbox);
 
       do_hook("mailbox_index_before");
-      /** This is the beginning of the message list table.  It wraps around all messages */
-      echo "<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>";
 
+      $Message = '';
       if ($startMessage < $endMessage) {
-         echo "<TR BGCOLOR=\"$color[4]\"><TD>";
-         echo "<CENTER>". _("Viewing messages") ." <B>$startMessage</B> ". _("to") ." <B>$endMessage</B> ($numMessages " . _("total") . ")</CENTER>\n";
-         echo "</TD></TR>\n";
+         $Message = _("Viewing messages") ." <B>$startMessage</B> ". _("to") ." <B>$endMessage</B> ($numMessages " . _("total") . ")\n";
       } else if ($startMessage == $endMessage) {
-         echo "<TR BGCOLOR=\"$color[4]\"><TD>";
-         echo "<CENTER>". _("Viewing message") ." <B>$startMessage</B> ($numMessages " . _("total") . ")</CENTER>\n";
-         echo "</TD></TR>\n";
+         $Message = _("Viewing message") ." <B>$startMessage</B> ($numMessages " . _("total") . ")\n";
       }
 
-      echo "<TR BGCOLOR=\"$color[4]\"><TD>";
+      $More = '';
       if (($nextGroup <= $numMessages) && ($prevGroup >= 0)) {
-         echo "<A HREF=\"right_main.php?use_mailbox_cache=1&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\">". _("Previous") ."</A> | \n";
-         echo "<A HREF=\"right_main.php?use_mailbox_cache=1&&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\">". _("Next") ."</A>\n";
+         $More = "<A HREF=\"right_main.php?use_mailbox_cache=1&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\">". _("Previous") ."</A> | \n";
+         $More .= "<A HREF=\"right_main.php?use_mailbox_cache=1&&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\">". _("Next") ."</A>\n";
       }
       else if (($nextGroup > $numMessages) && ($prevGroup >= 0)) {
-         echo "<A HREF=\"right_main.php?use_mailbox_cache=1&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\">". _("Previous") ."</A> | \n";
-         echo "<FONT COLOR=\"$color[9]\">"._("Next")."</FONT>\n";
+         $More = "<A HREF=\"right_main.php?use_mailbox_cache=1&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\">". _("Previous") ."</A> | \n";
+         $More .= "<FONT COLOR=\"$color[9]\">"._("Next")."</FONT>\n";
       }
       else if (($nextGroup <= $numMessages) && ($prevGroup < 0)) {
-         echo "<FONT COLOR=\"$color[9]\">"._("Previous")."</FONT> | \n";
-         echo "<A HREF=\"right_main.php?use_mailbox_cache=1&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\">". _("Next") ."</A>\n";
+         $More = "<FONT COLOR=\"$color[9]\">"._("Previous")."</FONT> | \n";
+         $More .= "<A HREF=\"right_main.php?use_mailbox_cache=1&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\">". _("Next") ."</A>\n";
+      }
+
+      mail_message_listing_beginning($imapConnection, 
+         "move_messages.php?msg=$msg&mailbox=$urlMailbox&startMessage=$startMessage",
+          $mailbox, $sort, $Message, $More);
+
+      
+      // 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=" . count($index_order);
+         echo "><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;
+         reset($msort);
+         do {
+            $key = key($msort);
+            next($msort);
+            $k++;
+         } while (isset ($key) && ($k < $i));
+         printMessageInfo($imapConnection, $t, $i, $key, $mailbox, $sort, $startMessage, 0, 0);
+      } else {
+         $i = $startMessage;
+         reset($msort);
+         do {
+            $key = key($msort);
+            next($msort);
+            $k++;
+         } while (isset ($key) && ($k < $i));
+
+                  do {
+            printMessageInfo($imapConnection, $t, $i, $key, $mailbox, $sort, $startMessage, 0, 0);
+            $key = key($msort);
+            $t++;
+            $i++;
+            next($msort);
+         } while ($i < ($endMessage+1));
+      }
+      echo "</TABLE>";
+
+      echo "</td></tr>\n";
+
+      if ($More)
+      {
+         echo "<TR BGCOLOR=\"$color[4]\"><TD>$More</td></tr>\n";
+      }
+      echo "</table>"; /** End of message-list table */
+
+      do_hook("mailbox_index_after");
+   }
+
+   /* Displays the standard message list header.
+    * To finish the table, you need to do a "</table></table>";
+    * $moveURL is the URL to submit the delete/move form to
+    * $mailbox is the current mailbox
+    * $sort is the current sorting method (-1 for no sorting available [searches])
+    * $Message is a message that is centered on top of the list
+    * $More is a second line that is left aligned
+    */
+   function mail_message_listing_beginning($imapConnection, $moveURL, 
+       $mailbox = '', $sort = -1, $Message = '', $More = '')
+   {
+      global $color, $index_order;
+       
+         /** This is the beginning of the message list table.  It wraps around all messages */
+      echo "<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0>";
+      
+      if ($Message)
+      {
+         echo "<TR BGCOLOR=\"$color[4]\"><TD align=center>$Message</td></tr>\n";
+      }
+      
+      if ($More)
+      {
+         echo "<TR BGCOLOR=\"$color[4]\"><TD>$More</td></tr>\n";
       }
-      echo "</TD></TR>\n";
 
       /** The delete and move options */
       echo "<TR><TD BGCOLOR=\"$color[0]\">";
 
-      echo "\n\n\n<FORM name=messageList method=post action=\"move_messages.php?msg=$msg&mailbox=$urlMailbox&startMessage=$startMessage\">";
+      echo "\n\n\n<FORM name=messageList method=post action=\"$moveURL\">\n";
       echo "<TABLE BGCOLOR=\"$color[0]\" COLS=2 BORDER=0 cellpadding=0 cellspacing=0 width=100%>\n";
       echo "   <TR>\n";
       echo "      <TD WIDTH=60% ALIGN=LEFT VALIGN=CENTER>\n";
 
       $boxes = sqimap_mailbox_list($imapConnection);
       for ($i = 0; $i < count($boxes); $i++) {
-                       if ($boxes[$i]["flags"][0] != "noselect" && $boxes[$i]["flags"][1] != "noselect" && $boxes[$i]["flags"][2] != "noselect") {
-               $box = $boxes[$i]["unformatted"];
-               $box2 = replace_spaces($boxes[$i]["formatted"]);
-               echo "         <OPTION VALUE=\"$box\">$box2\n";
-                       }       
+         if ($boxes[$i]["flags"][0] != "noselect" && 
+            $boxes[$i]["flags"][1] != "noselect" && 
+            $boxes[$i]["flags"][2] != "noselect") {
+            $box = $boxes[$i]["unformatted"];
+            $box2 = replace_spaces($boxes[$i]["formatted"]);
+            echo "         <OPTION VALUE=\"$box\">$box2</option>\n";
+        }
       }
       echo "         </SELECT></SMALL></TT>";
       echo "         <SMALL><INPUT TYPE=SUBMIT NAME=\"moveButton\" VALUE=\"". _("Move") ."\"></SMALL></NOBR>\n";
-
       echo "      </TD>\n";
       echo "      <TD WIDTH=40% ALIGN=RIGHT>\n";
       echo "         <NOBR><SMALL><INPUT TYPE=SUBMIT VALUE=\"". _("Delete") ."\">&nbsp;". _("checked messages") ."</SMALL></NOBR>\n";
-      echo "      </TD>";
+      echo "      </TD>\n";
       echo "   </TR>\n";
 
       echo "</TABLE>\n";
       echo "<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=1 BGCOLOR=\"$color[0]\">";
       echo "<TR BGCOLOR=\"$color[5]\" ALIGN=\"center\">";
 
+      // Print the headers
       for ($i=1; $i <= count($index_order); $i++) {
          switch ($index_order[$i]) {
             case 1: # checkbox
+            case 5: # flags
                echo "   <TD WIDTH=1%><B>&nbsp;</B></TD>";
                break;
+               
             case 2: # from
-                       if ($mailbox == $sent_folder)
-                       echo "   <TD WIDTH=30%><B>". _("To") ."</B>";
-                       else
-                       echo "   <TD WIDTH=30%><B>". _("From") ."</B>";
+               if ($mailbox == $sent_folder)
+                  echo "   <TD WIDTH=30%><B>". _("To") ."</B>";
+               else
+                         echo "   <TD WIDTH=30%><B>". _("From") ."</B>";
          
                if ($sort == 2)
                   echo "   <A HREF=\"right_main.php?newsort=3&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/up_pointer.gif\" BORDER=0></A></TD>\n";
                else if ($sort == 3)
                   echo "   <A HREF=\"right_main.php?newsort=2&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/down_pointer.gif\" BORDER=0></A></TD>\n";
-               else
+               else if ($sort != -1)
                   echo "   <A HREF=\"right_main.php?newsort=3&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/sort_none.gif\" BORDER=0></A></TD>\n";
                break;
+               
             case 3: # date
                echo "   <TD nowrap WIDTH=1%><B>". _("Date") ."</B>";
                if ($sort == 0)
                   echo "   <A HREF=\"right_main.php?newsort=1&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/up_pointer.gif\" BORDER=0></A></TD>\n";
                else if ($sort == 1)
                   echo "   <A HREF=\"right_main.php?newsort=0&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/down_pointer.gif\" BORDER=0></A></TD>\n";
-               else
+               else if ($sort != -1)
                   echo "   <A HREF=\"right_main.php?newsort=0&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/sort_none.gif\" BORDER=0></A></TD>\n";
                break;
+               
             case 4: # subject
                echo "   <TD WIDTH=%><B>". _("Subject") ."</B>\n";
                if ($sort == 4)
                  echo "   <A HREF=\"right_main.php?newsort=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?newsort=4&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/down_pointer.gif\" BORDER=0></A></TD>\n";
-               else
+               else if ($sort != -1)
                   echo "   <A HREF=\"right_main.php?newsort=5&startMessage=1&mailbox=$urlMailbox\" TARGET=\"right\"><IMG SRC=\"../images/sort_none.gif\" BORDER=0></A></TD>\n";
                break;
-            case 5: # flags
-               echo "   <TD WIDTH=1%>&nbsp;</TD>\n";
-               break;
+               
             case 6: # size   
                echo "   <TD WIDTH=1%><b>" . _("Size")."</b></TD>\n";
                break;
          }
       }
-      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=" . count($index_order);
-         echo "><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;
-         reset($msort);
-         do {
-            $key = key($msort);
-            next($msort);
-            $k++;
-         } while (isset ($key) && ($k < $i));
-         printMessageInfo($imapConnection, $t, $i, $key, $mailbox, $sort, $startMessage, 0, 0);
-      } else {
-         $i = $startMessage;
-         reset($msort);
-         do {
-            $key = key($msort);
-            next($msort);
-            $k++;
-         } while (isset ($key) && ($k < $i));
-
-                  do {
-            printMessageInfo($imapConnection, $t, $i, $key, $mailbox, $sort, $startMessage, 0, 0);
-            $key = key($msort);
-            $t++;
-            $i++;
-            next($msort);
-         } while ($i < ($endMessage+1));
-      }
-      echo "</TABLE>";
-
-      echo "</TABLE>\n";
-      echo "</TD></TR>\n";
-
-      echo "<TR BGCOLOR=\"$color[4]\"><TD>";
-      if (($nextGroup <= $numMessages) && ($prevGroup >= 0)) {
-         echo "<A HREF=\"right_main.php?use_mailbox_cache=1&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\">" . _("Previous") . "</A> | \n";
-         echo "<A HREF=\"right_main.php?use_mailbox_cache=1&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\">" . _("Next") . "</A>\n";
-      }
-      else if (($nextGroup > $numMessages) && ($prevGroup >= 0)) {
-         echo "<A HREF=\"right_main.php?use_mailbox_cache=1&startMessage=$prevGroup&mailbox=$urlMailbox\" TARGET=\"right\">" . _("Previous") . "</A> | \n";
-         echo "<FONT COLOR=\"$color[9]\">" . _("Next") . "</FONT>\n";
-      }
-      else if (($nextGroup <= $numMessages) && ($prevGroup < 0)) {
-         echo "<FONT COLOR=\"$color[9]\">" . _("Previous"). "</FONT> | \n";
-         echo "<A HREF=\"right_main.php?use_mailbox_cache=1&startMessage=$nextGroup&mailbox=$urlMailbox\" TARGET=\"right\">" . _("Next") . "</A>\n";
-      }
-      echo "</form>";
-      echo "</TD></TR></table>"; /** End of message-list table */
-
-      do_hook("mailbox_index_after");
+      echo "</TR>\n";
    }
 ?>