From 1e18bf95e242d2df4a7f6fd14d2fc06fe4b19553 Mon Sep 17 00:00:00 2001 From: philippe_mingo Date: Fri, 18 Jan 2002 18:58:54 +0000 Subject: [PATCH] dumfolders git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@2166 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- functions/imap_mailbox.php | 43 +++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/functions/imap_mailbox.php b/functions/imap_mailbox.php index c221dbd9..b3ff5a46 100755 --- a/functions/imap_mailbox.php +++ b/functions/imap_mailbox.php @@ -11,39 +11,44 @@ * $Id$ */ -/* - Defines Special Mail Boxes -*/ - -function isSpecialMailbox( $box ) { +function isBoxBelow( $box2, $box1 ) { - global $trash_folder, $sent_folder, $draft_folder, - $move_to_trash, $move_to_sent, $save_as_draft, - $delimiter, $folder_prefix, $imap_server_type; + global $delimiter, $folder_prefix, $imap_server_type; if ( $imap_server_type == 'uw' ) { - $boxs = $box; - $i = strpos( $sent_folder, $delimiter, strlen( $folder_prefix ) ); + $boxs = $box2; + $i = strpos( $box1, $delimiter, strlen( $folder_prefix ) ); if ( $i === FALSE ) { - $i = strlen( $box ); + $i = strlen( $box2 ); } } else { - $boxs = $box . $delimiter; + $boxs = $box2 . $delimiter; // Skip next second delimiter - $i = strpos( $sent_folder, $delimiter ); - $i = strpos( $sent_folder, $delimiter, $i + 1 ); + $i = strpos( $box1, $delimiter ); + $i = strpos( $box1, $delimiter, $i + 1 ); if ( $i === FALSE ) { - $i = strlen( $box ); + $i = strlen( $box2 ); } else { $i++; } } + return( substr( $box1, 0, $i ) == substr( $boxs, 0, $i ) ); + +} + +/* + Defines Special Mail Boxes +*/ +function isSpecialMailbox( $box ) { + + global $trash_folder, $sent_folder, $draft_folder, + $move_to_trash, $move_to_sent, $save_as_draft, + $delimiter, $folder_prefix, $imap_server_type; + $ret = ( (strtolower($box) == 'inbox') || - ( substr( $trash_folder, 0, $i ) == substr( $boxs, 0, $i ) && - $move_to_trash) || - ( substr( $sent_folder, 0, $i ) == substr( $boxs, 0, $i ) && - $move_to_sent) || + ( $move_to_trash && isBoxBelow( $box, $trash_folder ) ) || + ( $move_to_sent && isBoxBelow( $box, $sent_folder )) || ($box == $draft_folder && $save_as_draft) ); -- 2.25.1