/**
* A debug output class for PHP's error_log() command
*
- * @author Roland Haeder <webmaster@ship-simu.org>
+ * @author Roland Haeder <webmaster@shipsimu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Core Developer Team
+ * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2013 Core Developer Team
* @license GNU GPL 3.0 or any newer version
- * @link http://www.ship-simu.org
+ * @link http://www.shipsimu.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* @return $debugInstance The prepared debug instance
*/
- public final static function createDebugErrorLogOutput () {
+ public static final function createDebugErrorLogOutput () {
// Get a new instance
$debugInstance = new DebugErrorLogOutput();
}
/**
- * Outputs the given data without HTML tags
+ * Outputs the given data without HTML tags, ignores $stripTags
*
* @param $output The HTML'ed output
+ * @param $stripTags Whether HTML tags shall be stripped out
* @return void
*/
- public final function outputStream ($output) {
+ public final function outputStream ($output, $stripTags = FALSE) {
// Split multiple lines into and array to put them out line-by-line
- $errorLines = explode("\n", $output);
+ $errorLines = explode(chr(10), $output);
+
+ // "Walk" through all lines
foreach ($errorLines as $err) {
+ // Trim any spaces, \n, \r etc. out
$err = trim($err);
+
// Log only none-empty lines
if (!empty($err)) {
// Log this line
error_log(html_entity_decode(strip_tags($err)), 0);
- }
- }
+ } // END - if
+ } // END - foreach
}
/**
* 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) {
+ if ($outStream !== FALSE) {
$this->outputStream($outStream);
}
}
+
+ /**
+ * 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);
+ }
+
+ /**
+ * Determines for seek position
+ *
+ * @return $seekPosition Current seek position
+ * @throws UnsupportedOperationException If this method is called
+ */
+ public function determineSeekPosition () {
+ throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION);
+ }
+
+ /**
+ * Seek to given offset (default) or other possibilities as fseek() gives.
+ *
+ * @param $offset Offset to seek to (or used as "base" for other seeks)
+ * @param $whence Added to offset (default: only use offset to seek to)
+ * @return $status Status of file seek: 0 = success, -1 = failed
+ * @throws UnsupportedOperationException If this method is called
+ */
+ public function seek ($offset, $whence = SEEK_SET) {
+ self::createDebugInstance(__CLASS__)->debugOutput('offset=' . $offset . ',whence=' . $whence);
+ throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION);
+ }
+
+ /**
+ * Size of file stack
+ *
+ * @return $size Size (in bytes) of file
+ * @throws UnsupportedOperationException If this method is called
+ */
+ public function size () {
+ throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION);
+ }
}
// [EOF]