/
adodb-firephp.inc.php
76 lines (62 loc) · 1.91 KB
/
adodb-firephp.inc.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
/**
* @author Dipl.-Ing. (FH) André Fiedler < kontakt at visualdrugs dot net >
* @link http://github.com/SunboX/adodb-lite-firephp-plugin/tree
* @copyright 2009 André Fiedler.
* @license MIT License
* @version 1.0
*/
if(!defined('ADODB_ERROR_HANDLER_TYPE')) define('ADODB_ERROR_HANDLER_TYPE', E_USER_ERROR);
define('ADODB_ERROR_HANDLER', 'adodb_firephp_exception');
define('ADODB_OUTP', 'adodb_firephp_logging');
/**
* FirePHP Error Handler.
*
* @param $dbms the RDBMS you are connecting to
* @param $fn the name of the calling function (in uppercase)
* @param $errno the native error number from the database
* @param $errmsg the native error msg from the database
* @param $p1 $fn specific parameter - see below
* @param $P2 $fn specific parameter - see below
*/
function adodb_firephp_exception($dbms, $fn, $errno, $errmsg, $p1, $p2, $thisConnection)
{
if(!class_exists('FirePHP')) die('You have to include FirePHP first!');
$firephp = FirePHP::getInstance(true);
$s = '';
switch($fn)
{
case 'EXECUTE':
$s = "$dbms error: [$errno: $errmsg] in $fn(\"$p1\")\n";
break;
case 'PCONNECT':
case 'CONNECT':
$user = $thisConnection->username;
$s = "$dbms error: [$errno: $errmsg] in $fn($p1, '$user', '****', $p2)\n";
break;
default:
$s = "$dbms error: [$errno: $errmsg] in $fn($p1, $p2)\n";
break;
}
$firephp->error($s);
}
/**
* FirePHP Log Handler.
*
* @param $debug_output the logging string from AdoDB as html
* @param $newline force newline
*/
function adodb_firephp_logging($debug_output, $newline)
{
if(!class_exists('FirePHP')) die('You have to include FirePHP first!');
$firephp = FirePHP::getInstance(true);
$log = array();
foreach(explode("\n", htmlspecialchars_decode(strip_tags($debug_output))) as $line)
{
$line = trim($line);
if($line != '') $log[] = array($line);
}
$title = array_shift($log);
$firephp->table($title[0], $log);
}
?>