X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fcommands%2Fweb%2Fclass_WebLoginCommand.php;h=a594a8c7e62c5553752c3c2a5bb72e6cd0087f47;hp=0f6758f69bce0423d351e9ca4c9eecd85f204506;hb=a99af80d10397a588bda35a4d7631d0563022072;hpb=5e89637b5069092a60b8a6c38b670bf0cf7aa4fd diff --git a/inc/classes/main/commands/web/class_WebLoginCommand.php b/inc/classes/main/commands/web/class_WebLoginCommand.php index 0f6758f6..a594a8c7 100644 --- a/inc/classes/main/commands/web/class_WebLoginCommand.php +++ b/inc/classes/main/commands/web/class_WebLoginCommand.php @@ -2,11 +2,11 @@ /** * A command for the login form * - * @author Roland Haeder + * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Core Developer Team + * @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 @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class WebLoginCommand extends BaseCommand implements Commandable { +class WebLoginCommand extends BaseCommand implements Commandable, Registerable { /** * Protected constructor * @@ -38,7 +38,7 @@ class WebLoginCommand extends BaseCommand implements Commandable { * @param $resolverInstance An instance of a command resolver class * @return $commandInstance An instance a prepared command class */ - public final static function createWebLoginCommand (CommandResolver $resolverInstance) { + public static final function createWebLoginCommand (CommandResolver $resolverInstance) { // Get new instance $commandInstance = new WebLoginCommand(); @@ -57,20 +57,23 @@ class WebLoginCommand extends BaseCommand implements Commandable { * @return void */ public function execute (Requestable $requestInstance, Responseable $responseInstance) { + // Set request instance as extra instance + Registry::getRegistry()->addInstance('extra', $this); + // Get the application instance - $appInstance = $this->getResolverInstance()->getApplicationInstance(); + $applicationInstance = $this->getResolverInstance()->getApplicationInstance(); // Prepare a template instance - $templateInstance = $this->prepareTemplateInstance($appInstance); + $templateInstance = $this->prepareTemplateInstance($applicationInstance); // Assign application data with template engine - $templateInstance->assignApplicationData($appInstance); + $templateInstance->assignApplicationData($applicationInstance); // Assign base URL $templateInstance->assignConfigVariable('base_url'); // Load the master template - $masterTemplate = $appInstance->buildMasterTemplateName(); + $masterTemplate = $applicationInstance->buildMasterTemplateName(); // Load header template $templateInstance->loadCodeTemplate('header'); @@ -100,11 +103,19 @@ class WebLoginCommand extends BaseCommand implements Commandable { // Construct the menu in every command. We could do this in BaseCommand class. But this means // *every* command has a navigation system and that is want we don't want. - $menuInstance = ObjectFactory::createObjectByConfiguredName('login_menu_class', array($appInstance)); + $menuInstance = ObjectFactory::createObjectByConfiguredName('login_menu_class', array($applicationInstance)); + + // Render the menu + $menuInstance->renderMenu(); + + // Transfer it to the template engine instance + $menuInstance->transferContentToTemplateEngine($templateInstance); - // ... and all variables. This should be merged together in a pattern - // to make things easier. A cache mechanism should be added between - // these two calls to cache compiled templates. + /* + * ... and all variables. This should be merged together in a pattern + * to make things easier. A cache mechanism should be added between + * these two calls to cache compiled templates. + */ $templateInstance->compileVariables(); // Get the content back from the template engine and put it in response class