X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fmailbox_display.php;h=66d80ed8a7932148604f81e3b816f28ecb5d794d;hb=e432a21cf4ec12d42f980beb721645e1f49dff44;hp=485e88569e5cea09f2b5c6dc5044eb78dca06db9;hpb=4669e892dbef020106d7439541fbd3d550d6f959;p=squirrelmail.git
diff --git a/functions/mailbox_display.php b/functions/mailbox_display.php
index 485e8856..66d80ed8 100644
--- a/functions/mailbox_display.php
+++ b/functions/mailbox_display.php
@@ -1,17 +1,17 @@
0)
- $senderName = truncateWithEntities($senderName, $truncate_sender);
+ $senderName = truncateWithEntities($senderName, $truncate_sender);
echo html_tag( 'tr','','','','VALIGN="top"') . "\n";
- if (isset($msg['FLAG_FLAGGED']) && ($msg['FLAG_FLAGGED'] == true)) {
+ if (isset($aFlags['\\flagged']) && ($aFlags['\\flagged'] == true)) {
$flag = "";
$flag_end = '';
} else {
$flag = '';
$flag_end = '';
}
- if (!isset($msg['FLAG_SEEN']) || ($msg['FLAG_SEEN'] == false)) {
+ if (!isset($aFlags['\\seen']) || ($aFlags['\\seen'] == false)) {
$bold = '';
$bold_end = '';
} else {
@@ -172,7 +198,7 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
$italic = '';
$italic_end = '';
}
- if (isset($msg['FLAG_DELETED']) && $msg['FLAG_DELETED']) {
+ if (isset($aFlags['\\deleted']) && $aFlags['\\deleted']) {
$fontstr = "";
$fontstr_end = '';
} else {
@@ -186,9 +212,10 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
$searchstr = '';
}
+ $matches = array('TO' => 'sTo', 'CC' => 'sCc', 'FROM' => 'sFrom', 'SUBJECT' => 'sSubject');
if (is_array($message_highlight_list) && count($message_highlight_list)) {
- $msg['TO'] = parseAddress($msg['TO']);
- $msg['CC'] = parseAddress($msg['CC']);
+ $sTo = parseAddress($sTo);
+ $sCc = parseAddress($sCc);
foreach ($message_highlight_list as $message_highlight_list_part) {
if (trim($message_highlight_list_part['value']) != '') {
$high_val = strtolower($message_highlight_list_part['value']);
@@ -203,7 +230,7 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
case('TO'):
case('CC'):
case('FROM'):
- foreach ($msg[$match_type] as $address) {
+ foreach ($$matches[$match_type] as $address) {
$address[0] = decodeHeader($address[0], true, false);
$address[1] = decodeHeader($address[1], true, false);
if (strstr('^^' . strtolower($address[0]), $high_val) ||
@@ -214,7 +241,7 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
}
break;
default:
- $headertest = strtolower(decodeHeader($msg[$match_type], true, false));
+ $headertest = strtolower(decodeHeader($$matches[$match_type], true, false));
if (strstr('^^' . $headertest, $high_val)) {
$hlt_color = $message_highlight_list_part['color'];
break 3;
@@ -230,16 +257,20 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
$hlt_color = $color_string;
}
$col = 0;
- $msg['SUBJECT'] = str_replace(' ', ' ', decodeHeader($msg['SUBJECT']));
- $subject = processSubject($msg['SUBJECT'], $indent_array[$msg['ID']]);
+ $sSubject = str_replace(' ', ' ', decodeHeader($sSubject));
+ if (isset($indent_array[$iId])) {
+ $subject = processSubject($sSubject, $indent_array[$iId]);
+ } else {
+ $subject = processSubject($sSubject, 0);
+ }
if (sizeof($index_order)) {
foreach ($index_order as $index_order_part) {
switch ($index_order_part) {
case 1: /* checkbox */
echo html_tag( 'td',
- addCheckBox("msg[$t]", $checkall, $msg['ID']),
- 'center',
- $hlt_color );
+ addCheckBox("msg[$t]", $checkall, $iId),
+ 'center',
+ $hlt_color );
break;
case 2: /* from */
if ($senderAddress != $senderName) {
@@ -249,38 +280,37 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
else
$title = '';
echo html_tag( 'td',
- $italic . $bold . $flag . $fontstr . $senderName .
- $fontstr_end . $flag_end . $bold_end . $italic_end,
- 'left',
- $hlt_color, $title );
+ $italic . $bold . $flag . $fontstr . $senderName .
+ $fontstr_end . $flag_end . $bold_end . $italic_end,
+ 'left',
+ $hlt_color, $title );
break;
case 3: /* date */
- $date_string = $msg['DATE_STRING'] . '';
- if ($date_string == '') {
- $date_string = _("Unknown date");
+ if ($sDate == '') {
+ $sDate = _("Unknown date");
}
echo html_tag( 'td',
- $bold . $flag . $fontstr . $date_string .
- $fontstr_end . $flag_end . $bold_end,
- 'center',
- $hlt_color,
- 'nowrap' );
+ $bold . $flag . $fontstr . $sDate .
+ $fontstr_end . $flag_end . $bold_end,
+ 'center',
+ $hlt_color,
+ 'nowrap' );
break;
case 4: /* subject */
$td_str = $bold;
if ($thread_sort_messages == 1) {
- if (isset($indent_array[$msg['ID']])) {
- $td_str .= str_repeat(" ",$indent_array[$msg['ID']]);
+ if (isset($indent_array[$iId])) {
+ $td_str .= str_repeat(" ",$indent_array[$iId]);
}
}
$td_str .= '";
- if (isset($msg['FLAG_FLAGGED']) && $msg['FLAG_FLAGGED'] == true) {
+ if (isset($aFlags['\\flagged']) && $aFlags['\\flagged'] == true) {
$td_str .= ' ';
}
if ($default_use_priority) {
- if ( ($msg['PRIORITY'] == 1) || ($msg['PRIORITY'] == 2) ) {
+ if ( ($iPrio == 1) || ($iPrio == 2) ) {
$td_str .= ' ';
}
- else if ($msg['PRIORITY'] == 5) {
+ else if ($iPrio == 5) {
$td_str .= ' ';
}
- else
- {
+ else {
$td_str .= ' ';
}
}
- if ($msg['TYPE0'] == 'multipart') {
+ if ($sType1 == 'mixed') {
$td_str .= '';
- }
- else
- {
+ } else {
$td_str .= '';
}
$msg_icon = '';
- if (!isset($msg['FLAG_SEEN']) || ($msg['FLAG_SEEN']) == false)
- {
+ if (!isset($aFlags['\\seen']) || ($aFlags['\\seen']) == false) {
$msg_alt = '(' . _("New") . ')';
$msg_title = '(' . _("New") . ')';
$msg_icon .= SM_PATH . 'images/themes/' . $icon_theme . '/msg_new';
- }
- else
- {
+ } else {
$msg_alt = '(' . _("Read") . ')';
$msg_title = '(' . _("Read") . ')';
$msg_icon .= SM_PATH . 'images/themes/' . $icon_theme . '/msg_read';
}
- if (isset($msg['FLAG_DELETED']) && ($msg['FLAG_DELETED']) == true)
- {
+ if (isset($aFlags['\\deleted']) && ($aFlags['\\deleted']) == true) {
$msg_icon .= '_deleted';
}
- if (isset($msg['FLAG_ANSWERED']) && ($msg['FLAG_ANSWERED']) == true)
- {
+ if (isset($aFlags['\\answered']) && ($aFlags['\\answered']) == true) {
$msg_alt = '(' . _("Answered") . ')';
$msg_title = '(' . _("Answered") . ')';
$msg_icon .= '_reply';
@@ -342,10 +364,10 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
$td_str .= '';
$td_str .= '';
echo html_tag( 'td',
- $td_str,
- 'right',
- $hlt_color,
- 'nowrap' );
+ $td_str,
+ 'right',
+ $hlt_color,
+ 'nowrap' );
}
@@ -354,25 +376,25 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
else {
$stuff = false;
$td_str = "";
- if (isset($msg['FLAG_ANSWERED']) && $msg['FLAG_ANSWERED'] == true) {
+ if (isset($aFlags['\\answered']) && $aFlags['\\answered'] == true) {
$td_str .= _("A");
$stuff = true;
}
- if ($msg['TYPE0'] == 'multipart') {
+ if ($sType1 == 'mixed') {
$td_str .= '+';
$stuff = true;
}
if ($default_use_priority) {
- if ( ($msg['PRIORITY'] == 1) || ($msg['PRIORITY'] == 2) ) {
+ if ( ($iPrio == 1) || ($iPrio == 2) ) {
$td_str .= "!";
$stuff = true;
}
- if ($msg['PRIORITY'] == 5) {
+ if ($iPrio == 5) {
$td_str .= "?";
$stuff = true;
}
}
- if (isset($msg['FLAG_DELETED']) && $msg['FLAG_DELETED'] == true) {
+ if (isset($aFlags['\\deleted']) && $aFlags['\\deleted'] == true) {
$td_str .= "D";
$stuff = true;
}
@@ -381,194 +403,149 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
}
$td_str .= '';
echo html_tag( 'td',
- $td_str,
- 'center',
- $hlt_color,
- 'nowrap' );
+ $td_str,
+ 'center',
+ $hlt_color,
+ 'nowrap' );
}
break;
case 6: /* size */
echo html_tag( 'td',
- $bold . $fontstr . show_readable_size($msg['SIZE']) .
- $fontstr_end . $bold_end,
- 'right',
- $hlt_color );
+ $bold . $fontstr . show_readable_size($iSize) .
+ $fontstr_end . $bold_end,
+ 'right',
+ $hlt_color );
break;
}
++$col;
}
}
- if ($not_last) {
- echo '' . "\n" . ' |
' . "\n";
- } else {
+ if ($last) {
echo ''."\n";
- }
-}
-
-/**
- * FIXME: Undocumented function
- *
- * @param mixed $imapConnection
- * @param mixed $start_msg
- * @param mixed $show_num
- * @param mixed $num_msgs
- * @param mixed $id
- * @return array
- */
-function getServerMessages($imapConnection, $start_msg, $show_num, $num_msgs, $id) {
- if ($id != 'no') {
- $id = array_slice($id, ($start_msg-1), $show_num);
- $end = $start_msg + $show_num - 1;
- if ($num_msgs < $show_num) {
- $end_loop = $num_msgs;
- } else if ($end > $num_msgs) {
- $end_loop = $num_msgs - $start_msg + 1;
- } else {
- $end_loop = $show_num;
- }
- return fillMessageArray($imapConnection,$id,$end_loop,$show_num);
} else {
- return false;
+ echo '' . "\n" . ' |
' . "\n";
}
}
/**
- * FIXME: Undocumented function
- *
- * @param mixed $imapConnection
- * @param mixed $start_msg
- * @param mixed $show_num
- * @param mixed $num_msgs
- * @return array
- */
-function getThreadMessages($imapConnection, $start_msg, $show_num, $num_msgs) {
- $id = get_thread_sort($imapConnection);
- return getServerMessages($imapConnection, $start_msg, $show_num, $num_msgs, $id);
-}
-
-/**
- * FIXME: Undocumented function
- *
- * @param mixed $imapConnection
- * @param mixed $start_msg
- * @param mixed $show_num
- * @param mixed $num_msgs
- * @param mixed $server_sort_order
- * @param mixed $mbxresponse
- * @return array
- */
-function getServerSortMessages($imapConnection, $start_msg, $show_num,
- $num_msgs, $server_sort_order, $mbxresponse) {
- if (isset($mbxresponse['SORT_ARRAY']) && is_array($mbxresponse['SORT_ARRAY'])) {
- $id = $mbxresponse['SORT_ARRAY'];
- } else {
- $id = sqimap_get_sort_order($imapConnection, $server_sort_order,$mbxresponse);
+* Does the $sort $_GET var to field mapping
+*
+* @param int $sort Field to sort on
+* @param bool $bServerSort Server sorting is true
+* @param mixed $key UNDOCUMENTED
+* @return string $sSortField Field tosort on
+*/
+function getSortField($sort,$bServerSort) {
+ switch($sort) {
+ case SQSORT_NONE:
+ $sSortField = 'UID';
+ break;
+ case SQSORT_DATE_ASC:
+ case SQSORT_DATE_DEC:
+ $sSortField = 'DATE';
+ break;
+ case SQSORT_FROM_ASC:
+ case SQSORT_FROM_DEC:
+ $sSortField = 'FROM';
+ break;
+ case SQSORT_SUBJ_ASC:
+ case SQSORT_SUBJ_DEC:
+ $sSortField = 'SUBJECT';
+ break;
+ case SQSORT_SIZE_ASC:
+ case SQSORT_SIZE_DEC:
+ $sSortField = ($bServerSort) ? 'SIZE' : 'RFC822.SIZE';
+ break;
+ case SQSORT_TO_ASC:
+ case SQSORT_TO_DEC:
+ $sSortField = 'TO';
+ break;
+ case SQSORT_CC_ASC:
+ case SQSORT_CC_DEC:
+ $sSortField = 'CC';
+ break;
+ case SQSORT_INT_DATE_ASC:
+ case SQSORT_INT_DATE_DEC:
+ $sSortField = ($bServerSort) ? 'ARRIVAL' : 'INTERNALDATE';
+ break;
+ default: $sSortField = 'DATE';
+ break;
}
- return getServerMessages($imapConnection, $start_msg, $show_num, $num_msgs, $id);
+ return $sSortField;
}
-/**
- * FIXME: Undocumented function
- *
- * @param mixed $imapConnection
- * @param mixed $start_msg
- * @param mixed $show_num
- * @param mixed $num_msgs
- * @param mixed $sort
- * @param mixed $mbxresponse
- * @return array
- */
-function getSelfSortMessages($imapConnection, $start_msg, $show_num,
- $num_msgs, $sort, $mbxresponse) {
- $msgs = array();
- if ($num_msgs >= 1) {
- $id = sqimap_get_php_sort_order ($imapConnection, $mbxresponse);
- 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) {
- $end_msg = $start_msg + ($show_num - 1);
- } else {
- $end_msg = $num_msgs;
- }
- if ($end_msg < $start_msg) {
- $start_msg = $start_msg - $show_num;
- if ($start_msg < 1) {
- $start_msg = 1;
- }
- }
- $id = array_slice(array_reverse($id), ($start_msg-1), $show_num);
- $end = $start_msg + $show_num - 1;
- if ($num_msgs < $show_num) {
- $end_loop = $num_msgs;
- } else if ($end > $num_msgs) {
- $end_loop = $num_msgs - $start_msg + 1;
- } else {
- $end_loop = $show_num;
- }
+function get_sorted_msgs_list($imapConnection,$sort,$mode,&$error) {
+ $bDirection = ($sort % 2);
+ $error = false;
+ switch ($mode) {
+ case 'thread':
+ $id = get_thread_sort($imapConnection);
+ if ($id === false) {
+ $error = '' .
+ _("Thread sorting is not supported by your IMAP server.") . '
' .
+ _("Please report this to the system administrator.").
+ '';
+ }
+ break;
+ case 'server_sort':
+ $sSortField = getSortField($sort,true);
+ $id = sqimap_get_sort_order($imapConnection, $sSortField, $bDirection);
+ if ($id === false) {
+ $error = '' .
+ _( "Server-side sorting is not supported by your IMAP server.") . '
' .
+ _("Please report this to the system administrator.").
+ '';
}
- $msgs = fillMessageArray($imapConnection,$id,$end_loop, $show_num);
+ break;
+ default:
+ $sSortField = getSortField($sort,false);
+ $id = get_squirrel_sort($imapConnection, $sSortField, $bDirection);
+ break;
}
- return $msgs;
+ return $id;
}
-
-
/**
- * This function loops through a group of messages in the mailbox
- * and shows them to the user.
- *
- * @param mixed $imapConnection
- * @param string $mailbox mail folder
- * @param mixed $num_msgs
- * @param mixed $start_msg
- * @param mixed $sort
- * @param mixed $color
- * @param mixed $show_num
- * @param mixed $use_cache
- * @param mixed $mode
- */
+* This function loops through a group of messages in the mailbox
+* and shows them to the user.
+*
+* @param mixed $imapConnection
+* @param string $mailbox mail folder
+* @param mixed $num_msgs
+* @param mixed $start_msg
+* @param mixed $sort
+* @param mixed $color
+* @param mixed $show_num
+* @param mixed $use_cache
+* @param mixed $mode
+*/
function showMessagesForMailbox($imapConnection, $mailbox, $num_msgs,
$start_msg, $sort, $color, $show_num,
$use_cache, $mode='',$mbxresponse) {
- global $msgs, $msort, $auto_expunge, $thread_sort_messages,
- $allow_server_sort, $server_sort_order;
-
- /*
- * For some reason, on PHP 4.3+, this being unset, and set in the session causes havoc
- * so setting it to an empty array beforehand seems to clean up the issue, and stopping the
- * "Your script possibly relies on a session side-effect which existed until PHP 4.2.3" error
- */
-
- if (!isset($msort)) {
- $msort = array();
- }
-
- if (!isset($msgs)) {
- $msgs = array();
+ global $msgs, $msort, $auto_expunge, $thread_sort_messages,$server_sort_array,
+ $allow_server_sort, $server_sort_order;
+ /* if there's no messages in this folder */
+ if ($mbxresponse['EXISTS'] == 0) {
+ $string = '' . _("THIS FOLDER IS EMPTY") . '';
+ echo '
';
+ echo ' ';
+ echo ' ';
+ echo ' ';
+ echo ' ';
+ echo ' ' . html_tag( 'td', $string."\n", 'left')
+ . ' ';
+ echo ' ';
+ echo '
| ';
+ echo ' |
';
+ echo '
';
+ return;
}
- //$start = microtime();
- /* If autoexpunge is turned on, then do it now. */
- //$mbxresponse = sqimap_mailbox_select($imapConnection, $mailbox);
- $srt = $sort;
- /* If autoexpunge is turned on, then do it now. */
- //if ($auto_expunge == true) {
- // $exp_cnt = sqimap_mailbox_expunge($imapConnection, $mailbox, false, '');
- // $mbxresponse['EXISTS'] = $mbxresponse['EXISTS'] - $exp_cnt;
- // $num_msgs = $mbxresponse['EXISTS'];
- //}
-
if ($mbxresponse['EXISTS'] > 0) {
/* if $start_msg is lower than $num_msgs, we probably deleted all messages
- * in the last page. We need to re-adjust the start_msg
- */
+ * in the last page. We need to re-adjust the start_msg
+ */
if($start_msg > $num_msgs) {
$start_msg -= $show_num;
@@ -578,68 +555,51 @@ function showMessagesForMailbox($imapConnection, $mailbox, $num_msgs,
}
/* This code and the next if() block check for
- * server-side sorting methods. The $id array is
- * formatted and $sort is set to 6 to disable
- * SM internal sorting
- */
+ * server-side sorting methods. The $id array is
+ * formatted and $sort is set to 6 to disable
+ * SM internal sorting
+ */
if ($thread_sort_messages == 1) {
$mode = 'thread';
- } elseif ($allow_server_sort == 1) {
- $mode = 'serversort';
+ } else if ($allow_server_sort == 1) {
+ $mode = 'server_sort';
} else {
$mode = '';
}
- if ($use_cache) {
- sqgetGlobalVar('msgs', $msgs, SQ_SESSION);
- sqgetGlobalVar('msort', $msort, SQ_SESSION);
- } else {
- sqsession_unregister('msort');
- sqsession_unregister('msgs'); }
- switch ($mode) {
- case 'thread':
- $msgs = getThreadMessages($imapConnection, $start_msg, $show_num, $num_msgs);
- if ($msgs === false) {
- echo '' .
- _("Thread sorting is not supported by your IMAP server.") . '
' .
- _("Please report this to the system administrator.").
- '';
- $thread_sort_messages = 0;
- $msort = $msgs = array();
- } else {
- $msort= $msgs;
- $sort = 6;
- }
- break;
- case 'serversort':
- $msgs = getServerSortMessages($imapConnection, $start_msg, $show_num,
- $num_msgs, $sort, $mbxresponse);
- if ($msgs === false) {
- echo '' .
- _( "Server-side sorting is not supported by your IMAP server.") . '
' .
- _("Please report this to the system administrator.").
- '';
- $sort = $server_sort_order;
- $allow_server_sort = FALSE;
- $msort = $msgs = array();
- $id = array();
+ if (isset($mbxresponse['SORT_ARRAY']) && is_array($mbxresponse['SORT_ARRAY'])) {
+ $id = $mbxresponse['SORT_ARRAY'];
+ if (sqsession_is_registered('msgs')) {
+ sqsession_unregister('msgs');
+ }
+ $id_slice = array_slice($id,$start_msg-1, $show_num);
+ if (count($id_slice)) {
+ $msgs = sqimap_get_small_header_list($imapConnection,$id_slice,$show_num);
+ } else {
+ return false;
+ }
+ sqsession_register($msgs, 'msgs');
+ } else {
+ if (sqsession_is_registered('server_sort_array')) {
+ sqsession_unregister('server_sort_array');
+ }
+ $id = get_sorted_msgs_list($imapConnection,$sort,$mode,$error);
+ if ($id !== false) {
+ sqsession_register($id, 'server_sort_array');
+ $id_slice = array_slice($id,$start_msg-1, $show_num);
+ if (count($id_slice)) {
+ $msgs = sqimap_get_small_header_list($imapConnection,$id_slice,$show_num);
} else {
- $msort = $msgs;
- $sort = 6;
+ return false;
}
- break;
- default:
- if (!$use_cache) {
- $msgs = getSelfSortMessages($imapConnection, $start_msg, $show_num,
- $num_msgs, $sort, $mbxresponse);
- $msort = calc_msort($msgs, $sort);
- } /* !use cache */
- break;
- } // switch
- sqsession_register($msort, 'msort');
- sqsession_register($msgs, 'msgs');
+ sqsession_register($msgs, 'msgs');
+ } else {
+ echo $error;
+ return false;
+ }
+ }
} /* if exists > 0 */
$res = getEndMessage($start_msg, $show_num, $num_msgs);
@@ -647,228 +607,119 @@ function showMessagesForMailbox($imapConnection, $mailbox, $num_msgs,
$end_msg = $res[1];
$paginator_str = get_paginator_str($mailbox, $start_msg, $end_msg,
- $num_msgs, $show_num, $sort);
+ $num_msgs, $show_num, $sort);
$msg_cnt_str = get_msgcnt_str($start_msg, $end_msg, $num_msgs);
do_hook('mailbox_index_before');
?>
-
+
-
+
|
-
- |
-
+
+ |
+
-
+
-
+ |
-
+
-
+ $id, $msgs, $mailbox, $sort, $show_num,0,0);
+ ?>
|
-
+
- |
+
-
-
+
+ ?>
-
+
$show_num) {
- $end_msg = $show_num;
- $start_msg = 1;
- }
- }
- $endVar = $end_msg + 1;
+ // if client side sorting and no sort we only fetch num_msgs so the start_msg in the $msgs
+ // array must be corrected
+ $i = $start_msg -1;
/*
- * Loop through and display the info for each message.
- * ($t is used for the checkbox number)
- */
- $t = 0;
-
- /* messages display */
-
- if (!$num_msgs) {
- /* if there's no messages in this folder */
- echo html_tag( 'tr',
- html_tag( 'td',
- " " . _("THIS FOLDER IS EMPTY") . " ",
- 'center',
- $color[4],
- 'colspan="' . count($index_order) . '"'
- )
- );
- } elseif ($start_msg == $end_msg) {
- /* if there's only one message in the box, handle it differently. */
- if ($sort != 6) {
- $i = $start_msg;
+ * Loop through and display the info for each message.
+ * ($t is used for the checkbox number)
+ */
+
+ $iEnd = $i + $show_num;
+ for ($j=$i,$t=0;$j<$iEnd;++$j) {
+ if (isset($id[$j])) {
+ $last = (isset($id[$j+1]) || $j == $iEnd) ? false : true;
+ $msg = $msgs[$id[$j]];
+ printMessageInfo($t, $last, $msg, $mailbox,
+ $start_msg, $where, $what);
+ ++$t;
} else {
- $i = 1;
+ break;
}
- reset($msort);
- $k = 0;
- do {
- $key = key($msort);
- next($msort);
- $k++;
- } while (isset ($key) && ($k < $i));
- printMessageInfo($imapConnection, $t, true, $key, $mailbox,
- $real_startMessage, $where, $what);
- } else {
- $i = $start_msg;
- reset($msort);
- $k = 0;
- do {
- $key = key($msort);
- next($msort);
- $k++;
- } while (isset ($key) && ($k < $i));
- $not_last = true;
- do {
- if (!$i || $i == $endVar-1) $not_last = false;
- printMessageInfo($imapConnection, $t, $not_last, $key, $mailbox,
- $real_startMessage, $where, $what);
- $key = key($msort);
- $t++;
- $i++;
- next($msort);
- } while ($i && $i < $endVar);
}
}
/**
- * Displays the standard message list header.
- *
- * To finish the table, you need to do a " |
";
- *
- * @param mixed $imapConnection
- * @param array $mbxresponse the array with the results of SELECT against the current mailbox
- * @param string $mailbox the current mailbox
- * @param mixed $sort the current sorting method (-1 for no sorting available [searches])
- * @param mixed $msg_cnt_str
- * @param mixed $paginator
- * @param mixed $start_msg
- */
+* Displays the standard message list header.
+*
+* To finish the table, you need to do a "";
+*
+* @param mixed $imapConnection
+* @param array $mbxresponse the array with the results of SELECT against the current mailbox
+* @param string $mailbox the current mailbox
+* @param mixed $sort the current sorting method (-1 for no sorting available [searches])
+* @param mixed $msg_cnt_str
+* @param mixed $paginator
+* @param mixed $start_msg
+*/
function mail_message_listing_beginning ($imapConnection,
- $mbxresponse,
- $mailbox = '', $sort = -1,
- $msg_cnt_str = '',
- $paginator = ' ',
- $start_msg = 1) {
+ $mbxresponse,
+ $mailbox = '', $sort = -1,
+ $msg_cnt_str = '',
+ $paginator = ' ',
+ $start_msg = 1) {
global $color, $auto_expunge, $base_uri, $show_flag_buttons,
- $allow_server_sort, $server_sort_order,
- $PHP_SELF, $allow_thread_sort, $thread_sort_messages;
+ $allow_server_sort, $server_sort_order,
+ $PHP_SELF, $allow_thread_sort, $thread_sort_messages;
$php_self = $PHP_SELF;
/* fix for incorrect $PHP_SELF */
@@ -894,59 +745,59 @@ function mail_message_listing_beginning ($imapConnection,
}
$moveFields = addHidden('msg', $msg).
- addHidden('mailbox', $mailbox).
- addHidden('startMessage', $start_msg).
- addHidden('location', $location);
+ addHidden('mailbox', $mailbox).
+ addHidden('startMessage', $start_msg).
+ addHidden('location', $location);
/* build thread sorting links */
if ($allow_thread_sort == TRUE) {
- if ($thread_sort_messages == 1 ) {
+ if ($thread_sort_messages == 1 ) {
$set_thread = 2;
$thread_name = _("Unthread View");
- } elseif ($thread_sort_messages == 0) {
+ } elseif ($thread_sort_messages == 0) {
$set_thread = 1;
$thread_name = _("Thread View");
- }
- $thread_link_str = '[' . $thread_name
- . ']';
+ }
+ $thread_link_str = '[' . $thread_name
+ . ']';
}
else
$thread_link_str ='';
/*
- * This is the beginning of the message list table.
- * It wraps around all messages
- */
+ * This is the beginning of the message list table.
+ * It wraps around all messages
+ */
$safe_name = preg_replace("/[^0-9A-Za-z_]/", '_', $mailbox);
$form_name = "FormMsgs" . $safe_name;
echo '