* $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) ||
- ($box == $draft_folder &&
- $save_as_draft) );
+ ( $move_to_trash && isBoxBelow( $box, $trash_folder ) ) ||
+ ( $move_to_sent && isBoxBelow( $box, $sent_folder )) ||
+ ($save_as_draft && $box == $draft_folder ) );
return( $ret );