fixed formatting, sjeesh that's realy dull work. Makes me simple :(
[squirrelmail.git] / functions / mailbox_display.php
index 3d6a87c40af09fc0563a212ce626f6ec47e62b2f..efce2944c4773bddd1000a677778ad4a1807467b 100644 (file)
@@ -73,7 +73,7 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
     if (handleAsSent($mailbox)) {
        $msg['FROM'] = $msg['TO'];
     }
-    $msg['FROM'] = parseAddress($msg['FROM']);
+    $msg['FROM'] = parseAddress($msg['FROM'],1);
     
        /*
         * This is done in case you're looking into Sent folders,
@@ -295,7 +295,7 @@ function getServerMessages($imapConnection, $start_msg, $show_num, $num_msgs, $i
         } else {
             $end_loop = $show_num;
         }
-        return fillMessageArray($imapConnection,$id,$end_loop);
+        return fillMessageArray($imapConnection,$id,$end_loop,$show_num);
     } else {
         return false;
     }
@@ -320,6 +320,9 @@ function getSelfSortMessages($imapConnection, $start_msg, $show_num,
         if ($sort < 6 ) {
             $end = $num_msgs;
             $end_loop = $end;
+           /* set shownum to 999999 to fool sqimap_get_small_header_list
+              and rebuild the msgs_str to 1:* */
+           $show_num = 999999;
         } else {
             /* if it's not sorted */
             if ($start_msg + ($show_num - 1) < $num_msgs) {
@@ -343,7 +346,7 @@ function getSelfSortMessages($imapConnection, $start_msg, $show_num,
                 $end_loop = $show_num;
             }
         }
-        $msgs = fillMessageArray($imapConnection,$id,$end_loop);
+        $msgs = fillMessageArray($imapConnection,$id,$end_loop, $show_num);
     }
     return $msgs;
 }
@@ -411,8 +414,13 @@ function showMessagesForMailbox($imapConnection, $mailbox, $num_msgs,
             $mode = '';
         }
 
-        sqsession_unregister('msort');
-        sqsession_unregister('msgs');
+       if ($use_cache) {
+           sqgetGlobalVar('msgs', $msgs, SQ_SESSION);
+           sqgetGlobalVar('msort', $msort, SQ_SESSION);
+       } else {
+           sqsession_unregister('msort');
+           sqsession_unregister('msgs');
+       }
         switch ($mode) {
             case 'thread':
                 $id   = get_thread_sort($imapConnection);
@@ -454,6 +462,7 @@ function showMessagesForMailbox($imapConnection, $mailbox, $num_msgs,
         } // switch
         sqsession_register($msort, 'msort');
         sqsession_register($msgs,  'msgs');
+
     } /* if exists > 0 */
 
     $res = getEndMessage($start_msg, $show_num, $num_msgs);
@@ -528,8 +537,8 @@ function calc_msort($msgs, $sort) {
     return $msort;
 }
 
-function fillMessageArray($imapConnection, $id, $count) {
-    return sqimap_get_small_header_list($imapConnection, $id);
+function fillMessageArray($imapConnection, $id, $count, $show_num=false) {
+    return sqimap_get_small_header_list($imapConnection, $id, $show_num);
 }