Add FirePHP plugin - uses FirePHP as an output method for logging
This commit is contained in:
parent
2ab01e040e
commit
9349d823ee
59
plugins/FirePHP/FirePHPPlugin.php
Normal file
59
plugins/FirePHP/FirePHPPlugin.php
Normal file
@ -0,0 +1,59 @@
|
||||
<?php
|
||||
/*
|
||||
StatusNet Plugin: 0.9
|
||||
Plugin Name: FirePHP
|
||||
Description: Sends StatusNet log output to FirePHP
|
||||
Version: 0.1
|
||||
Author: Craig Andrews <candrews@integralblue.com>
|
||||
Author URI: http://candrews.integralblue.com/
|
||||
*/
|
||||
|
||||
/*
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2009, StatusNet, Inc.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package MinifyPlugin
|
||||
* @maintainer Craig Andrews <candrews@integralblue.com>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
// We bundle the FirePHP library...
|
||||
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/extlib/FirePHP/lib');
|
||||
|
||||
class FirePHPPlugin extends Plugin
|
||||
{
|
||||
private $firephp;
|
||||
|
||||
function onInitializePlugin()
|
||||
{
|
||||
//Output buffering has to be enabled so FirePHP can send the HTTP headers it needs
|
||||
ob_start();
|
||||
require_once('FirePHPCore/FirePHP.class.php');
|
||||
$this->firephp = FirePHP::getInstance(true);
|
||||
}
|
||||
|
||||
function onStartLog(&$priority, &$msg, &$filename)
|
||||
{
|
||||
static $firephp_priorities = array(FirePHP::ERROR, FirePHP::ERROR, FirePHP::ERROR, FirePHP::ERROR,
|
||||
FirePHP::WARN, FirePHP::LOG, FirePHP::LOG, FirePHP::INFO);
|
||||
$priority = $firephp_priorities[$priority];
|
||||
$this->firephp->fb($msg, $priority);
|
||||
}
|
||||
}
|
||||
|
21
plugins/FirePHP/README
Normal file
21
plugins/FirePHP/README
Normal file
@ -0,0 +1,21 @@
|
||||
The FirePHP writes StatusNet's log output to FirePHP.
|
||||
|
||||
Using FirePHP on production sites can expose sensitive information.
|
||||
You must protect the security of your application by disabling FirePHP
|
||||
logging on your live site.
|
||||
|
||||
Installation
|
||||
============
|
||||
add "addPlugin('FirePHP',
|
||||
array('setting'=>'value', 'setting2'=>'value2', ...);"
|
||||
to the bottom of your config.php
|
||||
|
||||
Settings
|
||||
========
|
||||
None at the moment.
|
||||
|
||||
Example
|
||||
=======
|
||||
|
||||
addPlugin('FirePHP', array());
|
||||
|
110
plugins/FirePHP/extlib/FirePHP/CHANGELOG
Normal file
110
plugins/FirePHP/extlib/FirePHP/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
plugins/FirePHP/extlib/FirePHP/CREDITS
Normal file
12
plugins/FirePHP/extlib/FirePHP/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.
|
||||
|
32
plugins/FirePHP/extlib/FirePHP/README
Normal file
32
plugins/FirePHP/extlib/FirePHP/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/
|
||||
|
1529
plugins/FirePHP/extlib/FirePHP/lib/FirePHPCore/FirePHP.class.php
Normal file
1529
plugins/FirePHP/extlib/FirePHP/lib/FirePHPCore/FirePHP.class.php
Normal file
File diff suppressed because it is too large
Load Diff
1292
plugins/FirePHP/extlib/FirePHP/lib/FirePHPCore/FirePHP.class.php4
Normal file
1292
plugins/FirePHP/extlib/FirePHP/lib/FirePHPCore/FirePHP.class.php4
Normal file
File diff suppressed because it is too large
Load Diff
29
plugins/FirePHP/extlib/FirePHP/lib/FirePHPCore/LICENSE
Normal file
29
plugins/FirePHP/extlib/FirePHP/lib/FirePHPCore/LICENSE
Normal file
@ -0,0 +1,29 @@
|
||||
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.
|
261
plugins/FirePHP/extlib/FirePHP/lib/FirePHPCore/fb.php
Normal file
261
plugins/FirePHP/extlib/FirePHP/lib/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);
|
||||
}
|
||||
|
||||
}
|
||||
|
251
plugins/FirePHP/extlib/FirePHP/lib/FirePHPCore/fb.php4
Normal file
251
plugins/FirePHP/extlib/FirePHP/lib/FirePHPCore/fb.php4
Normal file
@ -0,0 +1,251 @@
|
||||
<?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>
|
||||
* @author Michael Day <manveru.alma@gmail.com>
|
||||
* @license http://www.opensource.org/licenses/bsd-license.php
|
||||
* @package FirePHP
|
||||
*/
|
||||
|
||||
require_once dirname(__FILE__).'/FirePHP.class.php4';
|
||||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
function setEnabled($Enabled) {
|
||||
$instance =& FirePHP::getInstance(true);
|
||||
$instance->setEnabled($Enabled);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if logging is enabled
|
||||
*
|
||||
* @see FirePHP->getEnabled()
|
||||
* @return boolean TRUE if enabled
|
||||
*/
|
||||
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
|
||||
*/
|
||||
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
|
||||
*/
|
||||
function setOptions($Options) {
|
||||
$instance =& FirePHP::getInstance(true);
|
||||
$instance->setOptions($Options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get options for the library
|
||||
*
|
||||
* @see FirePHP->getOptions()
|
||||
* @return array The options
|
||||
*/
|
||||
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
|
||||
*/
|
||||
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
|
||||
*/
|
||||
function group($Name, $Options=null) {
|
||||
$instance =& FirePHP::getInstance(true);
|
||||
return $instance->group($Name, $Options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ends a group you have started before
|
||||
*
|
||||
* @return true
|
||||
*/
|
||||
function groupEnd() {
|
||||
return FB::send(null, null, FirePHP_GROUP_END);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log object with label to firebug console
|
||||
*
|
||||
* @see FirePHP::LOG
|
||||
* @param mixes $Object
|
||||
* @param string $Label
|
||||
* @return true
|
||||
*/
|
||||
function log($Object, $Label=null) {
|
||||
return FB::send($Object, $Label, FirePHP_LOG);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log object with label to firebug console
|
||||
*
|
||||
* @see FirePHP::INFO
|
||||
* @param mixes $Object
|
||||
* @param string $Label
|
||||
* @return true
|
||||
*/
|
||||
function info($Object, $Label=null) {
|
||||
return FB::send($Object, $Label, FirePHP_INFO);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log object with label to firebug console
|
||||
*
|
||||
* @see FirePHP::WARN
|
||||
* @param mixes $Object
|
||||
* @param string $Label
|
||||
* @return true
|
||||
*/
|
||||
function warn($Object, $Label=null) {
|
||||
return FB::send($Object, $Label, FirePHP_WARN);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log object with label to firebug console
|
||||
*
|
||||
* @see FirePHP::ERROR
|
||||
* @param mixes $Object
|
||||
* @param string $Label
|
||||
* @return true
|
||||
*/
|
||||
function error($Object, $Label=null) {
|
||||
return FB::send($Object, $Label, FirePHP_ERROR);
|
||||
}
|
||||
|
||||
/**
|
||||
* Dumps key and variable to firebug server panel
|
||||
*
|
||||
* @see FirePHP::DUMP
|
||||
* @param string $Key
|
||||
* @param mixed $Variable
|
||||
* @return true
|
||||
*/
|
||||
function dump($Key, $Variable) {
|
||||
return FB::send($Variable, $Key, FirePHP_DUMP);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log a trace in the firebug console
|
||||
*
|
||||
* @see FirePHP::TRACE
|
||||
* @param string $Label
|
||||
* @return true
|
||||
*/
|
||||
function trace($Label) {
|
||||
return FB::send($Label, FirePHP_TRACE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log a table in the firebug console
|
||||
*
|
||||
* @see FirePHP::TABLE
|
||||
* @param string $Label
|
||||
* @param string $Table
|
||||
* @return true
|
||||
*/
|
||||
function table($Label, $Table) {
|
||||
return FB::send($Table, $Label, FirePHP_TABLE);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user