if (handleAsSent($mailbox)) {
$msg['FROM'] = $msg['TO'];
}
+ $msg['FROM'] = parseAddress($msg['FROM'],1);
+
/*
* This is done in case you're looking into Sent folders,
* because you can have multiple receivers.
*/
-
+
$senderNames = $msg['FROM'];
$senderName = '';
if (sizeof($senderNames)){
$senderName .= htmlspecialchars($senderNames_part[0]);
}
}
- }
-
- $subject_full = decodeHeader($msg['SUBJECT']);
- $subject = processSubject($subject_full, $indent_array[$msg['ID']]);
+ }
+ $msg['SUBJECT'] = decodeHeader($msg['SUBJECT']);
+ $subject = processSubject($msg['SUBJECT'], $indent_array[$msg['ID']]);
+
echo html_tag( 'tr','','','','VALIGN="top"') . "\n";
if (isset($msg['FLAG_FLAGGED']) && ($msg['FLAG_FLAGGED'] == true)) {
} else {
$searchstr = '';
}
- /**
- * AAAAH! Make my eyes stop bleeding!
- * Who wrote this?!
- */
- if (is_array($message_highlight_list) && count($message_highlight_list)){
+
+ if (is_array($message_highlight_list) && count($message_highlight_list)) {
+ $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']);
- if ($match_type == 'TO_CC') {
- foreach ($msg['TO'] as $address) {
- if (strstr('^^' . strtolower($address[0]), $high_val) ||
- strstr('^^' . strtolower($address[1]), $high_val)) {
- $hlt_color = $message_highlight_list_part['color'];
- continue;
- }
- }
- foreach ($msg['CC'] as $address) {
- 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 {
- if (strstr('^^' . strtolower($msg[$match_type]), $high_val)) {
- $hlt_color = $message_highlight_list_part['color'];
- continue;
+ $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;
+ }
+ }
+ break;
+ default:
+ if (strstr('^^' . strtolower($msg[$match_type]), $high_val)) {
+ $hlt_color = $message_highlight_list_part['color'];
+ break 3;
+ }
+ break;
}
}
}
$td_str .= '<a href="read_body.php?mailbox='.$urlMailbox
. '&passed_id='. $msg["ID"]
. '&startMessage='.$start_msg.$searchstr.'"';
- do_hook("subject_link");
- if ($subject != $subject_full) {
+ $td_str .= ' ' .concat_hook_function('subject_link');
+ if ($subject != $msg['SUBJECT']) {
$title = get_html_translation_table(HTML_SPECIALCHARS);
$title = array_flip($title);
- $title = strtr($subject_full, $title);
+ $title = strtr($msg['SUBJECT'], $title);
$title = str_replace('"', "''", $title);
$td_str .= " title=\"$title\"";
}
} else {
$end_loop = $show_num;
}
- return fillMessageArray($imapConnection,$id,$end_loop);
+ return fillMessageArray($imapConnection,$id,$end_loop,$show_num);
} else {
return false;
}
$end_loop = $show_num;
}
}
- $msgs = fillMessageArray($imapConnection,$id,$end_loop);
+ $msgs = fillMessageArray($imapConnection,$id,$end_loop, $show_num);
}
return $msgs;
}
$msort = array();
}
- $start = microtime();
+ if (!isset($msgs)) {
+ $msgs = array();
+ }
+
+ //$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");
}
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);
}
echo "</td>\n";
break;
case 6: /* size */
- echo html_tag( 'td', '<b>' . _("Size") . '</b>', 'center', '', 'width="5%"' );
+ echo html_tag( 'td', '<b>' . _("Size") . '</b>', 'center', '', 'width="5%" nowrap' );
break;
}
}
/* And return the result. */
return $handleAsSent_result;
}
+
?>