Explorar o código

Should have done this a long time ago. Rely on the CAPABILITY response and
detect if the SORT extension is supported. If it's supported then use it
unless $disable_server_sort is set to true (default false);

Courier users with SORT in the capability string and a disabled server sort
need to rerun conf.pl and disable the server sort.

stekkel %!s(int64=21) %!d(string=hai) anos
pai
achega
1f18d9337e
Modificáronse 1 ficheiros con 6 adicións e 2 borrados
  1. 6 2
      functions/mailbox_display.php

+ 6 - 2
functions/mailbox_display.php

@@ -534,7 +534,7 @@ function showMessagesForMailbox($imapConnection, $mailbox, $num_msgs,
                                 $start_msg, $sort, $color, $show_num,
                                 $start_msg, $sort, $color, $show_num,
                                 $use_cache, $mode='') {
                                 $use_cache, $mode='') {
     global $msgs, $msort, $auto_expunge, $thread_sort_messages,
     global $msgs, $msort, $auto_expunge, $thread_sort_messages,
-           $allow_server_sort, $server_sort_order;
+           $disable_server_sort, $server_sort_order;
 
 
     /*
     /*
      * For some reason, on PHP 4.3+, this being unset, and set in the session causes havoc
      * For some reason, on PHP 4.3+, this being unset, and set in the session causes havoc
@@ -550,6 +550,10 @@ function showMessagesForMailbox($imapConnection, $mailbox, $num_msgs,
         $msgs = array();
         $msgs = array();
     }
     }
 
 
+    if (!isset(disable_server_sort)) {
+        $disable_server_sort = false;
+    }
+
     //$start = microtime();
     //$start = microtime();
     /* If autoexpunge is turned on, then do it now. */
     /* If autoexpunge is turned on, then do it now. */
     $mbxresponse = sqimap_mailbox_select($imapConnection, $mailbox);
     $mbxresponse = sqimap_mailbox_select($imapConnection, $mailbox);
@@ -581,7 +585,7 @@ function showMessagesForMailbox($imapConnection, $mailbox, $num_msgs,
 
 
         if ($thread_sort_messages == 1) {
         if ($thread_sort_messages == 1) {
             $mode = 'thread';
             $mode = 'thread';
-        } elseif ($allow_server_sort == 1) {
+        } elseif (sqimap_capabilty($imapConnection,'SORT') && !$disable_server_sort == 1) {
             $mode = 'serversort';
             $mode = 'serversort';
         } else {
         } else {
             $mode = '';
             $mode = '';