]> git.mxchange.org Git - hub.git/blobdiff - application/hub/class_ApplicationHelper.php
First initial import for a web interface, this will later allow to browse and
[hub.git] / application / hub / class_ApplicationHelper.php
index 7352bc010aa33fe2f0ca77c453f08fc795270452..ad4d8626ac19d789728f78132992f6e6ab685ba6 100644 (file)
@@ -22,7 +22,7 @@
  *
  * @author             Roland Haeder <webmaster@shipsimu.org>
  * @version            0.0
- * @copyright  Copyright (c) 2007 - 2008 Roland Haeder, 2009 - 2014 Hub Developer Team
+ * @copyright  Copyright (c) 2007 - 2008 Roland Haeder, 2009 - 2015 Hub Developer Team
  * @license            GNU GPL 3.0 or any newer version
  *
  * This program is free software: you can redistribute it and/or modify
@@ -152,18 +152,18 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica
                // Set this application in registry
                Registry::getRegistry()->addInstance('app', $this);
 
-               // Is no external IP set?
-               if ($this->getConfigInstance()->getConfigEntry('external_ip') == '') {
-                       // Determine external IP
-                       $this->getConfigInstance()->setConfigEntry('external_ip', ConsoleTools::determineExternalIp());
+               // Is no external address set?
+               if ($this->getConfigInstance()->getConfigEntry('external_address') == '') {
+                       // Determine external address
+                       $this->getConfigInstance()->setConfigEntry('external_address', HubTools::determineOwnExternalAddress());
                } // END - if
 
                // Default response is console
-               $response = $this->getResponseTypeFromSystem();
-               $responseType = $this->getResponseTypeFromSystem();
+               $response = self::getResponseTypeFromSystem();
+               $responseType = self::getResponseTypeFromSystem();
 
                // Create a new request object
-               $requestInstance = ObjectFactory::createObjectByName($this->convertToClassName($response) . 'Request');
+               $requestInstance = ObjectFactory::createObjectByName(self::convertToClassName($response) . 'Request');
 
                // Remember request instance here
                $this->setRequestInstance($requestInstance);
@@ -176,7 +176,7 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica
                } // END - if
 
                // ... and a new response object
-               $responseClass = sprintf('%sResponse', $this->convertToClassName($response));
+               $responseClass = sprintf('%sResponse', self::convertToClassName($response));
                $responseInstance = ObjectFactory::createObjectByName($responseClass, array($this));
 
                // Remember response instance here
@@ -188,14 +188,23 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica
                // If it is null then get default command
                if (is_null($commandName)) {
                        // Get default command
-                       $commandName = $responseInstance->getDefaultCommand();
+                       $commandName = $responseInstance->determineDefaultCommand();
 
                        // Set it in request
                        $requestInstance->setRequestElement('command', $commandName);
                } // END - if
 
+               // Is the responseType 'html' ?
+               if ($responseType == 'html') {
+                       // The language system is needed for this
+                       $languageInstance = ObjectFactory::createObjectByConfiguredName('language_system_class');
+
+                       // And set it here
+                       $this->setLanguageInstance($languageInstance);
+               } // END - if
+
                // Get a controller resolver
-               $resolverClass = $this->convertToClassName($this->getAppShortName() . '_' . $responseType . '_controller_resolver');
+               $resolverClass = self::convertToClassName($this->getAppShortName() . '_' . $responseType . '_controller_resolver');
                $resolverInstance = ObjectFactory::createObjectByName($resolverClass, array($commandName, $this));
 
                // Get a controller instance as well
@@ -204,12 +213,25 @@ class ApplicationHelper extends BaseFrameworkSystem implements ManageableApplica
                // Launch the hub main routine here
                $this->getControllerInstance()->handleRequest($requestInstance, $responseInstance);
 
-               // -------------------------- Shutdown phase --------------------------
-               // Shutting down the hub by saying "good bye" to all connected peers
-               // and other hubs, flushing all queues and caches.
-               self::createDebugInstance(__CLASS__)->debugOutput('MAIN: Shutdown in progress, main loop exited.');
-               $this->getControllerInstance()->executeShutdownFilters($requestInstance, $responseInstance);
-               self::createDebugInstance(__CLASS__)->debugOutput('MAIN: Shutdown completed. (This is the last line.)');
+               // Only for console requests as this is the actual daemon
+               if ($responseType == 'console') {
+                       // -------------------------- Shutdown phase --------------------------
+                       // Shutting down the hub by saying "good bye" to all connected peers
+                       // and other hubs, flushing all queues and caches.
+                       self::createDebugInstance(__CLASS__)->debugOutput('MAIN: Shutdown in progress, main loop exited.');
+                       $this->getControllerInstance()->executeShutdownFilters($requestInstance, $responseInstance);
+                       self::createDebugInstance(__CLASS__)->debugOutput('MAIN: Shutdown completed. (This is the last line.)');
+               } // END - if
+       }
+
+       /**
+        * Assigns extra application-depending data
+        *
+        * @param       $templateInstance       An instance of a CompileableTemplate
+        * @return      void
+        * @todo        Nothing to add?
+        */
+       public function assignExtraTemplateData (CompileableTemplate $templateInstance) {
        }
 
        /**