Prechádzať zdrojové kódy

updated some folder stuff

Luke Ehresman 26 rokov pred
rodič
commit
cfd922c560
4 zmenil súbory, kde vykonal 52 pridanie a 14 odobranie
  1. 10 0
      functions/imap.php
  2. 10 0
      functions/mailbox.php
  3. 0 9
      src/folders.php
  4. 32 5
      src/folders_delete.php

+ 10 - 0
functions/imap.php

@@ -30,4 +30,14 @@
       }
       return strrev($temp);
    }
+
+   /** must be sent in the form:  user.<USER>.<FOLDER> **/
+   function createFolder($imapConnection, $folder) {
+      fputs($imapConnection, "1 create \"$folder\"\n");
+   }
+
+   /** must be sent in the form:  user.<USER>.<FOLDER> **/
+   function deleteFolder($imapConnection, $folder) {
+      fputs($imapConnection, "1 delete \"$folder\"\n");
+   }
 ?>

+ 10 - 0
functions/mailbox.php

@@ -152,4 +152,14 @@
       selectMailbox($imapConnection, $mailbox, $num);
       fputs($imapConnection, "1 EXPUNGE\n");
    }
+
+   function getFolderNameMinusINBOX($mailbox) {
+      if (substr($mailbox, 0, 6) == "INBOX.")
+         $box = substr($mailbox, 6, strlen($mailbox));
+      else
+         $box = $mailbox;
+
+      return $box;
+   }
+
 ?>

+ 0 - 9
src/folders.php

@@ -1,14 +1,5 @@
 <HTML><BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#0000EE" ALINK="#0000EE">
 <?
-   function getBoxForCreate($mailbox) {
-      if (substr($mailbox, 0, 6) == "INBOX.")
-         $box = substr($mailbox, 6, strlen($mailbox));
-      else
-         $box = $mailbox;
-
-      return $box;
-   }
-
    include("../config/config.php");
    include("../functions/strings.php");
    include("../functions/page_header.php");

+ 32 - 5
src/folders_delete.php

@@ -16,12 +16,39 @@
    $read = fgets($imapConnection, 1024);
    echo $read;
 
-   if ($subfolder == "INBOX")
-      fputs($imapConnection, "1 create \"user.$username.$folder_name\"\n");
-   else
-      fputs($imapConnection, "1 create \"user.$username.$subfolder.$folder_name\"\n");
+   if (strpos($read, "NO")) {
+      error_username_password_incorrect();
+      exit;
+   }
+
+   // switch to the mailbox, and get the number of messages in it.
+   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++;
+   }
+
+   if ($auto_expunge == true)
+      expungeBox($imapConnection, $mailbox, $numMessages);
 
-   fputs($imapConnection, "1 logout\n");
+   // Log out this session
+   fputs($imapConnection, "1 logout");
 
    echo "<BR><BR><A HREF=\"folders.php\">Return</A>";
 ?>