فهرست منبع

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

Luke Ehresman 25 سال پیش
والد
کامیت
7b76d5c26f
5فایلهای تغییر یافته به همراه31 افزوده شده و 16 حذف شده
  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
    them set to Netscape's default mailboxes, but this obviously can be changed.
    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 "   </TD></TR><TR><TD>";
       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 "              </A>.";
       echo "      </FONT></CENTER>";

+ 3 - 4
src/empty_trash.php

@@ -45,11 +45,10 @@
          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\">";
    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++) {
       $use_folder = true;
       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;
          }
       }
-      if ($boxesUnformatted[$i] == "INBOX")
-         $use_folder = false;
 
       if ($use_folder == true)
          echo "<OPTION>$boxesUnformatted[$i]\n";

+ 21 - 2
src/webmail.php

@@ -20,7 +20,26 @@
 OM-USA WebMail
 </TITLE>
 <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>
 </HEAD></HTML>