Index: trunk/kernel/include/adodb/adodb.inc.php
===================================================================
diff -u -r856 -r857
--- trunk/kernel/include/adodb/adodb.inc.php (.../adodb.inc.php) (revision 856)
+++ trunk/kernel/include/adodb/adodb.inc.php (.../adodb.inc.php) (revision 857)
@@ -755,7 +755,7 @@
$errorLevel = defined('SQL_ERROR_DIE')&&SQL_ERROR_DIE ? E_USER_ERROR : E_USER_WARNING;
$debugger->dumpVars($_REQUEST);
$debugger->appendTrace();
- trigger_error(''.$m.' ('.$e.')
SQL: '.$sql, $errorLevel);
+ trigger_error(''.$m.' ('.$e.')
SQL: '.$debugger->highlightString($sql), $errorLevel);
ADOConnection::outp($e .': '. $m );
flush();
Index: trunk/kernel/include/debugger.php
===================================================================
diff -u -r856 -r857
--- trunk/kernel/include/debugger.php (.../debugger.php) (revision 856)
+++ trunk/kernel/include/debugger.php (.../debugger.php) (revision 857)
@@ -1,4 +1,5 @@
$argValue)
+ foreach ($traceArgs as $argID => $argValue)
{
- if( is_array($argValue) )
+ if( is_array($argValue) || is_object($argValue) )
{
- $this->processTraceArguments($argValue);
- $traceRec['args'][$argID] = $argValue;
+ if(is_object($argValue) && !in_array(get_class($argValue),$this->RecursionStack) )
+ {
+ // object & not in stack - ok
+ array_push($this->RecursionStack, get_class($argValue));
+ settype($argValue,'array');
+ $this->processTraceArguments($argValue);
+ array_pop($this->RecursionStack);
+ }
+ elseif(is_object($argValue) && in_array(get_class($argValue),$this->RecursionStack) )
+ {
+ // object & in stack - recursion
+ $traceArgs[$argID] = '**** RECURSION ***';
+ }
+ else
+ {
+ // normal array here
+ $this->processTraceArguments($argValue);
+ }
}
else
{
- if( strlen($argValue) > 200 ) $traceRec['args'][$argID] = htmlspecialchars(substr($argValue,0,50).' ...');
+ $traceArgs[$argID] = $this->cutStringForHTML($traceArgs[$argID]);
}
}
}
+ function cutStringForHTML($string)
+ {
+ if( strlen($string) > 200 ) $string = substr($string,0,50).' ...';
+ return $string;
+
+ }
+
function highlightString($string)
{
- $string = highlight_string('', true);
- return preg_replace('/<\?(.*)php (.*)\?>/s','$2',$string);
+ if( defined('DBG_USE_HIGHLIGHT')&&DBG_USE_HIGHLIGHT )
+ {
+ $string = highlight_string('', true);
+ return preg_replace('/<\?(.*)php (.*)\?>/s','$2',$string);
+ }
+ else
+ {
+ return $string;
+ }
}
function getFileLink($file, $lineno = 1, $title = '')