- $messages[$j]['TIME_STAMP'] = getTimeStamp($tmpdate);
- $messages[$j]['DATE_STRING'] =
- getDateString($messages[$j]['TIME_STAMP']);
- $messages[$j]['ID'] = $id[$j];
- $messages[$j]['FROM'] = decodeHeader($from[$j]);
- $messages[$j]['FROM-SORT'] =
- strtolower(sqimap_find_displayable_name(decodeHeader($from[$j])));
- $messages[$j]['SUBJECT'] = decodeHeader($subject[$j]);
- $messages[$j]['SUBJECT-SORT'] = strtolower(decodeHeader($subject[$j]));
- $messages[$j]['TO'] = decodeHeader($to[$j]);
- $messages[$j]['PRIORITY'] = $priority[$j];
- $messages[$j]['CC'] = $cc[$j];
- $messages[$j]['SIZE'] = $size[$j];
- $messages[$j]['TYPE0'] = $type[$j];
- $messages[$j]['FLAG_DELETED'] = $flag_deleted[$j];
- $messages[$j]['FLAG_ANSWERED'] = $flag_answered[$j];
- $messages[$j]['FLAG_SEEN'] = $flag_seen[$j];
- $messages[$j]['FLAG_FLAGGED'] = $flag_flagged[$j];
+ switch ($mode) {
+ case 'thread':
+ sqsession_unregister('msort');
+ sqsession_unregister('msgs');
+ $msgs = getThreadMessages($imapConnection, $start_msg, $show_num,
+ $num_msgs);
+ if ($msgs === false) {
+ echo '<b><small><center><font color=red>' .
+ _("Thread sorting is not supported by your IMAP server.<br>Please report this to the system administrator.").
+ '</center></small></b>';
+ $thread_sort_messages = 0;
+ $msort = $msgs = array();
+ sqsession_register($msort, 'msort');
+ sqsession_register($msgs, 'msgs');
+ } else {
+ $msort= $msgs;
+ $sort = 6;
+ sqsession_register($msort, 'msort');
+ sqsession_register($msgs, 'msgs');
+ }
+ break;
+ case 'serversort':
+ $msgs = getServerSortMessages($imapConnection, $start_msg, $show_num,
+ $num_msgs, $sort, $mbxresponse);
+ if ($msgs === false) {
+ echo '<b><small><center><font color=red>' .
+ _( "Server-side sorting is not supported by your IMAP server.<br>Please report this to the system administrator.").
+ '</center></small></b>';
+ $sort = $server_sort_order;
+ $allow_server_sort = FALSE;
+ $msort = $msgs = array();
+ sqsession_register($msort, 'msort');
+ sqsession_register($msgs, 'msgs');
+ $id = array();
+ } else {
+ $sort = 6;
+ $msort = $msgs;
+ sqsession_register($msort, 'msort');
+ sqsession_register($msgs, 'msgs');
+ }
+ break;
+ default:
+ if (!$use_cache) {
+ sqsession_unregister('msgs');
+ sqsession_unregister('msort');
+ $msgs = getSelfSortMessages($imapConnection, $start_msg, $show_num,
+ $num_msgs, $sort, $mbxresponse);
+ $msort = calc_msort($msgs, $sort);
+ sqsession_register($msort, 'msort');
+ sqsession_register($msgs, 'msgs');
+ } /* !use cache */
+ break;
+ } // switch
+ } /* if exists > 0 */