From: Roland Häder Date: Sat, 21 Jun 2008 21:09:40 +0000 (+0000) Subject: Logout fixed X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=858c25932ead1e9a5721fa23e9df2918bc7ad8aa;p=shipsimu.git Logout fixed --- diff --git a/.gitattributes b/.gitattributes index 906be9e..218bc6e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -56,7 +56,6 @@ application/ship-simu/loader.php -text application/ship-simu/main/.htaccess -text application/ship-simu/main/actions/.htaccess -text application/ship-simu/main/actions/class_ShipSimuLoginAction.php -text -application/ship-simu/main/actions/class_ShipSimuLogoutAction.php -text application/ship-simu/main/actions/class_ShipSimuProfileAction.php -text application/ship-simu/main/class_ -text application/ship-simu/main/class_BasePersonell.php -text @@ -346,6 +345,7 @@ inc/classes/main/actions/class_BaseAction.php -text inc/classes/main/actions/post_registration/.htaccess -text inc/classes/main/actions/post_registration/class_LoginAfterRegistrationAction.php -text inc/classes/main/actions/web/.htaccess -text +inc/classes/main/actions/web/class_WebLoginLogoutAction.php -text inc/classes/main/actions/web/class_WebLoginProfileAction.php -text inc/classes/main/auth/.htaccess -text inc/classes/main/auth/class_CookieAuth.php -text diff --git a/application/ship-simu/main/actions/class_ShipSimuLogoutAction.php b/application/ship-simu/main/actions/class_ShipSimuLogoutAction.php deleted file mode 100644 index 7239333..0000000 --- a/application/ship-simu/main/actions/class_ShipSimuLogoutAction.php +++ /dev/null @@ -1,80 +0,0 @@ - - * @version 0.0.0 - * @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 - * - * 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 ShipSimuLogoutAction extends BaseAction implements PerformableAction { - /** - * Protected constructor - * - * @return void - */ - protected function __construct () { - // Call parent constructor - parent::__construct(__CLASS__); - - // Set description - $this->setObjectDescription("Logout action"); - - // Generate unique key - $this->generateUniqueId(); - } - - /** - * Creates an instance of this action - * - * @return $actionInstance An instance of this action class - */ - public final static function createShipSimuLogoutAction () { - // Get a new instance - $actionInstance = new ShipSimuLogoutAction(); - - // Return the instance - return $actionInstance; - } - - /** - * Executes the command 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 - */ - public function execute (Requestable $requestInstance, Responseable $responseInstance) { - // Shall we logout or display logout page or logout immediately? - if (($this->getConfigInstance()->readConfig('logout_immediate') == "Y") || ($requestInstance->isRequestElementSet('logout'))) { - // Get an auth instance for checking and updating the auth cookies - $authInstance = ObjectFactory::createObjectByConfiguredName('auth_method_class', array($responseInstance)); - - // Set request instance - $authInstance->setRequestInstance($requestInstance); - - // Destroy the auth data - $authInstance->destroyAuthData(); - - // Redirect to "logout done" page - $responseInstance->redirectToConfiguredUrl('logout_done_url'); - } // END - if - } -} - -// [EOF] -?> diff --git a/inc/classes/main/actions/web/class_WebLoginLogoutAction.php b/inc/classes/main/actions/web/class_WebLoginLogoutAction.php new file mode 100644 index 0000000..1db8418 --- /dev/null +++ b/inc/classes/main/actions/web/class_WebLoginLogoutAction.php @@ -0,0 +1,91 @@ + + * @version 0.0.0 + * @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 + * + * 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 WebLoginLogoutAction extends BaseAction implements Commandable, Registerable { + /** + * Protected constructor + * + * @return void + */ + protected function __construct () { + // Call parent constructor + parent::__construct(__CLASS__); + + // Set description + $this->setObjectDescription("Logout action"); + + // Generate unique key + $this->generateUniqueId(); + } + + /** + * Creates an instance of this action + * + * @return $actionInstance An instance of this action class + */ + public final static function createWebLoginLogoutAction () { + // Get a new instance + $actionInstance = new WebLoginLogoutAction(); + + // Return the instance + return $actionInstance; + } + + /** + * Executes the command 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 + */ + public function execute (Requestable $requestInstance, Responseable $responseInstance) { + // Shall we logout or display logout page or logout immediately? + if (($this->getConfigInstance()->readConfig('logout_immediate') == "Y") || ($requestInstance->isRequestElementSet('logout'))) { + // Get an auth instance for checking and updating the auth cookies + $authInstance = ObjectFactory::createObjectByConfiguredName('auth_method_class', array($responseInstance)); + + // Set request instance + $authInstance->setRequestInstance($requestInstance); + + // Destroy the auth data + $authInstance->destroyAuthData(); + + // Redirect to "logout done" page + $responseInstance->redirectToConfiguredUrl('logout_done_url'); + } // END - if + } + + /** + * 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 + */ + public function addExtraFilters (Controller $controllerInstance, Requestable $requestInstance) { + // Empty for now + } +} + +// [EOF] +?>