]> git.mxchange.org Git - core.git/blobdiff - inc/classes/main/debug/class_DebugConsoleOutput.php
Rewrote core:
[core.git] / inc / classes / main / debug / class_DebugConsoleOutput.php
index 6bf372f8546d72932bb546bb87c3ce77d5901538..ed74c51394d52f67270e3d6cfda34e431d75fb51 100644 (file)
@@ -4,7 +4,7 @@
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 Core Developer Team
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.ship-simu.org
  *
@@ -37,7 +37,7 @@ class DebugConsoleOutput extends BaseFrameworkSystem implements Debugger, Output
         *
         * @return      $debugInstance  The prepared debug instance
         */
-       public final static function createDebugConsoleOutput () {
+       public static final function createDebugConsoleOutput () {
                // Get a new instance
                $debugInstance = new DebugConsoleOutput();
 
@@ -49,27 +49,54 @@ class DebugConsoleOutput extends BaseFrameworkSystem implements Debugger, Output
         * Outputs the given data without HTML tags
         *
         * @param       $output         The HTML'ed output
+        * @param       $stripTags      Whether HTML tags shall be stripped out
         * @return      void
         */
-       public final function outputStream ($output) {
-               // Prepare the output
-               $output = trim(html_entity_decode(strip_tags(stripslashes($output))));
+       public final function outputStream ($output, $stripTags = false) {
+               // Strip HTML tags out?
+               if ($stripTags === true) {
+                       // Prepare the output without HTML tags
+                       $output = trim(html_entity_decode(strip_tags(stripslashes($output))));
+               } else {
+                       // Prepare the output with HTML tags
+                       $output = trim(stripslashes($output));
+               }
+
+               // Are debug times enabled?
+               if ($this->getConfigInstance()->getConfigEntry('debug_output_timings') == 'Y') {
+                       // Output it first
+                       $output = $this->getPrintableExecutionTime() . $output;
+               } // END - if
 
                // And print it out...
-               printf("%s\n", $output);
+               printf('%s%s', $output, chr(10));
        }
 
        /**
         * Output the code
         *
+        * @param       $outStream      Stream to output
+        * @param       $stripTags      Whether HTML tags shall be stripped out
         * @return      void
         */
-       public final function output ($outStream = false) {
+       public final function output ($outStream = false, $stripTags = false) {
                // Empty output will be silently ignored
                if ($outStream !== false) {
-                       $this->outputStream($outStream);
+                       $this->outputStream($outStream, $stripTags);
                } // END - if
        }
+
+       /**
+        * Streams the data and maybe does something to it
+        *
+        * @param       $data   The data (string mostly) to "stream"
+        * @return      $data   The data (string mostly) to "stream"
+        * @throws      UnsupportedOperationException   If this method is called
+        */
+       public function streamData ($data) {
+               self::createDebugInstance(__CLASS__)->debugOutput('Unhandled ' . strlen($data) . ' bytes in this stream.');
+               throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION);
+       }
 }
 
 // [EOF]