<?php

function getDebugBacktrace($NL "\n") {
    
$dbgTrace array_reverse(debug_backtrace());
    
$dbgMsg "";
    foreach(
$dbgTrace as $dbgInfo) {
        
$dbgArg="";
            if(isset(
$dbgInfo['args'])) {
            foreach (
$dbgInfo['args'] as $a) {
                if (!empty(
$dbgArg)) {
                
$dbgArg .= ', ';
                }

                
$dbgArg .= printVal($a);
            }
            }
        
$dbgMsg .= (isset($dbgInfo['file'])?("File ".$dbgInfo['file'].": "):"").
        (isset(
$dbgInfo['line'])?("Line ".$dbgInfo['line'].": "):"")."Called: {$dbgInfo['function']}(".($dbgArg?("".$dbgArg):"").");$NL";
        }
    
//$dbgMsg .= $NL;
    
return $dbgMsg;
}

function 
errorHandler($errno$errmsg$filename$linenum$vars) {
    
//variables
    
global $prefix;
    if (empty(
$prefix)) $prefix=(strpos($_SERVER['HTTP_HOST'], "juozas24.lt") === FALSE)?"/var/www/html":"/home/juozas24/domains/juozas24.lt/public_html";

    global 
$ip$host;
    
$date=date("Y-m-d H:i:s");
    switch (
$errno) {
        case 
E_ERROR:
            
$errtype 'Error'
        break;
        case 
E_WARNING:     
            
$errtype 'Warning'
        break;
        case 
E_NOTICE:         
            
$errtype 'Notice'
        break;
        case 
E_USER_ERROR:
            
$errtype 'User Error';
        break;
        case 
E_USER_WARNING:
            
$errtype 'User Warning';
        break;
        case 
E_USER_NOTICE:
            
$errtype 'User Notice';
        break;
        case 
E_STRICT:
        
//    $errtype = 'Runtime Notice';
        
break;
        case 
E_RECOVERABLE_ERROR:
            
$errtype 'Catchable Fatal Error';
        break;
        default:
            
$errtype='Unknown Error'
        break;
    }
    if(isset(
$errtype)) {
        
$err="Date: ".date("Y-m-d H:i:s")." IP: $ip".(!empty($host)?" Host: $host":"")."\n$errtype$errmsg\nFile: ".$filename."\nLine: ".$linenum."\nError Number: $errno\nRequest Uri:".$_SERVER['REQUEST_URI']."\nDebug Backtrace:\n".getDebugBacktrace()."\n\n";
        
error_log($err3"$prefix/logs/errorlog.txt");
    } 
    return 
false
}
register_shutdown_function(function () {
    
$ignore=false;
    global 
$prefix;
    if (empty(
$prefix)) $prefix=(strpos($_SERVER['HTTP_HOST'], "juozas24.lt") === FALSE)?"/var/www/html":"/home/juozas24/domains/juozas24.lt/public_html";
    global 
$ip$host;
    
$err error_get_last();
    if (
$err !== null) {
        
$errno $err['type'];
        switch (
$errno) {
            case 
E_ERROR:
                
$errtype 'Error'
            break;
            default:
                
$ignore true;
            break;
        }
        if (!
$ignore) {
            
$errmsg $err["message"];
            
$filename $err["file"];
            
$linenum $err["line"];
            
$msg="Date: ".date("Y-m-d H:i:s")." IP: $ip".(!empty($host)?" Host: $host":"")."\n$errtype$errmsg\nFile: ".$filename."\nLine: ".$linenum."\nError Number: $errno\nRequest Uri:".$_SERVER['REQUEST_URI']."\nDebug Backtrace:\n".getDebugBacktrace()."\n\n";
            
error_log($msg3"$prefix/logs/errorlog.txt");
        }
    }
});
set_error_handler("errorHandler",E_ALL E_DEPRECATED);
?>