]> git.mxchange.org Git - core.git/blobdiff - inc/classes/main/commands/web/class_WebLoginCommand.php
Renamed classes
[core.git] / inc / classes / main / commands / web / class_WebLoginCommand.php
index 0f6758f69bce0423d351e9ca4c9eecd85f204506..a594a8c7e62c5553752c3c2a5bb72e6cd0087f47 100644 (file)
@@ -2,11 +2,11 @@
 /**
  * A command for the login form
  *
- * @author             Roland Haeder <webmaster@ship-simu.org>
+ * @author             Roland Haeder <webmaster@shipsimu.org>
  * @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 <http://www.gnu.org/licenses/>.
  */
-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