diff --git a/lib/Doctrine/Validator/Email.php b/lib/Doctrine/Validator/Email.php index 483bdaeff..0fda141fb 100644 --- a/lib/Doctrine/Validator/Email.php +++ b/lib/Doctrine/Validator/Email.php @@ -1,80 +1,80 @@ -. - */ - -/** - * Doctrine_Validator_Email - * - * @package Doctrine - * @category Object Relational Mapping - * @license http://www.opensource.org/licenses/lgpl-license.php LGPL - * @link www.phpdoctrine.com - * @since 1.0 - * @version $Revision$ - * @author Konsta Vesterinen - */ -class Doctrine_Validator_Email -{ - /** - * @link http://iamcal.com/publish/articles/php/parsing_email/pdf/ - * @param Doctrine_Record $record - * @param string $key - * @param mixed $value - * @param string $args - * @return boolean - */ - public function validate(Doctrine_Record $record, $key, $value, $args) - { - if (empty($value)) { - return true; - } - if (isset($args[0])) { - $parts = explode("@", $value); - if (isset($parts[1]) && function_exists("checkdnsrr")) { - if ( ! checkdnsrr($parts[1], "MX")) { - return false; - } - } - } - - $qtext = '[^\\x0d\\x22\\x5c\\x80-\\xff]'; - $dtext = '[^\\x0d\\x5b-\\x5d\\x80-\\xff]'; - $atom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+'; - $quoted_pair = '\\x5c[\\x00-\\x7f]'; - $domain_literal = "\\x5b($dtext|$quoted_pair)*\\x5d"; - $quoted_string = "\\x22($qtext|$quoted_pair)*\\x22"; - $domain_ref = $atom; - $sub_domain = "($domain_ref|$domain_literal)"; - $word = "($atom|$quoted_string)"; - $domain = "$sub_domain(\\x2e$sub_domain)+"; - /* - following psudocode to allow strict checking - ask pookey about this if you're puzzled - - if ($this->getValidationOption('strict_checking') == true) { - $domain = "$sub_domain(\\x2e$sub_domain)*"; - } - */ - $local_part = "$word(\\x2e$word)*"; - $addr_spec = "$local_part\\x40$domain"; - - return (bool)preg_match("!^$addr_spec$!", $value); - } - -} +. + */ + +/** + * Doctrine_Validator_Email + * + * @package Doctrine + * @category Object Relational Mapping + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @link www.phpdoctrine.com + * @since 1.0 + * @version $Revision$ + * @author Konsta Vesterinen + */ +class Doctrine_Validator_Email +{ + /** + * @link http://iamcal.com/publish/articles/php/parsing_email/pdf/ + * @param Doctrine_Record $record + * @param string $key + * @param mixed $value + * @param string $args + * @return boolean + */ + public function validate(Doctrine_Record $record, $key, $value, $args) + { + if (empty($value)) { + return true; + } + if (isset($args[0])) { + $parts = explode("@", $value); + if (isset($parts[1]) && function_exists("checkdnsrr")) { + if ( ! checkdnsrr($parts[1], "MX")) { + return false; + } + } + } + + $qtext = '[^\\x0d\\x22\\x5c\\x80-\\xff]'; + $dtext = '[^\\x0d\\x5b-\\x5d\\x80-\\xff]'; + $atom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+'; + $quoted_pair = '\\x5c[\\x00-\\x7f]'; + $domain_literal = "\\x5b($dtext|$quoted_pair)*\\x5d"; + $quoted_string = "\\x22($qtext|$quoted_pair)*\\x22"; + $domain_ref = $atom; + $sub_domain = "($domain_ref|$domain_literal)"; + $word = "($atom|$quoted_string)"; + $domain = "$sub_domain(\\x2e$sub_domain)+"; + /* + following psudocode to allow strict checking - ask pookey about this if you're puzzled + + if ($this->getValidationOption('strict_checking') == true) { + $domain = "$sub_domain(\\x2e$sub_domain)*"; + } + */ + $local_part = "$word(\\x2e$word)*"; + $addr_spec = "$local_part\\x40$domain"; + + return (bool)preg_match("!^$addr_spec$!D", $value); + } + +}