/* Default value for page_selector_max. */
define('PG_SEL_MAX', 10);
-function printMessageInfo($imapConnection, $t, $i, $key, $mailbox,
+function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
$start_msg, $where, $what) {
global $checkall,
$color, $msgs, $msort,
if (sizeof($message_highlight_list)){
foreach ($message_highlight_list as $message_highlight_list_part) {
if (trim($message_highlight_list_part['value']) != '') {
- if ($message_highlight_list_part['match_type'] == 'to_cc') {
- if (strstr('^^' . strtolower($msg['TO']),
- strtolower($message_highlight_list_part['value']))
- || strstr('^^'.strtolower($msg['CC']),
- strtolower($message_highlight_list_part['value']))) {
+ $high_val = strtolower($message_highlight_list_part['value']);
+ $match_type = strtoupper($message_highlight_list_part['match_type']);
+ if ($match_type == 'TO_CC') {
+ if (strstr('^^' . strtolower($msg['TO']), $high_val) ||
+ strstr('^^' . strtolower($msg['CC']), $high_val)) {
$hlt_color = $message_highlight_list_part['color'];
continue;
}
} else {
- if (strstr('^^' . strtolower($msg[strtoupper($message_highlight_list_part['match_type'])]),
- strtolower($message_highlight_list_part['value']))) {
+ if (strstr('^^' . strtolower($msg[$match_type]), $high_val)) {
$hlt_color = $message_highlight_list_part['color'];
continue;
}
if (!isset($hlt_color)) {
$hlt_color = $color_string;
}
-
- $checked = ($checkall == 1) ? ' checked' : '';
- $row = new html();
- $row->tag = 'tr';
- $row->class = 'm_r';
- $row->id = 'mr'.$t;
-
+ $checked = ($checkall == 1) ? true : false;
$col = 0;
if (sizeof($index_order)) {
foreach ($index_order as $index_order_part) {
++$col;
}
}
- echo '</tr>'."\n".'<tr><td colspan="'.$col.'" BGCOLOR="'.
- $color[0].'" HEIGHT="1"></td></tr>'."\n";
+ if ($not_last) {
+ echo '</tr>' . "\n" . '<tr><td COLSPAN="' . $col . '" BGCOLOR="' .
+ $color[0] . '" HEIGHT="1"></td></tr>' . "\n";
+ } else {
+ echo '</tr>'."\n";
+ }
}
-function getThreadMessages($imapConnection, $start_msg, $show_num, $num_msgs) {
- $id = get_thread_sort($imapConnection);
+function getServerMessages($imapConnection, $start_msg, $show_num, $num_msgs, $id) {
if ($id != 'no') {
if ($start_msg + ($show_num - 1) < $num_msgs) {
$end_msg = $start_msg + ($show_num-1);
}
}
+function getThreadMessages($imapConnection, $start_msg, $show_num, $num_msgs) {
+ $id = get_thread_sort($imapConnection);
+ return getServerMessages($imapConnection, $start_msg, $show_num, $num_msgs, $id);
+}
+
function getServerSortMessages($imapConnection, $start_msg, $show_num,
- $num_msgs, $server_sort_order, $mbxresponse) {
- $id = sqimap_get_sort_order($imapConnection, $server_sort_order,$mbxresponse);
- if ($id != 'no') {
- if ($start_msg + ($show_num - 1) < $num_msgs) {
- $end_msg = $start_msg + ($show_num-1);
- } else {
- $end_msg = $num_msgs;
- }
- $id = array_slice($id, ($start_msg-1), ($end_msg));
-
- $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);
- } else {
- return false;
- }
+ $num_msgs, $server_sort_order, $mbxresponse) {
+ $id = sqimap_get_sort_order($imapConnection, $server_sort_order,$mbxresponse);
+ return getServerMessages($imapConnection, $start_msg, $show_num, $num_msgs, $id);
}
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;
- } 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), ($end_msg));
- $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;
- }
+ $msgs = array();
+ if ($num_msgs >= 1) {
+ $id = sqimap_get_php_sort_order ($imapConnection, $mbxresponse);
+ if ($sort < 6 ) {
+ $end = $num_msgs;
+ $end_loop = $end;
+ } 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), ($end_msg));
+ $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;
+ }
+ }
+ $msgs = fillMessageArray($imapConnection,$id,$end_loop);
}
- $msgs = fillMessageArray($imapConnection,$id,$end_loop);
- }
- return $msgs;
+ return $msgs;
}
$mode = '';
}
+ sqsession_unregister('msort');
+ sqsession_unregister('msgs');
switch ($mode) {
case 'thread':
- sqsession_unregister('msort');
- sqsession_unregister('msgs');
- $msgs = getThreadMessages($imapConnection, $start_msg, $show_num,
- $num_msgs);
+ $id = get_thread_sort($imapConnection);
+ $msgs = getServerMessages($imapConnection, $start_msg, $show_num, $num_msgs, $id);
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);
+ $id = sqimap_get_sort_order($imapConnection, $sort, $mbxresponse);
+ $msgs = getServerMessages($imapConnection, $start_msg, $show_num, $num_msgs, $id);
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.").
$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');
+ $sort = 6;
}
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
+ sqsession_register($msort, 'msort');
+ sqsession_register($msgs, 'msgs');
} /* if exists > 0 */
$res = getEndMessage($start_msg, $show_num, $num_msgs);
$msg_cnt_str = get_msgcnt_str($start_msg, $end_msg, $num_msgs);
do_hook('mailbox_index_before');
-
- mail_message_listing_beginning($imapConnection, $mailbox, $sort,
- $msg_cnt_str, $paginator_str, $start_msg);
-
-
- echo '<table bgcolor="' . $color[0] . '" border="0" width="100%" cellpadding="1" cellspacing="0"><tr><td>';
+ echo '<table border="0" width="100%" cellpadding="0" cellspacing="0">';
+ echo '<tr><td>';
+
+ mail_message_listing_beginning($imapConnection, $mailbox, $sort,
+ $msg_cnt_str, $paginator_str, $start_msg);
+ echo '</td></tr>';
+ /* line between the button area and the list */
+ echo '<tr><td HEIGHT="5" BGCOLOR="'.$color[4].'"></td></tr>';
+
+ echo '<tr><td>';
+ echo ' <table width="100%" cellpadding="1" cellspacing="0" align="center"'.' border="0" bgcolor="'.$color[9].'">';
+ echo ' <tr><td>';
+ echo ' <table width="100%" cellpadding="1" cellspacing="0" align="center" border="0" bgcolor="'.$color[5].'">';
+ echo '<tr><td>';
printHeader($mailbox, $srt, $color, !$thread_sort_messages);
- displayMessageArray($imapConnection, $num_msgs, $start_msg,
- $msort, $mailbox, $sort, $color, $show_num, 0, 0);
+ displayMessageArray($imapConnection, $num_msgs, $start_msg,
+ $msort, $mailbox, $sort, $color, $show_num,0,0);
+ echo '</td></tr></table></td></tr></table>';
- mail_message_listing_end($num_msgs, $paginator_str, $msg_cnt_str, $color);
+ mail_message_listing_end($num_msgs, $paginator_str, $msg_cnt_str, $color);
echo '</td></tr></table>';
-
- /**
- * TODO: Switch to using $_SESSION[] whenever we ditch the 4.0.x series.
- */
}
function calc_msort($msgs, $sort) {
next($msort);
$k++;
} while (isset ($key) && ($k < $i));
- printMessageInfo($imapConnection, $t, $i, $key, $mailbox,
- $real_startMessage, $where, $what);
+ printMessageInfo($imapConnection, $t, true, $key, $mailbox,
+ $real_startMessage, $where, $what);
} else {
$i = $start_msg;
reset($msort);
next($msort);
$k++;
} while (isset ($key) && ($k < $i));
+ $not_last = true;
do {
- printMessageInfo($imapConnection, $t, $i, $key, $mailbox,
- $real_startMessage, $where, $what);
+ 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);
}
- echo '</table>';
}
/*
* This is the beginning of the message list table.
* It wraps around all messages
*/
-
echo "<FORM name=\"messageList\" method=post action=\"$moveURL\">\n"
- . html_tag( 'table' ,'' , '', '', 'border="0" width="100%" cellpadding="1" cellspacing="0"' ) .
+ . html_tag( 'table' ,
html_tag( 'tr',
html_tag( 'td' ,
html_tag( 'table' ,
html_tag( 'tr',
html_tag( 'td', $paginator, 'left' ) .
- html_tag( 'td', $msg_cnt_str, 'right' )
+ html_tag( 'td', $msg_cnt_str, 'right' )
)
- , '', $color[4], 'border="0" width="100%" cellpadding="2" cellspacing="0"' )
+ , '', $color[4], 'border="0" width="100%" cellpadding="1" cellspacing="0"' )
, 'left', '', '' )
, '', $color[0] )
- . html_tag( 'tr' ) . "\n"
- . html_tag( 'td' ,'' , 'left', $color[0], '' )
- . html_tag( 'table' ,'' , '', $color[0], 'border="0" width="100%" cellpadding="0" cellspacing="0"' )
+ , '', '', 'border="0" width="100%" cellpadding="1" cellspacing="0"' );
+ /* line between header and button area */
+ echo '<tr><td HEIGHT="5" BGCOLOR="'.$color[4].'"></td></tr>';
+
+ echo '<tr><td>';
+ echo html_tag( 'tr' ) . "\n"
+ . html_tag( 'td' ,'' , 'left', '', '' )
+ . html_tag( 'table' ,'' , '', $color[9], 'border="0" width="100%" cellpadding="1" cellspacing="0"' )
+ . '<tr><td>'
+ . html_tag( 'table' ,'' , '', $color[0], 'border="0" width="100%" cellpadding="1" cellspacing="0"' )
. html_tag( 'tr',
- getSmallStringCell(' ' . _("Move Selected To"), 'left') .
- getSmallStringCell(_("Transform Selected Messages"), 'right')
+ getSmallStringCell(_("Move Selected To"), 'left', 'nowrap') .
+ getSmallStringCell(_("Transform Selected Messages"), 'right')
)
. html_tag( 'tr' ) ."\n"
. html_tag( 'td', '', 'left', '', 'valign="middle" nowrap' );
- getMbxList($imapConnection);
- echo getButton('SUBMIT', 'moveButton',_("Move")) . "\n";
- echo getButton('SUBMIT', 'attache',_("Forward")) . "\n";
+ getMbxList($imapConnection);
+ echo getButton('SUBMIT', 'moveButton',_("Move")) . "\n";
+ echo getButton('SUBMIT', 'attache',_("Forward")) . "\n";
- echo " </TD>\n"
+ echo " </TD>\n"
. html_tag( 'td', '', 'right', '', 'nowrap' );
+
+
if (!$auto_expunge) {
echo getButton('SUBMIT', 'expungeButton',_("Expunge"))
.' ' . _("mailbox") . "\n";
, '', '', '' );
}
- echo "</TABLE>\n";
- echo "</table>\n";
+ echo "</TABLE></td></tr></table></td></tr>\n";
do_hook('mailbox_form_before');
- echo '</td></tr>'
- . html_tag( 'tr' )
- . html_tag( 'td' ,'' , '', $color[0], '' );
-
/* if using server sort we highjack the
* the $sort var and use $server_sort_order
* instead. but here we reset sort for a bit
}
function mail_message_listing_end($num_msgs, $paginator_str, $msg_cnt_str, $color) {
- if ($num_msgs) {
- echo html_tag( 'table',
+ if ($num_msgs) {
+ /* space between list and footer */
+ echo '<tr><td HEIGHT="5" BGCOLOR="'.$color[4].'" COLSPAN="1">';
+
+ echo '</td></tr><tr><td>';
+ echo html_tag( 'table',
html_tag( 'tr',
html_tag( 'td',
html_tag( 'table',
html_tag( 'td', $paginator_str ) .
html_tag( 'td', $msg_cnt_str, 'right' )
)
- , '', $color[4], 'width="100%" cellpadding="1" cellspacing="1"' )
+ , '', $color[4], 'width="100%" border="0" cellpadding="1" cellspacing="0"' )
)
- , '', $color[4] )
- , '', $color[9], 'width="100%" cellpadding="1" cellspacing="1"' );
-
- }
+ )
+ , '', $color[9], 'width="100%" border="0" cellpadding="1" cellspacing="0"' );
+ echo '</td></tr>';
+ }
/* End of message-list table */
do_hook('mailbox_index_after');
function printHeader($mailbox, $sort, $color, $showsort=true) {
global $index_order;
- echo html_tag( 'table' ,'' , '', $color[4], 'border="0" width="100%" cellpadding="1" cellspacing="0"' );
echo html_tag( 'tr' ,'' , 'center', $color[5] );
for ($i = 1; $i <= count($index_order); $i++) {
switch ($index_order[$i]) {