From 74fff934fcdd0272c5de83a3f706e10fc90eb8f8 Mon Sep 17 00:00:00 2001 From: stekkel Date: Sat, 28 Jun 2003 23:39:25 +0000 Subject: [PATCH] * INBOX should be skipped in case of rename,delete, subscribe, unsubscribe * Removed strtolower calls because mailboxes are casesensitive * replaced if elseif elseif .. by a switch statement git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@5148 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- src/folders.php | 49 +++++++++++++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/src/folders.php b/src/folders.php index 2fe3a713..9a183392 100644 --- a/src/folders.php +++ b/src/folders.php @@ -138,6 +138,8 @@ echo html_tag( 'tr', ) ."\n"; /** count special folders **/ + +// FIX ME, why not check if the folders are defined IMHO move_to_sent, move_to_trash has nothing todo with it $count_special_folders = 0; $num_max = 1; if (strtolower($imap_server_type) == "courier" || $move_to_trash) { @@ -149,25 +151,36 @@ if ($move_to_sent) { if ($save_as_draft) { $num_max++; } + +// What if move_to_sent = false and $sent_folder is set? Should it still be skipped? + for ($p = 0, $cnt = count($boxes); $p < $cnt && $count_special_folders < $num_max; $p++) { - if (strtolower($boxes[$p]['unformatted']) == 'inbox') - $count_special_folders++; - else if (strtolower($imap_server_type) == 'courier' && - strtolower($boxes[$p]['unformatted']) == 'inbox.trash') { - $count_special_folders++; - } - else if ($boxes[$p]['unformatted'] == $trash_folder && $trash_folder) { - $count_special_folders++; - array_push($skip_folders, strtolower($trash_folder)); - } - else if ($boxes[$p]['unformatted'] == $sent_folder && $sent_folder) { - $count_special_folders++; - array_push($skip_folders, strtolower($sent_folder)); - } - else if ($boxes[$p]['unformatted'] == $draft_folder && $draft_folder) { - $count_special_folders++; - array_push($skip_folders, strtolower($draft_folder)); - } + switch ($boxes[$p]['unformatted']) + { + case (strtoupper($boxes[$p]['unformatted']) == 'INBOX'): + ++$count_special_folders; + $skip_folders[] = $boxes[$p]['unformatted']; + break; + // FIX ME inbox.trash should be set in conf.pl + case 'inbox.trash': + if (strtolower($imap_server_type) == 'courier') { + ++$count_special_folders; + } + break; + case $trash_folder: + ++$count_special_folders; + $skip_folders[] = $trash_folder; + break; + case $sent_folder: + ++$count_special_folders; + $skip_folders[] = $sent_folder; + break; + case $draft_folder: + ++$count_special_folders; + $skip_folders[] = $draft_folder; + break; + default: break; + } } -- 2.25.1