X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Ffilter%2Fvalidator%2Fclass_EmailValidatorFilter.php;fp=inc%2Fclasses%2Fmain%2Ffilter%2Fvalidator%2Fclass_EmailValidatorFilter.php;h=0000000000000000000000000000000000000000;hb=751f9e6c51f00dba27757b72fc85490e51fd3797;hp=d01d825665b27c00eb5c875b85fd62973d95289c;hpb=5203f9bd014ad46fbc7ee54e7223dcd46e14e3b4;p=core.git diff --git a/inc/classes/main/filter/validator/class_EmailValidatorFilter.php b/inc/classes/main/filter/validator/class_EmailValidatorFilter.php deleted file mode 100644 index d01d8256..00000000 --- a/inc/classes/main/filter/validator/class_EmailValidatorFilter.php +++ /dev/null @@ -1,169 +0,0 @@ - - * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team - * @license GNU GPL 3.0 or any newer version - * @link http://www.shipsimu.org - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -class EmailValidatorFilter extends BaseFilter implements Filterable { - /** - * Protected constructor - * - * @return void - */ - protected function __construct () { - // Call parent constructor - parent::__construct(__CLASS__); - } - - /** - * Creates an instance of this filter class - * - * @return $filterInstance An instance of this filter class - */ - public static final function createEmailValidatorFilter () { - // Get a new instance - $filterInstance = new EmailValidatorFilter(); - - // Return the instance - return $filterInstance; - } - - /** - * Executes the filter with given request and response objects - * - * @param $requestInstance An instance of a class with an Requestable interface - * @param $responseInstance An instance of a class with an Responseable interface - * @return void - * @throws FilterChainException If this filter fails to operate - */ - public function execute (Requestable $requestInstance, Responseable $responseInstance) { - // Get Email from request - $email = $requestInstance->getRequestElement('email'); - - // Is the Email set? - if ((is_null($email)) || ($this->getConfigInstance()->getConfigEntry('register_email_unique') == 'Y')) { - // Try it again - $email1 = $requestInstance->getRequestElement('email1'); - $email2 = $requestInstance->getRequestElement('email2'); - - // Is the email still not set? - if ((is_null($email1)) || (is_null($email2))) { - // Not found in form so stop the filtering process - $requestInstance->requestIsValid(FALSE); - - // Add a message to the response - $responseInstance->addFatalMessage('email_unset'); - - // Abort here - throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED); - } elseif ((empty($email1)) || (empty($email2))) { - // Email is empty - $requestInstance->requestIsValid(FALSE); - - // Is the email empty? - if (empty($email1)) { - // Add a message to the response - $responseInstance->addFatalMessage('email1_empty'); - } // END - if - - // Is the confirmation empty? - if (empty($email2)) { - // Add a message to the response - $responseInstance->addFatalMessage('email2_empty'); - } // END - if - - // Abort here - throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED); - } elseif ($this->ifEmailIsTaken($email1)) { - // Email is already taken - $requestInstance->requestIsValid(FALSE); - - // Add a message to the response - $responseInstance->addFatalMessage('email_taken'); - - // Abort here - throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED); - } elseif ($email1 != $email2) { - // Emails didn't match - $requestInstance->requestIsValid(FALSE); - - // Add a message to the response - $responseInstance->addFatalMessage('emails_mismatch'); - - // Abort here - throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED); - } // END - elseif - } elseif (empty($email)) { - // Empty field! - $requestInstance->requestIsValid(FALSE); - - // Add a message to the response - $responseInstance->addFatalMessage('email_empty'); - - // Abort here - throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED); - } // END - elseif - } - - /** - * Check whether the email as already been taken - * - * @param $email Email to check for existence - * @return $alreadyTaken Whether the email has been taken - */ - private function ifEmailIsTaken ($email) { - // Default is already taken - $alreadyTaken = TRUE; - - // Initialize instance - $userInstance = NULL; - - // Get a registry instance - $registry = Registry::getRegistry(); - - // Is the user already there? - if ($registry->instanceExists('user')) { - // Use the instance for checking for the email - $userInstance = $registry->getInstance('user'); - $userInstance->setEmailAddress($email); - } else { - // If this instance is created then the username *does* exist - $userInstance = call_user_func_array(array($this->getConfigInstance()->getConfigEntry('user_class'), 'createMemberByEmail'), array($email)); - - // Remember this user instance in our registry for later usage - $registry->addInstance('user', $userInstance); - } - - // Does the email exist? - if ($userInstance->ifEmailAddressExists() === FALSE) { - // This email has not being used yet - $alreadyTaken = FALSE; - } - - // Return the result - return $alreadyTaken; - } -} - -// [EOF] -?>