alecpl
2010-09-29 e99991996dbb9e7b0b0ff6cfa94dc0fb2522eb66
program/include/rcube_shared.inc
@@ -680,3 +680,51 @@
    }
}
/**
 * intl replacement functions
 */
if (!function_exists('idn_to_utf8'))
{
    function idn_to_utf8($domain, $flags=null)
    {
        static $idn, $loaded;
        if (!$loaded) {
            $idn = new Net_IDNA2();
            $loaded = true;
        }
        if ($idn && $domain && preg_match('/(^|@|\.)xn--/i', $domain)) {
            try {
                $domain = $idn->decode($domain);
            }
            catch (Exception $e) {
            }
        }
        return $domain;
    }
}
if (!function_exists('idn_to_ascii'))
{
    function idn_to_ascii($domain, $flags=null)
    {
        static $idn, $loaded;
        if (!$loaded) {
            $idn = new Net_IDNA2();
            $loaded = true;
        }
        if ($idn && $domain && preg_match('/[^\x20-\x7E]/', $domain)) {
            try {
                $domain = $idn->encode($domain);
            }
            catch (Exception $e) {
            }
        }
        return $domain;
    }
}