소스 검색

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>