protected function _renderVarDisplay_email($form, &$var, &$vars)
{
$email_val = $var->getValue($vars);
if ($var->type->getProperty('link_compose')) {
$addrs = $GLOBALS['injector']->getInstance('Horde_Mail_Rfc822')->parseAddressList($email_val, array('limit' => $var->type->getProperty('allow_multi') ? 0 : 1));
$link = '';
foreach ($addrs as $addr) {
$display_email = $var->type->getProperty('strip_domain') ? $addr->mailbox . ' (at) ' . str_replace('.', ' (dot) ', $addr->host) : $addr->bare_address;
$tmp = clone $addr;
$addr->personal = $var->type->getProperty('link_name');
$address = $addr->writeAddress(true);
try {
$mail_link = $GLOBALS['registry']->call('mail/compose', array(array('to' => addslashes($address))));
} catch (Horde_Exception $e) {
$mail_link = 'mailto:' . urlencode($address);
}
if (!empty($link)) {
$link .= ', ';
}
$link .= Horde::link($mail_link, strval($addr)) . htmlspecialchars($display_email) . '</a>';
}
return $link;
} else {
$addrs = $GLOBALS['injector']->getInstance('Horde_Mail_Rfc822')->parseAddressList($email_val, array('limit' => 1));
$display_email = $var->type->getProperty('strip_domain') ? $addr->mailbox . ' (at) ' . str_replace('.', ' (dot) ', $addr->host) : $addr->bare_address;
return nl2br(htmlspecialchars($display_email));
}
}