]> git.mxchange.org Git - core.git/blobdiff - inc/classes/main/debug/class_DebugConsoleOutput.php
Added stripTags (default: false) to allow stripping out HTML tags
[core.git] / inc / classes / main / debug / class_DebugConsoleOutput.php
index 08e6d426a892387e3107303f28d6afd0a7c0a78e..16e8dfa80435ad8ec351be442f000f655b5d5706 100644 (file)
@@ -4,7 +4,7 @@
  *
  * @author             Roland Haeder <webmaster@ship-simu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, this is free software
+ * @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
  *
@@ -35,9 +35,9 @@ class DebugConsoleOutput extends BaseFrameworkSystem implements Debugger, Output
        /**
         * Creates an instance of this class
         *
-        * @return      $debugInstance          The prepared debug instance
+        * @return      $debugInstance  The prepared debug instance
         */
-       public final static function createDebugConsoleOutput () {
+       public static final function createDebugConsoleOutput () {
                // Get a new instance
                $debugInstance = new DebugConsoleOutput();
 
@@ -48,35 +48,54 @@ class DebugConsoleOutput extends BaseFrameworkSystem implements Debugger, Output
        /**
         * Outputs the given data without HTML tags
         *
-        * @param               $output The HTML'ed output
+        * @param       $output         The HTML'ed output
+        * @param       $stripTags      Whether HTML tags shall be stripped out
         * @return      void
         */
-       public final function outputStream ($output) {
-               print(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%s', $output, chr(10));
        }
 
        /**
-        * Assigns a variable for output
+        * Output the code
         *
-        * @param               $var            The variable we shall assign
-        * @param               $value  The value to store in the variable
+        * @param       $outStream      Stream to output
+        * @param       $stripTags      Whether HTML tags shall be stripped out
         * @return      void
         */
-       public final function assignVariable ($var, $value) {
-               // Empty stub!
-               trigger_error(__METHOD__.": Stub!");
+       public final function output ($outStream = false, $stripTags = false) {
+               // Empty output will be silently ignored
+               if ($outStream !== false) {
+                       $this->outputStream($outStream, $stripTags);
+               } // END - if
        }
 
        /**
-        * Output the code
+        * Streams the data and maybe does something to it
         *
-        * @return      void
+        * @param       $data   The data (string mostly) to "stream"
+        * @return      $data   The data (string mostly) to "stream"
+        * @throws      UnsupportedOperationException   If this method is called
         */
-       public final function output ($outStream=false) {
-               // Empty output will be silently ignored
-               if ($outStream !== false) {
-                       $this->outputStream($outStream);
-               }
+       public function streamData ($data) {
+               $this->debugOutput('Unhandled ' . strlen($data) . ' bytes in this stream.');
+               throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION);
        }
 }