Prechádzať zdrojové kódy

Folder manipulation stuff

Luke Ehresman 25 rokov pred
rodič
commit
a67b0a401f
5 zmenil súbory, kde vykonal 30 pridanie a 27 odobranie
  1. 1 1
      config/config.php
  2. 1 1
      functions/imap.php
  3. 0 1
      functions/mailbox.php
  4. 8 3
      src/folders.php
  5. 20 21
      src/folders_delete.php

+ 1 - 1
config/config.php

@@ -29,7 +29,7 @@ $version = "0.0.1";
  *           will get expunged, removing all messages marked "Deleted".
  */
 
-$move_to_trash = true;
+$move_to_trash = false;
 $trash_folder = "INBOX.Trash";
 $auto_expunge = true;
 

+ 1 - 1
functions/imap.php

@@ -59,7 +59,7 @@
    }
 
    /** must be sent in the form:  user.<USER>.<FOLDER> **/
-   function deleteFolder($imapConnection, $folder) {
+   function removeFolder($imapConnection, $folder) {
       fputs($imapConnection, "1 delete \"$folder\"\n");
    }
 ?>

+ 0 - 1
functions/mailbox.php

@@ -161,5 +161,4 @@
 
       return $box;
    }
-
 ?>

+ 8 - 3
src/folders.php

@@ -4,6 +4,7 @@
    include("../functions/strings.php");
    include("../functions/page_header.php");
    include("../functions/imap.php");
+   include("../functions/mailbox.php");
 
    displayPageHeader("None");
 
@@ -35,15 +36,19 @@
 
    /** DELETING FOLDERS **/
    echo "<FORM ACTION=folders_delete.php METHOD=POST>\n";
-   echo "<SELECT NAME=folder_list><FONT FACE=\"Arial,Helvetica\">\n";
+   echo "<SELECT NAME=mailbox><FONT FACE=\"Arial,Helvetica\">\n";
    for ($i = 0; $i < count($str); $i++) {
+      $thisbox = Chop($str[$i]);
+      $thisbox = findMailboxName($thisbox);
+      $thisbox = getFolderNameMinuxINBOX($thisbox);
+
       $use_folder = true;
       for ($p = 0; $p < count($special_folders); $p++) {
          if ($special_folders[$p] == $long_name_boxes[$i])
             $use_folder = false;
       }
       if ($use_folder == true)
-         echo "   <OPTION>$boxes[$i]\n";
+         echo "   <OPTION>$thisbox\n";
    }
    echo "</SELECT>\n";
    echo "<INPUT TYPE=SUBMIT VALUE=Delete>\n";
@@ -57,7 +62,7 @@
    for ($i = 0;$i < count($str); $i++) {
       $thisbox = Chop($str[$i]);
       $thisbox = findMailboxName($thisbox);
-      $thisbox = getBoxForCreate($thisbox);
+      $thisbox = getFolderNameMinusINBOX($thisbox);
       echo "<OPTION>$thisbox\n";
    }
    echo "</SELECT>\n";

+ 20 - 21
src/folders_delete.php

@@ -3,34 +3,33 @@
    include("../functions/strings.php");
    include("../functions/page_header.php");
    include("../functions/imap.php");
+   include("../functions/mailbox.php");
 
    $imapConnection = loginToImapServer($username, $key, $imapServerAddress);
 
    // switch to the mailbox, and get the number of messages in it.
+   echo "$mailbox<BR>";
+   exit;
    selectMailbox($imapConnection, $mailbox, $numMessages);
 
-   // Marks the selected messages ad 'Deleted'
-   $j = 0;
-   $i = 0;
-
-   while ($j < count($msg)) {
-      if ($msg[$i]) {
-         /** check if they would like to move it to the trash folder or not */
-         if ($move_to_trash == true) {
-            createFolder($imapConnection, "user.$username.$folder");
-            $success = copyMessages($imapConnection, $msg[$i], $msg[$i], $trash_folder);
-            if ($success == true)
-               setMessageFlag($imapConnection, $msg[$i], $msg[$i], "Deleted");
-         } else {
-            setMessageFlag($imapConnection, $msg[$i], "Deleted");
-         }
-         $j++;
-      }
-      $i++;
+   $folder = getFolderNameMinusINBOX($mailbox);
+   $trash = getFolderNameMinusINBOX($trash_folder);
+
+   /** check if they would like to move it to the trash folder or not */
+   if ($move_to_trash == true) {
+      createFolder($imapConnection, "user.$username.$trash.$folder");
+      echo "CREATING FOLDER:  user.$username.$trash.$folder<BR>";
+      if ($numMessages > 0)
+         $success = copyMessages($imapConnection, 1, $numMessages, $trash_folder);
+      else
+         $success = true;
+
+      if ($success == true)
+         removeFolder($imapConnection, "user.$username.$folder");
+   } else {
+      removeFolder($imapConnection, "user.$username.$folder");
    }
-
-   if ($auto_expunge == true)
-      expungeBox($imapConnection, $mailbox, $numMessages);
+   echo "success";
 
    // Log out this session
    fputs($imapConnection, "1 logout");