Turba::formatEmailAddresses PHP Method

formatEmailAddresses() public static method

TODO
public static formatEmailAddresses ( mixed $data, string $name ) : mixed
$data mixed Either a single email address or an array of email addresses to format.
$name string The personal name phrase.
return mixed Either the formatted address or an array of formatted addresses.
    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);
    }