]> git.mxchange.org Git - core.git/blobdiff - inc/classes/main/class_BaseFrameworkSystem.php
Sometimes 'page' is wanted, sometimes 'command' but basicly both want a command
[core.git] / inc / classes / main / class_BaseFrameworkSystem.php
index c5226fed87530797370d1acee063116bb7bba829..a542b371ffa4c59016377c640b0f7dd4a63950bb 100644 (file)
@@ -243,6 +243,16 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         */
        private $genericArray = array();
 
+       /**
+        * Command name
+        */
+       private $commandName = '';
+
+       /**
+        * Controller name
+        */
+       private $controllerName = '';
+
        /***********************
         * Exception codes.... *
         ***********************/
@@ -1433,6 +1443,44 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                return $this->listenerInstance;
        }
 
+       /**
+        * Setter for command name
+        *
+        * @param       $commandName    Last validated command name
+        * @return      void
+        */
+       protected final function setCommandName ($commandName) {
+               $this->commandName = $commandName;
+       }
+
+       /**
+        * Getter for command name
+        *
+        * @return      $commandName    Last validated command name
+        */
+       protected final function getCommandName () {
+               return $this->commandName;
+       }
+
+       /**
+        * Setter for controller name
+        *
+        * @param       $controllerName Last validated controller name
+        * @return      void
+        */
+       protected final function setControllerName ($controllerName) {
+               $this->controllerName = $controllerName;
+       }
+
+       /**
+        * Getter for controller name
+        *
+        * @return      $controllerName Last validated controller name
+        */
+       protected final function getControllerName () {
+               return $this->controllerName;
+       }
+
        /**
         * Checks whether an object equals this object. You should overwrite this
         * method to implement own equality checks
@@ -1509,7 +1557,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
        }
 
        /**
-        * Prepare the template engine (WebTemplateEngine by default) for a given
+        * Prepare the template engine (HtmlTemplateEngine by default) for a given
         * application helper instance (ApplicationHelper by default).
         *
         * @param               $applicationInstance    An application helper instance or
@@ -1532,7 +1580,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                } // END - if
 
                // Initialize the template engine
-               $templateInstance = ObjectFactory::createObjectByConfiguredName('web_template_class');
+               $templateInstance = ObjectFactory::createObjectByConfiguredName('html_template_class');
 
                // Return the prepared instance
                return $templateInstance;
@@ -1670,7 +1718,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                        // Try it
                        try {
                                // Get a debugger instance
-                               $debugInstance = DebugMiddleware::createDebugMiddleware(FrameworkConfiguration::getSelfInstance()->getConfigEntry('debug_class'));
+                               $debugInstance = DebugMiddleware::createDebugMiddleware(FrameworkConfiguration::getSelfInstance()->getConfigEntry('debug_' . self::getResponseTypeFromSystem() . '_class'));
                        } catch (NullPointerException $e) {
                                // Didn't work, no instance there
                                exit('Cannot create debugInstance! Exception=' . $e->__toString() . ', message=' . $e->getMessage());
@@ -2223,14 +2271,17 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         *
         * @return      $responseType   Analyzed response type
         */
-       protected function getResponseTypeFromSystem () {
+       protected static function getResponseTypeFromSystem () {
                // Default is console
                $responseType = 'console';
 
                // Is 'HTTP_HOST' set?
                if (isset($_SERVER['HTTP_HOST'])) {
-                       // Then it is a HTTP response/request
-                       $responseType = 'http';
+                       /*
+                        * Then it is a HTML response/request as RSS and so on may be
+                        * transfered over HTTP as well.
+                        */
+                       $responseType = 'html';
                } // END - if
 
                // Return it
@@ -2949,6 +3000,28 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                return $isValid;
        }
 
+       /**
+        * Initializes the web output instance
+        *
+        * @return      void
+        */
+       protected function initWebOutputInstance () {
+               // Get application instance
+               $applicationInstance = Registry::getRegistry()->getInstance('app');
+
+               // Is this a response instance?
+               if ($this instanceof Responseable) {
+                       // Then set it in application instance
+                       $applicationInstance->setResponseInstance($this);
+               } // END - if
+
+               // Init web output instance
+               $outputInstance = ObjectFactory::createObjectByConfiguredName('output_class', array($applicationInstance));
+
+               // Set it locally
+               $this->setWebOutputInstance($outputInstance);
+       }
+
        /**
         * Translates boolean TRUE to 'Y' and FALSE to 'N'
         *