* A concrete filter for validating the password. This filter may intercept
* the filter chain if no password is given or if both passwords didn't match.
*
- * @author Roland Haeder <webmaster@ship-simu.org>
+ * @author Roland Haeder <webmaster@shipsimu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2007, 2008 Roland Haeder, this is free software
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 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
/**
* 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 createPasswordValidatorFilter (Controller $controllerInstance) {
+ public static final function createPasswordValidatorFilter () {
// Get a new instance
$filterInstance = new PasswordValidatorFilter();
- // Set the controller
- $filterInstance->setControllerInstance($controllerInstance);
-
// Return the instance
return $filterInstance;
}
* @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 passwords
// Is the password still not set?
if ((is_null($password1)) || (is_null($password2))) {
// Not found in form so stop the filtering process
- $requestInstance->requestIsValid(false);
+ $requestInstance->requestIsValid(FALSE);
// Add a message to the response
$responseInstance->addFatalMessage('password_unset');
// Abort here
- return false;
+ throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED);
} elseif ((empty($password1)) || (empty($password2))) {
// Password is empty
- $requestInstance->requestIsValid(false);
+ $requestInstance->requestIsValid(FALSE);
// Is the password empty?
if (empty($password1)) {
} // END - if
// Abort here
- return false;
+ throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED);
} elseif ($password1 != $password2) {
// Passwords didn't match
- $requestInstance->requestIsValid(false);
+ $requestInstance->requestIsValid(FALSE);
// Add a message to the response
$responseInstance->addFatalMessage('pass_mismatch');
// Abort here
- return false;
+ throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED);
} // END - elseif
}
}