Browse Source

A lot of code optimization with regard to deleting and creating folders.
Also, emptying trash refreshes the folder list.

Luke Ehresman 25 years ago
parent
commit
7b76d5c26f
5 changed files with 31 additions and 16 deletions
  1. 5 6
      config/config.php
  2. 1 1
      functions/display_messages.php
  3. 3 4
      src/empty_trash.php
  4. 1 3
      src/folders.php
  5. 21 2
      src/webmail.php

+ 5 - 6
config/config.php

@@ -37,11 +37,10 @@ $auto_expunge = true;
    folders can.  A couple of examples would be "INBOX.Trash", "INBOX.Drafts".  We have
    folders can.  A couple of examples would be "INBOX.Trash", "INBOX.Drafts".  We have
    them set to Netscape's default mailboxes, but this obviously can be changed.
    them set to Netscape's default mailboxes, but this obviously can be changed.
    To add one, just add a new number to the array.
    To add one, just add a new number to the array.
-
-   NOTE:   INBOX is handled separately.  Do not put it in this list
 */
 */
-$special_folders[0] = $trash_folder;
-$special_folders[1] = "INBOX.Sent";
-$special_folders[2] = "INBOX.Drafts";
-$special_folders[3] = "INBOX.Templates";
+$special_folders[0] = "INBOX";
+$special_folders[1] = $trash_folder;
+$special_folders[2] = "INBOX.Sent";
+$special_folders[3] = "INBOX.Drafts";
+$special_folders[4] = "INBOX.Templates";
 ?>
 ?>

+ 1 - 1
functions/display_messages.php

@@ -57,7 +57,7 @@
       echo "         <FONT FACE=\"Arial,Helvetica\"><B><CENTER>Messages Deleted</CENTER></B></FONT>";
       echo "         <FONT FACE=\"Arial,Helvetica\"><B><CENTER>Messages Deleted</CENTER></B></FONT>";
       echo "   </TD></TR><TR><TD>";
       echo "   </TD></TR><TR><TD>";
       echo "      <CENTER><FONT FACE=\"Arial,Helvetica\"><BR>The selected messages were deleted successfully.<BR>\n";
       echo "      <CENTER><FONT FACE=\"Arial,Helvetica\"><BR>The selected messages were deleted successfully.<BR>\n";
-      echo "              <A HREF=\"right_main.php?sort=$sort&startMessage=$startMessage&mailbox=$urlMailbox\" TARGET=\"right\">";
+      echo "              <A HREF=\"webmail.php?sort=$sort&startMessage=$startMessage&mailbox=$urlMailbox\" TARGET=_top>";
       echo "              Click here to return to $mailbox";
       echo "              Click here to return to $mailbox";
       echo "              </A>.";
       echo "              </A>.";
       echo "      </FONT></CENTER>";
       echo "      </FONT></CENTER>";

+ 3 - 4
src/empty_trash.php

@@ -45,11 +45,10 @@
          removeFolder($imapConnection, $thisfolder);
          removeFolder($imapConnection, $thisfolder);
       }
       }
    }
    }
-   // Log out this session
-   fputs($imapConnection, "1 logout");
 
 
+   selectMailbox($imapConnection, $trash_folder, $numMessages);
    echo "<HTML><BODY TEXT=\"#000000\" BGCOLOR=\"#FFFFFF\" LINK=\"#0000EE\" VLINK=\"#0000EE\" ALINK=\"#0000EE\">";
    echo "<HTML><BODY TEXT=\"#000000\" BGCOLOR=\"#FFFFFF\" LINK=\"#0000EE\" VLINK=\"#0000EE\" ALINK=\"#0000EE\">";
    displayPageHeader($mailbox);
    displayPageHeader($mailbox);
-
-   messages_deleted_message("INBOX", $sort, $startMessage);
+   messages_deleted_message($trash_folder, $sort, $startMessage);
+   fputs($imapConnection, "1 logout");
 ?>
 ?>

+ 1 - 3
src/folders.php

@@ -23,12 +23,10 @@
    for ($i = 0; $i < count($boxesUnformatted); $i++) {
    for ($i = 0; $i < count($boxesUnformatted); $i++) {
       $use_folder = true;
       $use_folder = true;
       for ($p = 0; $p < count($special_folders); $p++) {
       for ($p = 0; $p < count($special_folders); $p++) {
-         if (substr($boxesUnformatted[$i], 0, strlen($special_folders[$p])) == $special_folders[$p]) {
+         if ($boxesUnformatted[$i] == $special_folders[$p]) {
             $use_folder = false;
             $use_folder = false;
          }
          }
       }
       }
-      if ($boxesUnformatted[$i] == "INBOX")
-         $use_folder = false;
 
 
       if ($use_folder == true)
       if ($use_folder == true)
          echo "<OPTION>$boxesUnformatted[$i]\n";
          echo "<OPTION>$boxesUnformatted[$i]\n";

+ 21 - 2
src/webmail.php

@@ -20,7 +20,26 @@
 OM-USA WebMail
 OM-USA WebMail
 </TITLE>
 </TITLE>
 <FRAMESET COLS="200, *" NORESIZE BORDER=0>
 <FRAMESET COLS="200, *" NORESIZE BORDER=0>
-   <FRAME SRC="left_main.php" NAME="left">
-   <FRAME SRC="right_main.php" NAME="right">
+
+/**
+    There are two ways to call webmail.php
+    1.  webmail.php
+         - this just loads the default entry screen.
+    2.  webmail.php?sort=X&startMessage=X&mailbox=XXXX
+         - This loads the frames starting at the given values.
+
+    This was done to create a pure HTML way of refreshing the folder list since
+    we would like to use as little Javascript as possible.
+**/
+<?
+   if (strlen($mailbox) > 0) {
+      $urlMailbox = urlencode($mailbox);
+      echo "<FRAME SRC=\"left_main.php\" NAME=\"left\">";
+      echo "<FRAME SRC=\"right_main.php?mailbox=$urlMailbox&sort=$sort&startMessage=$startMessage\" NAME=\"right\">";
+   } else {
+      echo "<FRAME SRC=\"left_main.php\" NAME=\"left\">";
+      echo "<FRAME SRC=\"right_main.php\" NAME=\"right\">";
+   }
+?>
 </FRAMESET>
 </FRAMESET>
 </HEAD></HTML>
 </HEAD></HTML>