public static function formatEmailAddresses($data, $name)
{
if (!isset(self::$_cache['useRegistry'])) {
self::$_cache['useRegistry'] = $GLOBALS['registry']->hasMethod('mail/batchCompose');
}
$out = array();
$rfc822 = $GLOBALS['injector']->getInstance('Horde_Mail_Rfc822');
if (!is_array($data)) {
$data = array($data);
}
foreach ($data as $email_vals) {
foreach ($rfc822->parseAddressList($email_vals) as $ob) {
$addr = strval($ob);
$tmp = null;
if (self::$_cache['useRegistry']) {
try {
$tmp = $GLOBALS['registry']->call('mail/batchCompose', array(array($addr)));
} catch (Horde_Exception $e) {
self::$_cache['useRegistry'] = false;
}
}
$tmp = empty($tmp) ? 'mailto:' . urlencode($addr) : reset($tmp);
$out[] = Horde::link($tmp) . htmlspecialchars($addr) . '</a>';
}
}
return implode(', ', $out);
}