Fix for IMAP servers that don't always return a UIDNEXT value
[squirrelmail.git] / functions / imap_mailbox.php
index 40b281a2f10ac11e0aaa1eb7063a5f0c4d853ad9..b220ee6f6042818d0f4b56b9fc7957b30a1aa4d4 100755 (executable)
@@ -461,7 +461,7 @@ function sqimap_mailbox_list($imap_stream) {
         $inbox_in_list = false;
         $inbox_subscribed = false;
 
-        require_once(SM_PATH . 'src/load_prefs.php');
+        require_once(SM_PATH . 'include/load_prefs.php');
         require_once(SM_PATH . 'functions/array.php');
 
     if ($noselect_fix_enable) {
@@ -711,7 +711,7 @@ function sqimap_mailbox_tree($imap_stream) {
         $inbox_in_list = false;
         $inbox_subscribed = false;
 
-        require_once(SM_PATH . 'src/load_prefs.php');
+        require_once(SM_PATH . 'include/load_prefs.php');
         require_once(SM_PATH . 'functions/array.php');
 
         /* LSUB array */
@@ -795,13 +795,19 @@ function sqimap_mailbox_tree($imap_stream) {
            if (($unseen_notify == 2 && $mbx == 'INBOX') 
                || $unseen_notify == 3 
                || ($move_to_trash && ($mbx == $trash_folder))) {
-               $sorted_lsub_ary[$i]['unseen'] = sqimap_unseen_messages($imap_stream, $mbx);
+               $sorted_lsub_ary[$i]['unseen'] = 
+                       $sorted_lsub_ary[$i]['noselect'] ?
+                           0 : sqimap_unseen_messages($imap_stream, $mbx);
                if ($unseen_type == 2 || ($move_to_trash 
                    && ($mbx == $trash_folder) )) {
-                   $sorted_lsub_ary[$i]['nummessages'] = sqimap_get_num_messages($imap_stream, $mbx);
+                    $sorted_lsub_ary[$i]['nummessages'] =
+                       $sorted_lsub_ary[$i]['noselect'] ?
+                           0 : sqimap_get_num_messages($imap_stream, $mbx);
                }
                if ($mbx == $trash_folder) {
-                   $sorted_lsub_ary[$i]['nummessages'] = sqimap_get_num_messages($imap_stream, $mbx);
+                    $sorted_lsub_ary[$i]['nummessages'] =
+                       $sorted_lsub_ary[$i]['noselect'] ?
+                           0 : sqimap_get_num_messages($imap_stream, $mbx);
                }           
            }
        }