Renamed to match with new name
[core.git] / inc / classes / main / commands / web / class_WebLoginCommand.php
index c1b4135e1d2b71665e293e7ec526ff7ddc0c5c23..ae90f48b8ae1768d245e7c504eab047520745a13 100644 (file)
@@ -4,7 +4,7 @@
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007 - 2009 Roland Haeder, this is free software
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.ship-simu.org
  *
@@ -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
         *
@@ -57,6 +57,9 @@ 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();
 
@@ -98,6 +101,16 @@ class WebLoginCommand extends BaseCommand implements Commandable {
                // Set title
                $templateInstance->assignVariable('title', $this->getLanguageInstance()->getMessage('page_login_title'));
 
+               // 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));
+
+               // 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.