X-Git-Url: https://git.mxchange.org/?p=shipsimu.git;a=blobdiff_plain;f=application%2Fship-simu%2Fmain%2Fcommands%2Fweb%2Fclass_WebShipsimuGuestLoginCommand.php;h=39742f8001a4d3c4d081b3af7b4033b8897a2d66;hp=60d7fa93bccc978c28a4c9f8d26fc32321201ff0;hb=df33e264f3246f80756d7e2da55d7f7c40f9088c;hpb=75552231db513fd6657bdb232c5f3109aaa605d7 diff --git a/application/ship-simu/main/commands/web/class_WebShipsimuGuestLoginCommand.php b/application/ship-simu/main/commands/web/class_WebShipsimuGuestLoginCommand.php index 60d7fa9..39742f8 100644 --- a/application/ship-simu/main/commands/web/class_WebShipsimuGuestLoginCommand.php +++ b/application/ship-simu/main/commands/web/class_WebShipsimuGuestLoginCommand.php @@ -4,7 +4,7 @@ * * @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, this is free software * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.org * @@ -31,12 +31,6 @@ class WebShipsimuGuestLoginCommand extends BaseCommand implements Commandable { // Call parent constructor parent::__construct(__CLASS__); - // Set part description - $this->setObjectDescription("User login handling command for Ship-Simu"); - - // Create unique ID number - $this->generateUniqueId(); - // Clean up a little $this->removeNumberFormaters(); $this->removeSystemArray(); @@ -55,26 +49,6 @@ class WebShipsimuGuestLoginCommand extends BaseCommand implements Commandable { // Set the resolver instance $commandInstance->setResolverInstance($resolverInstance); - // Get the controller instance from the resolver (breaks MVC pattern again) - $controllerInstance = $resolverInstance->getControllerInstance(); - - switch ($commandInstance->getConfigInstance()->readConfig('login_type')) { - case "username": // Login via username - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('username_verifier_class')); - break; - - case "email": // Login via email - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('email_verifier_class')); - break; - - default: // Wether username or email is set - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('username_email_verifier_class')); - break; - } - - /* @TODO Add more filters */ - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('password_verifier_class')); - // Return the prepared instance return $commandInstance; } @@ -94,7 +68,7 @@ class WebShipsimuGuestLoginCommand extends BaseCommand implements Commandable { $loginInstance->setRequestInstance($requestInstance); // Encrypt the password - $loginInstance->encryptPassword('pass'); + $loginInstance->encryptPassword('passwd'); // Do the login here $loginInstance->doLogin($requestInstance, $responseInstance); @@ -103,7 +77,11 @@ class WebShipsimuGuestLoginCommand extends BaseCommand implements Commandable { if ($loginInstance->ifLoginWasSuccessfull()) { // Try to redirect here try { + // Redirect... $responseInstance->redirectToConfiguredUrl('app_login_url'); + + // Exit here + exit(); } catch (FrameworkException $e) { // Something went wrong here! $responseInstance->addFatalMessage($e->getMessage()); @@ -118,10 +96,19 @@ class WebShipsimuGuestLoginCommand extends BaseCommand implements Commandable { * Adds extra filters to the given controller instance * * @param $controllerInstance A controller instance + * @param $requestInstance An instance of a class with an Requestable interface * @return void + * @todo Add more filters */ - function addExtraFilters (Controller $controllerInstance) { - // Empty for now + public function addExtraFilters (Controller $controllerInstance, Requestable $requestInstance) { + // Add username verifier filter + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('user_guest_verifier_filter', array($controllerInstance))); + + // Add password verifier filter + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('passwd_guest_verifier_filter', array($controllerInstance))); + + // Add CAPTCHA verifier code + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('captcha_guest_verifier_filter', array($controllerInstance))); } }