Assertion failed!
Script: $script
Line: $line
Condition:
$message
";
// Now display the call stack
echo debug_callstackinfo();
}
// Production error handling
function trigger_dberror($text = '', $back=0)
{
$kunena_db = &JFactory::getDBO();
$dberror = $kunena_db->stderr(true);
echo debug_callstackinfo($back+1);
require_once (KUNENA_PATH_LIB .DS. 'kunena.version.php');
$kunenaVersion = CKunenaVersion::version();
$kunenaPHPVersion = CKunenaVersion::PHPVersion();
$kunenaMySQLVersion = CKunenaVersion::MySQLVersion();
?>
'.$dberror, E_USER_ERROR, $back+1);
}
function check_dberror($text='', $back=0)
{
$kunena_db = &JFactory::getDBO();
if ($kunena_db->getErrorNum() != 0)
{
trigger_dberror($text, $back+1);
}
}
function check_dbwarning($text='')
{
$kunena_db = &JFactory::getDBO();
if ($kunena_db->getErrorNum() != 0)
{
trigger_dbwarning($text);
}
}
function trigger_dbwarning($text = '')
{
$kunena_db = &JFactory::getDBO();
kunena_error($text.'
'.$kunena_db->stderr(true), E_USER_WARNING);
}
// Little helper to created a formated output of variables
function debug_vars($varlist)
{
$output = ' | variable | value |
';
foreach( $varlist as $key => $value)
{
if (is_array ($value) )
{
$output .= '| $'.$key .' | ';
if ( sizeof($value)>0 )
{
$dberror = false;
$output .= '" | key | value | ';
foreach ($value as $skey => $svalue)
{
if (is_array ($svalue) )
{
$output .= '| [' . $skey .'] | Nested Array | ';
}
else if (is_object($svalue))
{
$objvarlist = get_object_vars($svalue);
// recursive function call
debug_vars($objvarlist);
}
else
{
$dberror = ($svalue == "trigger_dberror");
$output .= '| $' . $skey .' | "'. $svalue .'" | ';
}
}
if ($dberror) {
$kunena_db = &JFactory::getDBO();
jimport('geshi.geshi');
$sql = $kunena_db->_sql;
if(file_exists(JPATH_ROOT.DS.'libraries'.DS.'geshi'.DS.'geshi'.DS."mysql.php")) {
$geshi = new GeSHi($sql, "mysql");
$geshi->enable_keyword_links(false);
$geshi->set_header_type(GESHI_HEADER_NONE);
$sql = $geshi->parse_code();
}
$output .= '| Query | '. $sql.' | ';
$output .= '| Db error | '. $kunena_db->getErrorMsg().' | ';
}
$output .= ' ';
}
else
{
$output .= 'EMPTY';
}
$output .= ' |
';
}
else if (is_object($value))
{
$objvarlist = get_object_vars($value);
// recursive function call
debug_vars($objvarlist);
}
else
{
$output .= '| $' . $key .' | "'. $value .'" |
';
}
}
$output .= '
';
return $output;
}
// Show the callstack to this point in a decent format
function debug_callstackinfo($back=1)
{
$trace = array_slice(debug_backtrace(), $back);
return debug_vars($trace);
}
function kunena_error($message, $level=E_USER_NOTICE, $back=1) {
$trace = debug_backtrace();
$caller = $trace[$back];
trigger_error($message.' in '.$caller['function'].'() called from '.$caller['file'].' on line '.$caller['line'].''."\n
Error reported", $level);
}
?>