- $mailbox, $imapConnection, $sort;
- if ($allow_server_sort == true) {
- $server_sort_array = sqimap_get_sort_order($imapConnection, $sort);
- }
- $thread_sort_messages = getPref($username, $data_dir, "thread_$mailbox");
- if ($allow_thread_sort == true && $thread_sort_messages == 1) {
- $server_sort_array = get_thread_sort($imapConnection);
- }
+ $thread_sort_messages,
+ $mailbox, $imapConnection, $sort, $uid_support, $mbx_response;
+ switch (true) {
+ case ($allow_thread_sort && $thread_sort_messages):
+ $server_sort_array = get_thread_sort($imapConnection);
+ break;
+ case ($allow_server_sort):
+ $server_sort_array = sqimap_get_sort_order($imapConnection, $sort, $mbx_response);
+ break;
+ case ($uid_support):
+ $server_sort_array = sqimap_get_php_sort_order($imapConnecion, $mbx_response);
+ break;
+ default:
+ break;
+ }