mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-10 04:24:14 +09:00
#18291085 FirePHP 버전 업데이트
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@6797 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
44850af83c
commit
70baa780e5
7 changed files with 1974 additions and 1434 deletions
|
|
@ -103,7 +103,7 @@
|
|||
/**
|
||||
* @brief Firebug 콘솔 출력 사용시 관련 파일 require
|
||||
**/
|
||||
if((__DEBUG_OUTPUT__ == 2) && version_compare(PHP_VERSION, '5.2.0', '>=')) {
|
||||
if((__DEBUG_OUTPUT__ == 2) && version_compare(PHP_VERSION, '6.0.0') === -1) {
|
||||
require _XE_PATH_.'libs/FirePHPCore/FirePHP.class.php';
|
||||
}
|
||||
|
||||
|
|
|
|||
110
libs/FirePHPCore/CHANGELOG
Normal file
110
libs/FirePHPCore/CHANGELOG
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
|
||||
2008-06-14 - Release Version: 0.3.1
|
||||
|
||||
- (Issue 108) ignore class name case in object filter
|
||||
|
||||
2009-05-11 - Release Version: 0.3
|
||||
2009-05-01 - Release Version: 0.3.rc.1
|
||||
|
||||
- (Issue 90) PHP4 compatible version of FirePHPCore
|
||||
- (Issue 98) Thrown exceptions don't send an HTTP 500 if the FirePHP exception handler is enabled
|
||||
- (Issue 85) Support associative arrays in encodeTable method in FirePHP.class.php
|
||||
- (Issue 66) Add a new getOptions() public method in API
|
||||
- (Issue 82) Define $this->options outside of __construct
|
||||
- (Issue 72) Message error if group name is null
|
||||
- (Issue 68) registerErrorHandler() and registerExceptionHandler() should returns previous handlers defined
|
||||
- (Issue 69) Add the missing register handler in the triumvirate (error, exception, assert)
|
||||
- (Issue 75) [Error & Exception Handling] Option to not exit script execution
|
||||
- (Issue 83) Exception handler can't throw exceptions
|
||||
- (Issue 80) Auto/Pre collapsing groups AND Custom group row colors
|
||||
|
||||
2008-11-09 - Release Version: 0.2.1
|
||||
|
||||
- (Issue 70) Problem when logging resources
|
||||
|
||||
2008-10-21 - Release Version: 0.2.0
|
||||
|
||||
- Updated version to 0.2.0
|
||||
- Switched to using __sleep instead of __wakeup
|
||||
- Added support to exclude object members when encoding
|
||||
- Add support to enable/disable logging
|
||||
|
||||
2008-10-17 - Release Version: 0.2.b.8
|
||||
|
||||
- New implementation for is_utf8()
|
||||
- (Issue 55) maxObjectDepth Option not working correctly when using TABLE and EXCEPTION Type
|
||||
- Bugfix for max[Object|Array]Depth when encoding nested array/object graphs
|
||||
- Bugfix for FB::setOptions()
|
||||
|
||||
2008-10-16 - Release Version: 0.2.b.7
|
||||
|
||||
- (Issue 45) Truncate dump when string have non utf8 cars
|
||||
- (Issue 52) logging will not work when firephp object gets stored in the session.
|
||||
|
||||
2008-10-16 - Release Version: 0.2.b.6
|
||||
|
||||
- (Issue 37) Display file and line information for each log message
|
||||
- (Issue 51) Limit output of object graphs
|
||||
- Bugfix for encoding object members set to NULL|false|''
|
||||
|
||||
2008-10-14 - Release Version: 0.2.b.5
|
||||
|
||||
- Updated JsonStream wildfire protocol to be more robust
|
||||
- (Issue 33) PHP error notices running demos
|
||||
- (Issue 48) Warning: ReflectionProperty::getValue() expects exactly 1 parameter, 0 given
|
||||
|
||||
2008-10-08 - Release Version: 0.2.b.4
|
||||
|
||||
- Bugfix for logging objects with recursion
|
||||
|
||||
2008-10-08 - Release Version: 0.2.b.3
|
||||
|
||||
- (Issue 43) Notice message in 0.2b2
|
||||
- Added support for PHP's native json_encode() if available
|
||||
- Revised object encoder to detect object recursion
|
||||
|
||||
2008-10-07 - Release Version: 0.2.b.2
|
||||
|
||||
- (Issue 28) Need solution for logging private and protected object variables
|
||||
- Added trace() and table() aliases in FirePHP class
|
||||
- (Issue 41) Use PHP doc in FirePHP
|
||||
- (Issue 39) Static logging method for object oriented API
|
||||
|
||||
2008-10-01 - Release Version: 0.2.b.1
|
||||
|
||||
- Added support for error and exception handling
|
||||
- Updated min PHP version for PEAR package to 5.2
|
||||
- Added version constant for library
|
||||
- Gave server library it's own wildfire plugin namespace
|
||||
- Migrated communication protocol to Wildfire JsonStream
|
||||
- Added support for console groups using "group" and "groupEnd"
|
||||
- Added support for log, info, warn and error logging aliases
|
||||
- (Issue 29) problem with TRACE when using with error_handler
|
||||
- (Issue 33) PHP error notices running demos
|
||||
- (Issue 12) undefined index php notice
|
||||
- Removed closing ?> php tags
|
||||
- (Issue 13) the code in the fb() function has a second return statement that will never be reached
|
||||
|
||||
2008-07-30 - Release Version: 0.1.1.3
|
||||
|
||||
- Include __className property in JSON string if variable was an object
|
||||
- Bugfix - Mis-spelt "Exception" in JSON encoding code
|
||||
|
||||
2008-06-13 - Release Version: 0.1.1.1
|
||||
|
||||
- Bugfix - Standardize windows paths in stack traces
|
||||
- Bugfix - Display correct stack trace info in windows environments
|
||||
- Bugfix - Check $_SERVER['HTTP_USER_AGENT'] before returning
|
||||
|
||||
2008-06-13 - Release Version: 0.1.1
|
||||
|
||||
- Added support for FirePHP::TRACE log style
|
||||
- Changed license to New BSD License
|
||||
|
||||
2008-06-06 - Release Version: 0.0.2
|
||||
|
||||
- Bugfix - Added usleep() to header writing loop to ensure unique index
|
||||
- Bugfix - Ensure chunk_split does not generate trailing "\n" with empty data header
|
||||
- Added support for FirePHP::TABLE log style
|
||||
|
||||
|
||||
12
libs/FirePHPCore/CREDITS
Normal file
12
libs/FirePHPCore/CREDITS
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
_______________________________
|
||||
F i r e P H P C o r e
|
||||
|
||||
Current Development
|
||||
-------------------
|
||||
|
||||
Christoph Dorn <christoph@christophdorn.com>
|
||||
Michael Day <manveru.alma@gmail.com>
|
||||
|
||||
If you've done work on FirePHPCore and you are not listed here,
|
||||
please feel free to add yourself.
|
||||
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
*
|
||||
* Software License Agreement (New BSD License)
|
||||
*
|
||||
* Copyright (c) 2006-2008, Christoph Dorn
|
||||
* Copyright (c) 2006-2009, Christoph Dorn
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK *****
|
||||
*
|
||||
* @copyright Copyright (C) 2007-2008 Christoph Dorn
|
||||
* @copyright Copyright (C) 2007-2009 Christoph Dorn
|
||||
* @author Christoph Dorn <christoph@christophdorn.com>
|
||||
* @license http://www.opensource.org/licenses/bsd-license.php
|
||||
* @package FirePHP
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
*
|
||||
* For more information see: http://www.firephp.org/
|
||||
*
|
||||
* @copyright Copyright (C) 2007-2008 Christoph Dorn
|
||||
* @copyright Copyright (C) 2007-2009 Christoph Dorn
|
||||
* @author Christoph Dorn <christoph@christophdorn.com>
|
||||
* @license http://www.opensource.org/licenses/bsd-license.php
|
||||
* @package FirePHP
|
||||
|
|
@ -62,7 +62,7 @@ class FirePHP {
|
|||
*
|
||||
* @var string
|
||||
*/
|
||||
const VERSION = '0.2.1';
|
||||
const VERSION = '0.3';
|
||||
|
||||
/**
|
||||
* Firebug LOG level
|
||||
|
|
@ -151,6 +151,34 @@ class FirePHP {
|
|||
*/
|
||||
protected static $instance = null;
|
||||
|
||||
/**
|
||||
* Flag whether we are logging from within the exception handler
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
protected $inExceptionHandler = false;
|
||||
|
||||
/**
|
||||
* Flag whether to throw PHP errors that have been converted to ErrorExceptions
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
protected $throwErrorExceptions = true;
|
||||
|
||||
/**
|
||||
* Flag whether to convert PHP assertion errors to Exceptions
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
protected $convertAssertionErrorsToExceptions = true;
|
||||
|
||||
/**
|
||||
* Flag whether to throw PHP assertion errors that have been converted to Exceptions
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
protected $throwAssertionExceptions = false;
|
||||
|
||||
/**
|
||||
* Wildfire protocol message index
|
||||
*
|
||||
|
|
@ -163,7 +191,10 @@ class FirePHP {
|
|||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $options = array();
|
||||
protected $options = array('maxObjectDepth' => 10,
|
||||
'maxArrayDepth' => 20,
|
||||
'useNativeJsonEncode' => true,
|
||||
'includeLineNumbers' => true);
|
||||
|
||||
/**
|
||||
* Filters used to exclude object members when encoding
|
||||
|
|
@ -190,10 +221,6 @@ class FirePHP {
|
|||
* The object constructor
|
||||
*/
|
||||
function __construct() {
|
||||
$this->options['maxObjectDepth'] = 10;
|
||||
$this->options['maxArrayDepth'] = 20;
|
||||
$this->options['useNativeJsonEncode'] = true;
|
||||
$this->options['includeLineNumbers'] = true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -252,11 +279,11 @@ class FirePHP {
|
|||
* Filters are used to exclude object members.
|
||||
*
|
||||
* @param string $Class The class name of the object
|
||||
* @param array $Filter An array or members to exclude
|
||||
* @param array $Filter An array of members to exclude
|
||||
* @return void
|
||||
*/
|
||||
public function setObjectFilter($Class, $Filter) {
|
||||
$this->objectFilters[$Class] = $Filter;
|
||||
$this->objectFilters[strtolower($Class)] = $Filter;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -275,19 +302,32 @@ class FirePHP {
|
|||
$this->options = array_merge($this->options,$Options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get options from the library
|
||||
*
|
||||
* @return array The currently set options
|
||||
*/
|
||||
public function getOptions() {
|
||||
return $this->options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register FirePHP as your error handler
|
||||
*
|
||||
* Will throw exceptions for each php error.
|
||||
*
|
||||
* @return mixed Returns a string containing the previously defined error handler (if any)
|
||||
*/
|
||||
public function registerErrorHandler()
|
||||
public function registerErrorHandler($throwErrorExceptions=true)
|
||||
{
|
||||
//NOTE: The following errors will not be caught by this error handler:
|
||||
// E_ERROR, E_PARSE, E_CORE_ERROR,
|
||||
// E_CORE_WARNING, E_COMPILE_ERROR,
|
||||
// E_COMPILE_WARNING, E_STRICT
|
||||
|
||||
set_error_handler(array($this,'errorHandler'));
|
||||
$this->throwErrorExceptions = $throwErrorExceptions;
|
||||
|
||||
return set_error_handler(array($this,'errorHandler'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -309,16 +349,26 @@ class FirePHP {
|
|||
}
|
||||
// Only throw exceptions for errors we are asking for
|
||||
if (error_reporting() & $errno) {
|
||||
throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
|
||||
|
||||
$exception = new ErrorException($errstr, 0, $errno, $errfile, $errline);
|
||||
if($this->throwErrorExceptions) {
|
||||
throw $exception;
|
||||
} else {
|
||||
$this->fb($exception);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Register FirePHP as your exception handler
|
||||
*
|
||||
* @return mixed Returns the name of the previously defined exception handler,
|
||||
* or NULL on error.
|
||||
* If no previous handler was defined, NULL is also returned.
|
||||
*/
|
||||
public function registerExceptionHandler()
|
||||
{
|
||||
set_exception_handler(array($this,'exceptionHandler'));
|
||||
return set_exception_handler(array($this,'exceptionHandler'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -330,7 +380,62 @@ class FirePHP {
|
|||
* @throws Exception
|
||||
*/
|
||||
function exceptionHandler($Exception) {
|
||||
|
||||
$this->inExceptionHandler = true;
|
||||
|
||||
header('HTTP/1.1 500 Internal Server Error');
|
||||
|
||||
$this->fb($Exception);
|
||||
|
||||
$this->inExceptionHandler = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register FirePHP driver as your assert callback
|
||||
*
|
||||
* @param boolean $convertAssertionErrorsToExceptions
|
||||
* @param boolean $throwAssertionExceptions
|
||||
* @return mixed Returns the original setting or FALSE on errors
|
||||
*/
|
||||
public function registerAssertionHandler($convertAssertionErrorsToExceptions=true, $throwAssertionExceptions=false)
|
||||
{
|
||||
$this->convertAssertionErrorsToExceptions = $convertAssertionErrorsToExceptions;
|
||||
$this->throwAssertionExceptions = $throwAssertionExceptions;
|
||||
|
||||
if($throwAssertionExceptions && !$convertAssertionErrorsToExceptions) {
|
||||
throw $this->newException('Cannot throw assertion exceptions as assertion errors are not being converted to exceptions!');
|
||||
}
|
||||
|
||||
return assert_options(ASSERT_CALLBACK, array($this, 'assertionHandler'));
|
||||
}
|
||||
|
||||
/**
|
||||
* FirePHP's assertion handler
|
||||
*
|
||||
* Logs all assertions to your firebug console and then stops the script.
|
||||
*
|
||||
* @param string $file File source of assertion
|
||||
* @param int $line Line source of assertion
|
||||
* @param mixed $code Assertion code
|
||||
*/
|
||||
public function assertionHandler($file, $line, $code)
|
||||
{
|
||||
|
||||
if($this->convertAssertionErrorsToExceptions) {
|
||||
|
||||
$exception = new ErrorException('Assertion Failed - Code[ '.$code.' ]', 0, null, $file, $line);
|
||||
|
||||
if($this->throwAssertionExceptions) {
|
||||
throw $exception;
|
||||
} else {
|
||||
$this->fb($exception);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
$this->fb($code, 'Assertion Failed', FirePHP::ERROR, array('File'=>$file,'Line'=>$line));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -354,14 +459,33 @@ class FirePHP {
|
|||
}
|
||||
|
||||
/**
|
||||
* Start a group for following messages
|
||||
* Start a group for following messages.
|
||||
*
|
||||
* Options:
|
||||
* Collapsed: [true|false]
|
||||
* Color: [#RRGGBB|ColorName]
|
||||
*
|
||||
* @param string $Name
|
||||
* @param array $Options OPTIONAL Instructions on how to log the group
|
||||
* @return true
|
||||
* @throws Exception
|
||||
*/
|
||||
public function group($Name) {
|
||||
return $this->fb(null, $Name, FirePHP::GROUP_START);
|
||||
public function group($Name, $Options=null) {
|
||||
|
||||
if(!$Name) {
|
||||
throw $this->newException('You must specify a label for the group!');
|
||||
}
|
||||
|
||||
if($Options) {
|
||||
if(!is_array($Options)) {
|
||||
throw $this->newException('Options must be defined as an array!');
|
||||
}
|
||||
if(array_key_exists('Collapsed', $Options)) {
|
||||
$Options['Collapsed'] = ($Options['Collapsed'])?'true':'false';
|
||||
}
|
||||
}
|
||||
|
||||
return $this->fb(null, $Name, FirePHP::GROUP_START, $Options);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -493,11 +617,18 @@ class FirePHP {
|
|||
}
|
||||
|
||||
if (headers_sent($filename, $linenum)) {
|
||||
// If we are logging from within the exception handler we cannot throw another exception
|
||||
if($this->inExceptionHandler) {
|
||||
// Simply echo the error out to the page
|
||||
echo '<div style="border: 2px solid red; font-family: Arial; font-size: 12px; background-color: lightgray; padding: 5px;"><span style="color: red; font-weight: bold;">FirePHP ERROR:</span> Headers already sent in <b>'.$filename.'</b> on line <b>'.$linenum.'</b>. Cannot send log data to FirePHP. You must have Output Buffering enabled via ob_start() or output_buffering ini directive.</div>';
|
||||
} else {
|
||||
throw $this->newException('Headers already sent in '.$filename.' on line '.$linenum.'. Cannot send log data to FirePHP. You must have Output Buffering enabled via ob_start() or output_buffering ini directive.');
|
||||
}
|
||||
}
|
||||
|
||||
$Type = null;
|
||||
$Label = null;
|
||||
$Options = array();
|
||||
|
||||
if(func_num_args()==1) {
|
||||
} else
|
||||
|
|
@ -523,6 +654,11 @@ class FirePHP {
|
|||
if(func_num_args()==3) {
|
||||
$Type = func_get_arg(2);
|
||||
$Label = func_get_arg(1);
|
||||
} else
|
||||
if(func_num_args()==4) {
|
||||
$Type = func_get_arg(2);
|
||||
$Label = func_get_arg(1);
|
||||
$Options = func_get_arg(3);
|
||||
} else {
|
||||
throw $this->newException('Wrong number of arguments to fb() function!');
|
||||
}
|
||||
|
|
@ -629,6 +765,13 @@ class FirePHP {
|
|||
|
||||
$skipFinalObjectEncode = true;
|
||||
|
||||
} else
|
||||
if($Type==self::GROUP_START) {
|
||||
|
||||
if(!$Label) {
|
||||
throw $this->newException('You must specify a label for the group!');
|
||||
}
|
||||
|
||||
} else {
|
||||
if($Type===null) {
|
||||
$Type = self::LOG;
|
||||
|
|
@ -685,14 +828,15 @@ class FirePHP {
|
|||
if($Type==self::DUMP) {
|
||||
$msg = '{"'.$Label.'":'.$this->jsonEncode($Object, $skipFinalObjectEncode).'}';
|
||||
} else {
|
||||
$msg_meta = array('Type'=>$Type);
|
||||
$msg_meta = $Options;
|
||||
$msg_meta['Type'] = $Type;
|
||||
if($Label!==null) {
|
||||
$msg_meta['Label'] = $Label;
|
||||
}
|
||||
if(isset($meta['file'])) {
|
||||
if(isset($meta['file']) && !isset($msg_meta['File'])) {
|
||||
$msg_meta['File'] = $meta['file'];
|
||||
}
|
||||
if(isset($meta['line'])) {
|
||||
if(isset($meta['line']) && !isset($msg_meta['Line'])) {
|
||||
$msg_meta['Line'] = $meta['line'];
|
||||
}
|
||||
$msg = '['.$this->jsonEncode($msg_meta).','.$this->jsonEncode($Object, $skipFinalObjectEncode).']';
|
||||
|
|
@ -719,7 +863,7 @@ class FirePHP {
|
|||
$this->messageIndex++;
|
||||
|
||||
if ($this->messageIndex > 99999) {
|
||||
throw new Exception('Maximum number (99,999) of messages reached!');
|
||||
throw $this->newException('Maximum number (99,999) of messages reached!');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -836,15 +980,24 @@ class FirePHP {
|
|||
* @return array
|
||||
*/
|
||||
protected function encodeTable($Table) {
|
||||
|
||||
if(!$Table) return $Table;
|
||||
for( $i=0 ; $i<count($Table) ; $i++ ) {
|
||||
if(is_array($Table[$i])) {
|
||||
for( $j=0 ; $j<count($Table[$i]) ; $j++ ) {
|
||||
$Table[$i][$j] = $this->encodeObject($Table[$i][$j]);
|
||||
|
||||
$new_table = array();
|
||||
foreach($Table as $row) {
|
||||
|
||||
if(is_array($row)) {
|
||||
$new_row = array();
|
||||
|
||||
foreach($row as $item) {
|
||||
$new_row[] = $this->encodeObject($item);
|
||||
}
|
||||
|
||||
$new_table[] = $new_row;
|
||||
}
|
||||
}
|
||||
return $Table;
|
||||
|
||||
return $new_table;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -878,6 +1031,7 @@ class FirePHP {
|
|||
array_push($this->objectStack, $Object);
|
||||
|
||||
$return['__className'] = $class = get_class($Object);
|
||||
$class_lower = strtolower($class);
|
||||
|
||||
$reflectionClass = new ReflectionClass($class);
|
||||
$properties = array();
|
||||
|
|
@ -905,9 +1059,9 @@ class FirePHP {
|
|||
$raw_name = "\0".'*'."\0".$raw_name;
|
||||
}
|
||||
|
||||
if(!(isset($this->objectFilters[$class])
|
||||
&& is_array($this->objectFilters[$class])
|
||||
&& in_array($raw_name,$this->objectFilters[$class]))) {
|
||||
if(!(isset($this->objectFilters[$class_lower])
|
||||
&& is_array($this->objectFilters[$class_lower])
|
||||
&& in_array($raw_name,$this->objectFilters[$class_lower]))) {
|
||||
|
||||
if(array_key_exists($raw_name,$members)
|
||||
&& !$property->isStatic()) {
|
||||
|
|
@ -944,9 +1098,9 @@ class FirePHP {
|
|||
if(!isset($properties[$name])) {
|
||||
$name = 'undeclared:'.$name;
|
||||
|
||||
if(!(isset($this->objectFilters[$class])
|
||||
&& is_array($this->objectFilters[$class])
|
||||
&& in_array($raw_name,$this->objectFilters[$class]))) {
|
||||
if(!(isset($this->objectFilters[$class_lower])
|
||||
&& is_array($this->objectFilters[$class_lower])
|
||||
&& in_array($raw_name,$this->objectFilters[$class_lower]))) {
|
||||
|
||||
$return[$name] = $this->encodeObject($value, $ObjectDepth + 1, 1);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -1,35 +1,6 @@
|
|||
Software License Agreement (New BSD License)
|
||||
|
||||
Copyright (c) 2006-2008, Christoph Dorn
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the name of Christoph Dorn nor the names of its
|
||||
contributors may be used to endorse or promote products derived from this
|
||||
software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
Software License Agreement (New BSD License)
|
||||
|
||||
Copyright (c) 2006-2008, Christoph Dorn
|
||||
Copyright (c) 2006-2009, Christoph Dorn
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
|
|
|
|||
32
libs/FirePHPCore/README
Normal file
32
libs/FirePHPCore/README
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
|
||||
Version: 0.3.1
|
||||
|
||||
------------------------------------------------------
|
||||
Requirements
|
||||
------------------------------------------------------
|
||||
|
||||
Client Side:
|
||||
|
||||
- Firefox - http://www.getfirefox.com/
|
||||
- Firebug - http://www.getfirebug.com/
|
||||
- FirePHP - http://www.firephp.org/
|
||||
|
||||
Server Side:
|
||||
|
||||
- PHP 5 (complete functionality)
|
||||
- PHP 4 (most functionality)
|
||||
|
||||
|
||||
------------------------------------------------------
|
||||
Install Tutorial
|
||||
------------------------------------------------------
|
||||
|
||||
http://www.firephp.org/HQ/Install.htm
|
||||
|
||||
|
||||
------------------------------------------------------
|
||||
Support
|
||||
------------------------------------------------------
|
||||
|
||||
http://forum.firephp.org/
|
||||
|
||||
261
libs/FirePHPCore/fb.php
Normal file
261
libs/FirePHPCore/fb.php
Normal file
|
|
@ -0,0 +1,261 @@
|
|||
<?php
|
||||
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
*
|
||||
* This file is part of FirePHP (http://www.firephp.org/).
|
||||
*
|
||||
* Software License Agreement (New BSD License)
|
||||
*
|
||||
* Copyright (c) 2006-2009, Christoph Dorn
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* * Neither the name of Christoph Dorn nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* ***** END LICENSE BLOCK *****
|
||||
*
|
||||
* @copyright Copyright (C) 2007-2009 Christoph Dorn
|
||||
* @author Christoph Dorn <christoph@christophdorn.com>
|
||||
* @license http://www.opensource.org/licenses/bsd-license.php
|
||||
* @package FirePHP
|
||||
*/
|
||||
|
||||
require_once dirname(__FILE__).'/FirePHP.class.php';
|
||||
|
||||
/**
|
||||
* Sends the given data to the FirePHP Firefox Extension.
|
||||
* The data can be displayed in the Firebug Console or in the
|
||||
* "Server" request tab.
|
||||
*
|
||||
* @see http://www.firephp.org/Wiki/Reference/Fb
|
||||
* @param mixed $Object
|
||||
* @return true
|
||||
* @throws Exception
|
||||
*/
|
||||
function fb()
|
||||
{
|
||||
$instance = FirePHP::getInstance(true);
|
||||
|
||||
$args = func_get_args();
|
||||
return call_user_func_array(array($instance,'fb'),$args);
|
||||
}
|
||||
|
||||
|
||||
class FB
|
||||
{
|
||||
/**
|
||||
* Enable and disable logging to Firebug
|
||||
*
|
||||
* @see FirePHP->setEnabled()
|
||||
* @param boolean $Enabled TRUE to enable, FALSE to disable
|
||||
* @return void
|
||||
*/
|
||||
public static function setEnabled($Enabled) {
|
||||
$instance = FirePHP::getInstance(true);
|
||||
$instance->setEnabled($Enabled);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if logging is enabled
|
||||
*
|
||||
* @see FirePHP->getEnabled()
|
||||
* @return boolean TRUE if enabled
|
||||
*/
|
||||
public static function getEnabled() {
|
||||
$instance = FirePHP::getInstance(true);
|
||||
return $instance->getEnabled();
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify a filter to be used when encoding an object
|
||||
*
|
||||
* Filters are used to exclude object members.
|
||||
*
|
||||
* @see FirePHP->setObjectFilter()
|
||||
* @param string $Class The class name of the object
|
||||
* @param array $Filter An array or members to exclude
|
||||
* @return void
|
||||
*/
|
||||
public static function setObjectFilter($Class, $Filter) {
|
||||
$instance = FirePHP::getInstance(true);
|
||||
$instance->setObjectFilter($Class, $Filter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set some options for the library
|
||||
*
|
||||
* @see FirePHP->setOptions()
|
||||
* @param array $Options The options to be set
|
||||
* @return void
|
||||
*/
|
||||
public static function setOptions($Options) {
|
||||
$instance = FirePHP::getInstance(true);
|
||||
$instance->setOptions($Options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get options for the library
|
||||
*
|
||||
* @see FirePHP->getOptions()
|
||||
* @return array The options
|
||||
*/
|
||||
public static function getOptions() {
|
||||
$instance = FirePHP::getInstance(true);
|
||||
return $instance->getOptions();
|
||||
}
|
||||
|
||||
/**
|
||||
* Log object to firebug
|
||||
*
|
||||
* @see http://www.firephp.org/Wiki/Reference/Fb
|
||||
* @param mixed $Object
|
||||
* @return true
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function send()
|
||||
{
|
||||
$instance = FirePHP::getInstance(true);
|
||||
$args = func_get_args();
|
||||
return call_user_func_array(array($instance,'fb'),$args);
|
||||
}
|
||||
|
||||
/**
|
||||
* Start a group for following messages
|
||||
*
|
||||
* Options:
|
||||
* Collapsed: [true|false]
|
||||
* Color: [#RRGGBB|ColorName]
|
||||
*
|
||||
* @param string $Name
|
||||
* @param array $Options OPTIONAL Instructions on how to log the group
|
||||
* @return true
|
||||
*/
|
||||
public static function group($Name, $Options=null) {
|
||||
$instance = FirePHP::getInstance(true);
|
||||
return $instance->group($Name, $Options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ends a group you have started before
|
||||
*
|
||||
* @return true
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function groupEnd() {
|
||||
return self::send(null, null, FirePHP::GROUP_END);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log object with label to firebug console
|
||||
*
|
||||
* @see FirePHP::LOG
|
||||
* @param mixes $Object
|
||||
* @param string $Label
|
||||
* @return true
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function log($Object, $Label=null) {
|
||||
return self::send($Object, $Label, FirePHP::LOG);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log object with label to firebug console
|
||||
*
|
||||
* @see FirePHP::INFO
|
||||
* @param mixes $Object
|
||||
* @param string $Label
|
||||
* @return true
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function info($Object, $Label=null) {
|
||||
return self::send($Object, $Label, FirePHP::INFO);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log object with label to firebug console
|
||||
*
|
||||
* @see FirePHP::WARN
|
||||
* @param mixes $Object
|
||||
* @param string $Label
|
||||
* @return true
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function warn($Object, $Label=null) {
|
||||
return self::send($Object, $Label, FirePHP::WARN);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log object with label to firebug console
|
||||
*
|
||||
* @see FirePHP::ERROR
|
||||
* @param mixes $Object
|
||||
* @param string $Label
|
||||
* @return true
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function error($Object, $Label=null) {
|
||||
return self::send($Object, $Label, FirePHP::ERROR);
|
||||
}
|
||||
|
||||
/**
|
||||
* Dumps key and variable to firebug server panel
|
||||
*
|
||||
* @see FirePHP::DUMP
|
||||
* @param string $Key
|
||||
* @param mixed $Variable
|
||||
* @return true
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function dump($Key, $Variable) {
|
||||
return self::send($Variable, $Key, FirePHP::DUMP);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log a trace in the firebug console
|
||||
*
|
||||
* @see FirePHP::TRACE
|
||||
* @param string $Label
|
||||
* @return true
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function trace($Label) {
|
||||
return self::send($Label, FirePHP::TRACE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log a table in the firebug console
|
||||
*
|
||||
* @see FirePHP::TABLE
|
||||
* @param string $Label
|
||||
* @param string $Table
|
||||
* @return true
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function table($Label, $Table) {
|
||||
return self::send($Table, $Label, FirePHP::TABLE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue