} else {
$searchstr = '';
}
- /**
- * AAAAH! Make my eyes stop bleeding!
- * Who wrote this?!
- */
+
if (is_array($message_highlight_list) && count($message_highlight_list)) {
- $msg['TO'] = parseAddress($msg['TO']);
- $msg['CC'] = parseAddress($msg['CC']);
+ $msg['TO'] = parseAddress($msg['TO']);
+ $msg['CC'] = parseAddress($msg['CC']);
foreach ($message_highlight_list as $message_highlight_list_part) {
if (trim($message_highlight_list_part['value']) != '') {
$high_val = strtolower($message_highlight_list_part['value']);
$match_type = strtoupper($message_highlight_list_part['match_type']);
- switch($match_type) {
- case('TO'):
- case('TO_CC'):
- foreach ($msg['TO'] as $address) {
- $address[0] = decodeHeader($address[0]);
- $address[1] = decodeHeader($address[1]);
- if (strstr('^^' . strtolower($address[0]), $high_val) ||
- strstr('^^' . strtolower($address[1]), $high_val)) {
- $hlt_color = $message_highlight_list_part['color'];
- continue;
+ if($match_type == 'TO_CC') {
+ $match = array('TO', 'CC');
+ } else {
+ $match = array($match_type);
+ }
+ foreach($match as $match_type) {
+ switch($match_type) {
+ case('TO'):
+ case('CC'):
+ case('FROM'):
+ foreach ($msg[$match_type] as $address) {
+ $address[0] = decodeHeader($address[0]);
+ $address[1] = decodeHeader($address[1]);
+ if (strstr('^^' . strtolower($address[0]), $high_val) ||
+ strstr('^^' . strtolower($address[1]), $high_val)) {
+ $hlt_color = $message_highlight_list_part['color'];
+ break 4;
+ }
}
- }
- if($match_type != 'TO_CC') {
break;
- }
- case('CC'):
- foreach ($msg['CC'] as $address) {
- $address[0] = decodeHeader($address[0]);
- $address[1] = decodeHeader($address[1]);
- if( strstr('^^' . strtolower($address[0]), $high_val) ||
- strstr('^^' . strtolower($address[1]), $high_val)) {
+ default:
+ if (strstr('^^' . strtolower($msg[$match_type]), $high_val)) {
$hlt_color = $message_highlight_list_part['color'];
- continue;
+ break 3;
}
- }
- break;
- case('FROM'):
- foreach ($msg['FROM'] as $address) {
- $address[0] = decodeHeader($address[0]);
- $address[1] = decodeHeader($address[1]);
- if( strstr('^^' . strtolower($address[0]), $high_val) ||
- strstr('^^' . strtolower($address[1]), $high_val)) {
- $hlt_color = $message_highlight_list_part['color'];
- continue;
- }
- }
- break;
- default:
- if (strstr('^^' . strtolower($msg[$match_type]), $high_val)) {
- $hlt_color = $message_highlight_list_part['color'];
- continue;
- }
- break;
+ break;
+ }
}
}
}
$msgs = array();
}
- $start = microtime();
+ //$start = microtime();
/* If autoexpunge is turned on, then do it now. */
$mbxresponse = sqimap_mailbox_select($imapConnection, $mailbox);
$srt = $sort;
mail_message_listing_end($num_msgs, $paginator_str, $msg_cnt_str, $color);
echo '</td></tr></table>';
- $t = elapsed($start);
+ //$t = elapsed($start);
//echo("elapsed time = $t seconds\n");
}
$message_highlight_list = array();
}
-if ($action == 'delete' && isset($theid)) {
-
+if (isset($theid) && ($action == 'delete') ||
+ ($action == 'up') ||
+ ($action == 'down')) {
$new_rules = array();
- foreach($message_highlight_list as $rid => $rule) {
- if($rid != $theid) {
- $new_rules[] = $rule;
- }
+ switch($action) {
+ case('delete'):
+ foreach($message_highlight_list as $rid => $rule) {
+ if($rid != $theid) {
+ $new_rules[] = $rule;
+ }
+ }
+ break;
+ case('down'):
+ $theid++;
+ case('up'):
+ foreach($message_highlight_list as $rid => $rule) {
+ if($rid == $theid) {
+ $temp_rule = $new_rules[$rid-1];
+ $new_rules[$rid-1] = $rule;
+ $new_rules[$rid] = $temp_rule;
+ } else {
+ $new_rules[$rid] = $rule;
+ }
+ }
+ break;
+ default:
+ $new_rules = $message_highlight_list;
+ break;
}
$message_highlight_list = $new_rules;
echo '<center>[<a href="options_highlight.php?action=add">' . _("New") . '</a>]'.
' - [<a href="options.php">'._("Done").'</a>]</center><br>'."\n";
-if (count($message_highlight_list) >= 1) {
+$mhl_count = count($message_highlight_list);
+if ($mhl_count > 0) {
echo html_tag( 'table', '', 'center', '', 'width="80%" border="0" cellpadding="3" cellspacing="0"' ) . "\n";
- for ($i=0; $i < count($message_highlight_list); $i++) {
+ for ($i=0; $i < $mhl_count; $i++) {
$match_type = '';
switch ($message_highlight_list[$i]['match_type'] ) {
case 'from' :
break;
}
+ $links = '<small>[<a href="options_highlight.php?action=edit&theid=' . $i . '">' .
+ _("Edit") .
+ '</a>] [<a href="options_highlight.php?action=delete&theid='. $i . '">' .
+ _("Delete");
+ if($i > 0) {
+ $links .= '</a>] [<a href="options_highlight.php?action=up&theid='. $i . '">' . _("Up");
+ }
+ if($i+1 < $mhl_count) {
+ $links .= '</a>] [<a href="options_highlight.php?action=down&theid='. $i . '">' . _("Down");
+ }
+ $links .= '</a>]</small>';
+
echo html_tag( 'tr',
html_tag( 'td',
- '<small>[<a href="options_highlight.php?action=edit&theid=' . $i . '">' .
- _("Edit") .
- '</a>] [<a href="options_highlight.php?action=delete&theid='.
- $i . '">' . _("Delete") . '</a>]</small>' ,
+ $links,
'left', $color[4], 'width="20%" nowrap' ) .
html_tag( 'td',
htmlspecialchars($message_highlight_list[$i]['name']) ,