X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Ffilter%2Fvalidator%2Fclass_EmailValidatorFilter.php;h=d3397dda8a87b463ad78ab616f9ac28d4dee4e5e;hp=6183b33b265066b17fe5d9cf5babaa7e86e3b599;hb=1ee35e6d96c456b8e3499bd683f1647aa28bd501;hpb=c6d73b0e3246efc824cb98338d4be7ee5bc9f308 diff --git a/inc/classes/main/filter/validator/class_EmailValidatorFilter.php b/inc/classes/main/filter/validator/class_EmailValidatorFilter.php index 6183b33b..d3397dda 100644 --- a/inc/classes/main/filter/validator/class_EmailValidatorFilter.php +++ b/inc/classes/main/filter/validator/class_EmailValidatorFilter.php @@ -5,11 +5,11 @@ * invalid form. It could also intercept our filter chain if email address is * already used by some one if configuration requires this. * - * @author Roland Haeder + * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, this is free software + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2014 Core Developer Team * @license GNU GPL 3.0 or any newer version - * @link http://www.ship-simu.org + * @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 @@ -38,16 +38,12 @@ class EmailValidatorFilter extends BaseFilter implements Filterable { /** * Creates an instance of this filter class * - * @param $controllerInstance An instance of a Controller class * @return $filterInstance An instance of this filter class */ - public final static function createEmailValidatorFilter (Controller $controllerInstance) { + public static final function createEmailValidatorFilter () { // Get a new instance $filterInstance = new EmailValidatorFilter(); - // Set the controller - $filterInstance->setControllerInstance($controllerInstance); - // Return the instance return $filterInstance; } @@ -58,13 +54,14 @@ class EmailValidatorFilter extends BaseFilter implements Filterable { * @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()->readConfig('register_email_unique') === "Y")) { + if ((is_null($email)) || ($this->getConfigInstance()->getConfigEntry('register_email_unique') == 'Y')) { // Try it again $email1 = $requestInstance->getRequestElement('email1'); $email2 = $requestInstance->getRequestElement('email2'); @@ -72,16 +69,16 @@ class EmailValidatorFilter extends BaseFilter implements Filterable { // 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); + $requestInstance->requestIsValid(FALSE); // Add a message to the response $responseInstance->addFatalMessage('email_unset'); // Abort here - return false; + throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED); } elseif ((empty($email1)) || (empty($email2))) { // Email is empty - $requestInstance->requestIsValid(false); + $requestInstance->requestIsValid(FALSE); // Is the email empty? if (empty($email1)) { @@ -96,50 +93,50 @@ class EmailValidatorFilter extends BaseFilter implements Filterable { } // END - if // Abort here - return false; + throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED); } elseif ($this->ifEmailIsTaken($email1)) { // Email is already taken - $requestInstance->requestIsValid(false); + $requestInstance->requestIsValid(FALSE); // Add a message to the response $responseInstance->addFatalMessage('email_taken'); // Abort here - return false; + throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED); } elseif ($email1 != $email2) { // Emails didn't match - $requestInstance->requestIsValid(false); + $requestInstance->requestIsValid(FALSE); // Add a message to the response $responseInstance->addFatalMessage('emails_mismatch'); // Abort here - return false; + throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED); } // END - elseif } elseif (empty($email)) { // Empty field! - $requestInstance->requestIsValid(false); + $requestInstance->requestIsValid(FALSE); // Add a message to the response $responseInstance->addFatalMessage('email_empty'); // Abort here - return false; + throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED); } // END - elseif } /** - * Check wether the email as already been taken + * Check whether the email as already been taken * * @param $email Email to check for existence - * @return $alreadyTaken Wether the email has been taken + * @return $alreadyTaken Whether the email has been taken */ private function ifEmailIsTaken ($email) { // Default is already taken - $alreadyTaken = true; + $alreadyTaken = TRUE; // Initialize instance - $userInstance = null; + $userInstance = NULL; // Get a registry instance $registry = Registry::getRegistry(); @@ -151,16 +148,16 @@ class EmailValidatorFilter extends BaseFilter implements Filterable { $userInstance->setEmailAddress($email); } else { // If this instance is created then the username *does* exist - $userInstance = call_user_func_array(array($this->getConfigInstance()->readConfig('user_class'), 'createMemberByEmail'), array($email)); + $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) { + if ($userInstance->ifEmailAddressExists() === FALSE) { // This email has not being used yet - $alreadyTaken = false; + $alreadyTaken = FALSE; } // Return the result