forked from extern/egroupware
extending print_debug() to be able to trap the data and toss it into a database as an option
This commit is contained in:
parent
8d7650092d
commit
3bfa6c85d3
@ -94,6 +94,7 @@
|
|||||||
define('DEBUG_API', False);
|
define('DEBUG_API', False);
|
||||||
define('DEBUG_DATATYPES', True);
|
define('DEBUG_DATATYPES', True);
|
||||||
define('DEBUG_LEVEL', 3);
|
define('DEBUG_LEVEL', 3);
|
||||||
|
define('DEBUG_OUTPUT', 2); /* 1 = screen, 2 = DB (not supported with PHP3). For both use 3. */
|
||||||
|
|
||||||
/**************************************************************************\
|
/**************************************************************************\
|
||||||
* Do not edit these lines *
|
* Do not edit these lines *
|
||||||
|
@ -72,8 +72,12 @@
|
|||||||
*/
|
*/
|
||||||
function print_debug($message,$var = 'messageonly',$part = 'app', $level = 3)
|
function print_debug($message,$var = 'messageonly',$part = 'app', $level = 3)
|
||||||
{
|
{
|
||||||
if (($part == 'app' && DEBUG_APP == True) || ($part == 'api' && DEBUG_API == True))
|
if (($part == 'app' && EXP_DEBUG_APP == True) || ($part == 'api' && DEBUG_API == True))
|
||||||
{
|
{
|
||||||
|
if (!defined('DEBUG_OUTPUT'))
|
||||||
|
{
|
||||||
|
define('DEBUG_OUTPUT', 1);
|
||||||
|
}
|
||||||
if ($level >= DEBUG_LEVEL)
|
if ($level >= DEBUG_LEVEL)
|
||||||
{
|
{
|
||||||
if (!is_array($var))
|
if (!is_array($var))
|
||||||
@ -82,27 +86,54 @@
|
|||||||
{
|
{
|
||||||
if (!DEBUG_DATATYPES)
|
if (!DEBUG_DATATYPES)
|
||||||
{
|
{
|
||||||
echo "$message\n$var<br>\n";
|
$output = "$message\n$var";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
echo "$message\n$var is a ".gettype($var)."<br>\n";
|
$output = "$message\n$var is a ".gettype($var);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
echo "$message<br>\n";
|
$output = $message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Bit 1 means to output to screen */
|
||||||
|
if (!!(DEBUG_OUTPUT & 1))
|
||||||
|
{
|
||||||
|
echo "$output<br>\n";
|
||||||
|
}
|
||||||
|
/* Bit 2 means to output to sql */
|
||||||
|
if (!!(DEBUG_OUTPUT & 2))
|
||||||
|
{
|
||||||
|
/* Need to flesh this out still. I dont have a table to dump this in yet.*/
|
||||||
|
/* So the SQL statement will go here*/
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Example of how this can be extended to output to other locations as well. This example uses a COM object */
|
||||||
|
/*
|
||||||
|
if (!!(DEBUG_OUTPUT & 32))
|
||||||
|
{
|
||||||
|
$obj_debug = new COM('Some_COM_App.Class','localhost');
|
||||||
|
if (is_object($obj_debug))
|
||||||
|
{
|
||||||
|
$DebugMessage_return = $obj_debug->DebugMessage($output);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (floor(phpversion()) > 3 && !!(DEBUG_OUTPUT & 2))
|
||||||
|
{
|
||||||
|
ob_start();
|
||||||
|
}
|
||||||
echo "<pre>\n$message\n";
|
echo "<pre>\n$message\n";
|
||||||
print_r($var);
|
print_r($var);
|
||||||
if (DEBUG_DATATYPES)
|
if (DEBUG_DATATYPES)
|
||||||
{
|
{
|
||||||
while(list($key, $value) = each($var))
|
while(list($key, $value) = each($var))
|
||||||
{
|
{
|
||||||
//echo 'Array['.$key.'] is a '.gettype($var[$key])."\n";
|
|
||||||
if (is_array($value))
|
if (is_array($value))
|
||||||
{
|
{
|
||||||
$vartypes[$key] = print_debug_subarray($value);
|
$vartypes[$key] = print_debug_subarray($value);
|
||||||
@ -116,6 +147,17 @@
|
|||||||
print_r($vartypes);
|
print_r($vartypes);
|
||||||
}
|
}
|
||||||
echo "\n<pre>\n";
|
echo "\n<pre>\n";
|
||||||
|
if (floor(phpversion()) > 3 && !!(DEBUG_OUTPUT & 2))
|
||||||
|
{
|
||||||
|
$output .= ob_get_contents();
|
||||||
|
ob_end_clean();
|
||||||
|
/* Need to flesh this out still. I dont have a table to dump this in yet.*/
|
||||||
|
/* So the SQL statement will go here*/
|
||||||
|
if (!!(DEBUG_OUTPUT & 1))
|
||||||
|
{
|
||||||
|
echo "$output<br>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user