]> git.mxchange.org Git - core.git/blobdiff - framework/main/classes/class_BaseFrameworkSystem.php
fixed namespace for FiLoStacker + removed config entry which does not point to
[core.git] / framework / main / classes / class_BaseFrameworkSystem.php
index c33c79447423b3e67e4024f95d3e5a83189e31a1..69bcba9595a08def54ed08771f72260c1ec294b5 100644 (file)
@@ -14,6 +14,7 @@ use CoreFramework\Criteria\Local\LocalUpdateCriteria;
 use CoreFramework\Crypto\Cryptable;
 use CoreFramework\Crypto\RandomNumber\RandomNumberGenerator;
 use CoreFramework\Database\Frontend\DatabaseWrapper;
+use CoreFramework\EntryPoint\ApplicationEntryPoint;
 use CoreFramework\Factory\Database\Wrapper\DatabaseWrapperFactory;
 use CoreFramework\Factory\ObjectFactory;
 use CoreFramework\Filesystem\Block;
@@ -25,6 +26,7 @@ use CoreFramework\Generic\NullPointerException;
 use CoreFramework\Generic\UnsupportedOperationException;
 use CoreFramework\Handler\Handleable;
 use CoreFramework\Handler\Stream\IoHandler;
+use CoreFramework\Helper\Helper;
 use CoreFramework\Index\Indexable;
 use CoreFramework\Lists\Listable;
 use CoreFramework\Loader\ClassLoader;
@@ -39,7 +41,9 @@ use CoreFramework\Result\Database\CachedDatabaseResult;
 use CoreFramework\Result\Search\SearchableResult;
 use CoreFramework\Stacker\Stackable;
 use CoreFramework\State\Stateable;
+use CoreFramework\Stream\Input\InputStream;
 use CoreFramework\Stream\Output\OutputStreamer;
+use CoreFramework\Stream\Output\OutputStream;
 use CoreFramework\Template\CompileableTemplate;
 use CoreFramework\User\ManageableAccount;
 use CoreFramework\Visitor\Visitor;
@@ -253,6 +257,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         */
        private $stateInstance = NULL;
 
+       /**
+        * Registry instance (implementing Register)
+        */
+       private $registryInstance = NULL;
+
        /**
         * Thousands separator
         */
@@ -1523,6 +1532,25 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                return $this->outputInstance;
        }
 
+       /**
+        * Setter for registry instance
+        *
+        * @param       $registryInstance               An instance of a Register class
+        * @return      void
+        */
+       protected final function setRegistryInstance (Register $registryInstance) {
+               $this->registryInstance = $registryInstance;
+       }
+
+       /**
+        * Getter for registry instance
+        *
+        * @return      $registryInstance       The debug registry instance
+        */
+       public final function getRegistryInstance () {
+               return $this->registryInstance;
+       }
+
        /**
         * Setter for command name
         *
@@ -1682,7 +1710,9 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                // Is a message set?
                if (!empty($message)) {
                        // Construct message
-                       $content = sprintf('<div class="debug_message">Message: %s</div>' . PHP_EOL, $message);
+                       $content = sprintf('<div class="debug_message">
+       Message: %s
+</div>' . PHP_EOL, $message);
                } // END - if
 
                // Generate the output
@@ -1695,7 +1725,16 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                );
 
                // Output it
-               ApplicationEntryPoint::app_exit(sprintf('<div class="debug_header">%s debug output:</div><div class="debug_content">%s</div>Loaded includes: <div class="debug_include_list">%s</div>',
+               ApplicationEntryPoint::app_exit(sprintf('<div class="debug_header">
+       %s debug output:
+</div>
+<div class="debug_content">
+       %s
+</div>
+Loaded includes:
+<div class="debug_include_list">
+       %s
+</div>',
                        $this->__toString(),
                        $content,
                        ClassLoader::getSelfInstance()->getPrintableIncludeList()
@@ -1728,19 +1767,8 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
         * @return      void
         */
        protected function partialStub ($message = '') {
-               // Get the backtrace
-               $backtrace = debug_backtrace();
-
-               // Generate the class::method string
-               $methodName = 'UnknownClass-&gt;unknownMethod';
-               if ((isset($backtrace[1]['class'])) && (isset($backtrace[1]['function']))) {
-                       $methodName = $backtrace[1]['class'] . '-&gt;' . $backtrace[1]['function'];
-               } // END - if
-
-               // Construct the full message
-               $stubMessage = sprintf('[%s]: Partial stub!',
-                       $methodName
-               );
+               // Init variable
+               $stubMessage = 'Partial Stub!';
 
                // Is the extra message given?
                if (!empty($message)) {
@@ -1809,11 +1837,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                        // Empty string should be ignored and used for testing the middleware
                        DebugMiddleware::getSelfInstance()->output('');
 
-                       // Set it in its own class. This will set it in the registry
-                       $debugInstance->setDebugInstance($debugInstance);
+                       // Set it in registry
+                       Registry::getRegistry()->addInstance('debug', $debugInstance);
                } else {
                        // Get instance from registry
-                       $debugInstance = Registry::getRegistry()->getDebugInstance();
+                       $debugInstance = Registry::getRegistry()->getInstance('debug');
                }
 
                // Return it
@@ -1845,6 +1873,28 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                // Set debug instance to NULL
                $debugInstance = NULL;
 
+               // Get backtrace
+               $backtrace = debug_backtrace(!DEBUG_BACKTRACE_PROVIDE_OBJECT);
+
+               // Is function partialStub/__callStatic ?
+               if (in_array($backtrace[1]['function'], array('partialStub', '__call', '__callStatic'))) {
+                       // Prepend class::function:line from 3rd element
+                       $message = sprintf('[%s::%s:%d]: %s',
+                               $backtrace[2]['class'],
+                               $backtrace[2]['function'],
+                               (isset($backtrace[2]['line']) ? $backtrace[2]['line'] : '0'),
+                               $message
+                       );
+               } else {
+                       // Prepend class::function:line from 2nd element
+                       $message = sprintf('[%s::%s:%d]: %s',
+                               $backtrace[1]['class'],
+                               $backtrace[1]['function'],
+                               (isset($backtrace[1]['line']) ? $backtrace[1]['line'] : '0'),
+                               $message
+                       );
+               }
+
                // Try it:
                try {
                        // Get debug instance