Browse Source

Sent dumbfolders and special folders fixed for Cyrus. (Philippe Mingo
on Bunzo's Box)

thomppj 23 năm trước cách đây
mục cha
commit
0a957948c7

+ 8 - 5
functions/imap_mailbox.php

@@ -19,16 +19,19 @@ function isSpecialMailbox( $box ) {
 
 
     global $trash_folder, $sent_folder, $draft_folder,
     global $trash_folder, $sent_folder, $draft_folder,
            $move_to_trash, $move_to_sent, $save_as_draft,
            $move_to_trash, $move_to_sent, $save_as_draft,
-           $delimiter, $folder_prefix;
+           $delimiter, $folder_prefix, $imap_server_type;
 
 
     if ( $move_to_sent  ) {
     if ( $move_to_sent  ) {
-        $i = strpos( $sent_folder, $delimiter, strlen( $folder_prefix ) );
-        if ( $i === FALSE ) {
+        if ( $imap_server_type == 'uw' ) {
+            $i = strpos( $sent_folder, $delimiter, strlen( $folder_prefix ) );
+            if ( $i === FALSE ) {
+                $i = strlen( $box );
+            }
+        } else {
             $i = strlen( $box );
             $i = strlen( $box );
         }
         }
-        
     }
     }
-    
+
     $ret = ( (strtolower($box) == 'inbox') ||
     $ret = ( (strtolower($box) == 'inbox') ||
              ($box == $trash_folder &&
              ($box == $trash_folder &&
               $move_to_trash) ||
               $move_to_trash) ||

+ 10 - 9
plugins/sent_subfolders/setup.php

@@ -160,16 +160,22 @@ function sent_subfolders_update_sentfolder() {
             Multiple year holders with messages in it. level 1.
             Multiple year holders with messages in it. level 1.
             Multiple year folders with holders in it. level 2.
             Multiple year folders with holders in it. level 2.
         */
         */
+
+        if( $imap_server_type == 'uw' ) {
+            $cnd_delimiter = '';
+        } else {
+            $cnd_delimiter = $delimiter;
+        }
+                                        
         switch ($sent_subfolders_setting) {
         switch ($sent_subfolders_setting) {
         case SMPREF_SENT_SUBFOLDERS_YEARLY:
         case SMPREF_SENT_SUBFOLDERS_YEARLY:
             $level = 1;
             $level = 1;
-            $sent_subfolder = $sent_subfolders_base
+            $sent_subfolder = $sent_subfolders_base . $cnd_delimiter
                             . $year;
                             . $year;
-            $year_folder = $sent_subfolder;
             break;
             break;
         case SMPREF_SENT_SUBFOLDERS_QUARTERLY:
         case SMPREF_SENT_SUBFOLDERS_QUARTERLY:
             $level = 2;
             $level = 2;
-            $sent_subfolder = $sent_subfolders_base
+            $sent_subfolder = $sent_subfolders_base . $cnd_delimiter 
                             . $year
                             . $year
                             . $delimiter . $quarter;
                             . $delimiter . $quarter;
             $year_folder = $sent_subfolders_base
             $year_folder = $sent_subfolders_base
@@ -177,7 +183,7 @@ function sent_subfolders_update_sentfolder() {
             break;
             break;
         case SMPREF_SENT_SUBFOLDERS_MONTHLY:
         case SMPREF_SENT_SUBFOLDERS_MONTHLY:
             $level = 2;
             $level = 2;
-            $sent_subfolder = $sent_subfolders_base
+            $sent_subfolder = $sent_subfolders_base . $cnd_delimiter
                             . $year
                             . $year
                             . $delimiter . $month;
                             . $delimiter . $month;
             $year_folder = $sent_subfolders_base . $year;
             $year_folder = $sent_subfolders_base . $year;
@@ -189,11 +195,6 @@ function sent_subfolders_update_sentfolder() {
             $year_folder = $sent_folder;
             $year_folder = $sent_folder;
         }
         }
 
 
-        if( $sent_subfolders_setting <> SMPREF_SENT_SUBFOLDERS_DISABLED && 
-            $imap_server_type <> 'uw' ) {
-            $year_folder .= $delimiter;            
-        }
-
         /* If this folder is NOT the current sent folder, update stuff. */
         /* If this folder is NOT the current sent folder, update stuff. */
         if ($sent_subfolder != $sent_folder) {
         if ($sent_subfolder != $sent_folder) {
             /* First, update the sent folder. */
             /* First, update the sent folder. */