Thomas Bruederli
2012-11-17 6ddb16d181e285d4f0ef0ef55bdd0ba787f1b583
program/include/rcube_utils.php
@@ -24,7 +24,8 @@
/**
 * Utility class providing common functions
 *
 * @package Core
 * @package    Framework
 * @subpackage Utils
 */
class rcube_utils
{
@@ -221,6 +222,10 @@
        static $js_rep_table = false;
        static $xml_rep_table = false;
        if (!is_string($str)) {
            $str = strval($str);
        }
        // encode for HTML output
        if ($enctype == 'html') {
            if (!$html_encode_arr) {
@@ -245,9 +250,6 @@
            }
            $out = strtr($str, $encode_arr);
            // avoid douple quotation of &
            $out = preg_replace('/&([A-Za-z]{2,6}|#[0-9]{2,4});/', '&\\1;', $out);
            return $newlines ? nl2br($out) : $out;
        }
@@ -678,7 +680,7 @@
        // %s - domain name after the '@' from e-mail address provided at login screen. Returns FALSE if an invalid email is provided
        if (strpos($name, '%s') !== false) {
            $user_email = self::get_input_value('_user', self::INPUT_POST);
            $user_email = rcube_utils::idn_convert($user_email, true);
            $user_email = self::idn_convert($user_email, true);
            $matches    = preg_match('/(.*)@([a-z0-9\.\-\[\]\:]+)/i', $user_email, $s);
            if ($matches < 1 || filter_var($s[1]."@".$s[2], FILTER_VALIDATE_EMAIL) === false) {
                return false;
@@ -760,7 +762,7 @@
            }
        }
        $result[] = substr($string, $p);
        $result[] = (string) substr($string, $p);
        return $result;
    }