// Obsluha chyb v1.1.1 // $Error_Email = $Config['Web']['AdminEmail']; // Adresa, kam budou chyby odesílány $Error_Subject = $Config['Web']['Title'].' - Chybové hlášení'; // Název zpráv o chybách $Error_ShowDetails = $Config['Web']['ShowError']; // Zobrazit detajly o chyby $ErrorLogFile = $Config['Web']['ErrorLogFile']; //error_reporting(0); // Vypni interní obsluhu chyb function obsluha_chyb($errno,$errmsg,$filename,$linenum,$vars) { global $ErrorsDisabled, $Error_ShowDetails, $ErrorLogFile; $dt = date("Y-m-d H:i:s"); // časové razítko položky $errortype = array ( 1 => "Error", 2 => "Warning", 4 => "Parsing Error", 8 => "Notice", 16 => "Core Error", 32 => "Core Warning", 64 => "Compile Error", 128 => "Compile Warning", 256 => "User Error", 512 => "User Warning", 1024 => "User Notice" ); $user_errors = E_ALL; //E_ERROR | E_WARNING | E_PARSE; if(($user_errors & $errno) and (!$ErrorsDisabled)) { $err = '# '.$dt.' : '.$errmsg."\n"; $Backtrace = debug_backtrace(); array_shift($Backtrace); //array_shift($Backtrace); foreach($Backtrace as $Item) { $err .= ' '.$Item['file'].'('.$Item['line'].")\t".$Item['function']; $arguments = ''; if(array_key_exists('args',$Item)) if(is_array($Item['args'])) foreach($Item['args'] as $Arg) { if(is_array($Arg)) $arguments .= "'".serialize($Arg)."',"; else $arguments .= "'".$Arg."',"; } if(strlen($arguments)>0) $err .= '('.substr($arguments,0,-1).")"; $err .= "\n"; } $err .= "\n"; //echo('Uvnitř'.$errno); error_log($err, 3, $ErrorLogFile); // Ulož do chybového protokolu //$err = "Datum: ".$dt."\nHlášení: ".$errmsg."\nSkript: ".$filename."\nŘádek: ".$linenum; //mail($Error_Email,$Error_Subject,$err); // Pošli mi zprávu (pokud je to kritická chyba) echo('
'."\n". ''."\n". ''."\n". 'Došlo k vnitřní chybě!'.$err.'