if ($highlight_list && !$bHighLight) {
$bHighLight = highlightMessage($aCol[$k], $value, $highlight_list,$aFormattedMessages[$iUid]);
}
- $sTmp = getAddressString(parseRFC822Address($value),array('best' => true));
+ $aAddressList = parseRFC822Address($value);
+ $sTmp = getAddressString($aAddressList,array('best' => true));
+ $title = $title_maybe = '';
+ foreach ($aAddressList as $aAddr) {
+ $sPersonal = (isset($aAddr[SQM_ADDR_PERSONAL])) ? $aAddr[SQM_ADDR_PERSONAL] : '';
+ $sMailbox = (isset($aAddr[SQM_ADDR_MAILBOX])) ? $aAddr[SQM_ADDR_MAILBOX] : '';
+ $sHost = (isset($aAddr[SQM_ADDR_HOST])) ? $aAddr[SQM_ADDR_HOST] : '';
+ if ($sPersonal) {
+ $title .= htmlspecialchars($sMailbox.'@'.$sHost).', ';
+ } else {
+ // if $value gets truncated we need to add the addresses with no
+ // personal name as well
+ $title_maybe .= htmlspecialchars($sMailbox.'@'.$sHost).', ';
+ }
+ }
+ if ($title) {
+ $title = substr($title,0,-2); // strip ', ';
+ }
$sTmp = decodeHeader($sTmp);
if (isset($aColumnDesc[$k]['truncate']) && $aColumnDesc[$k]['truncate']) {
$sTrunc = truncateWithEntities($sTmp, $aColumnDesc[$k]['truncate']);
- $title = ($sTrunc != $sTmp) ? htmlspecialchars($sTmp) : '';
+ if ($sTrunc != $sTmp) {
+ if (!$title) {
+ $title = htmlspecialchars($sTmp);
+ } else if ($title_maybe) {
+ $title = $title .', '.$title_maybe;
+ $title = substr($title,0,-2); // strip ', ';
+ }
+ }
$sTmp = $sTrunc;
}
}