source: branches/old/error.php@ 48

Last change on this file since 48 was 28, checked in by george, 17 years ago

Upraveno: Změna kódování stránek na UTF-8.
Přidáno: Verze 3.1 v sekci vývoje.
Přidáno: Odkaz pod grafem na vybraný časový úsek.
Opraveno: Zobrazování desetinných míst u čísel bez jednotek.
Opraveno: Zobrazování textů Min, Avg, Max v grafu.

File size: 2.4 KB
Line 
1<?php
2
3// Obsluha chyb v1.1.1 //
4include_once('config.php');
5
6//error_reporting(0); // Vypni interní obsluhu chyb
7
8function obsluha_chyb($errno, $errmsg, $filename, $linenum, $vars)
9{
10 global $Config;
11
12 $dt = date("Y-m-d H:i:s"); // časové razítko položky
13 $errortype = array(
14 1 => "Error",
15 2 => "Warning",
16 4 => "Parsing Error",
17 8 => "Notice",
18 16 => "Core Error",
19 32 => "Core Warning",
20 64 => "Compile Error",
21 128 => "Compile Warning",
22 256 => "User Error",
23 512 => "User Warning",
24 1024 => "User Notice"
25 );
26 $user_errors = E_ALL; //E_ERROR | E_WARNING | E_PARSE;
27
28 if(($user_errors & $errno))
29 {
30 $err = '# '.$dt.' : '.$errmsg." on line ".$linenum."\n";
31 $Backtrace = debug_backtrace();
32 array_shift($Backtrace);
33 //array_shift($Backtrace);
34 //print_r($Backtrace);
35 foreach($Backtrace as $Item)
36 {
37 $err .= ' '.$Item['file'].'('.$Item['line'].")\t".$Item['function'];
38 $arguments = '';
39 if(array_key_exists('args',$Item))
40 if(is_array($Item['args']))
41 foreach($Item['args'] as $Arg)
42 {
43 if(is_array($Arg)) $arguments .= "'".serialize($Arg)."',";
44 else $arguments .= "'".$Arg."',";
45 }
46 if(strlen($arguments) > 0) $err .= '('.substr($arguments,0,-1).")";
47 $err .= "\n";
48
49 }
50 $err .= "\n";
51 //echo('Uvnitř'.$errno);
52 error_log($err, 3, $Config['Web']['ErrorLogFile']); // Ulož do chybového protokolu
53 //$err = "Datum: ".$dt."\nHlášení: ".$errmsg."\nSkript: ".$filename."\nŘádek: ".$linenum;
54 // mail($Config['Web']['AdminEmail'], $Config['Web']['Title'].' - Chybové hlášení', $err); // Pošli mi zprávu (pokud je to kritická chyba)
55 echo('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>'."\n".
56 '<meta http-equiv="Content-Language" content="cs">'."\n".
57 '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"></head><body>'."\n".
58 'Došlo k vnitřní chybě!<br> O chybě byl uvědoměn správce webu a chybu brzy odstraní.<br><br>');
59 if($Config['Web']['ShowError'] == 1) echo('<pre>'.$err.'</pre><br>'); // V případě ladění chybu i zobraz
60 echo('</body></html>');
61 if((E_ERROR | E_PARSE) & $errno) die();
62 }// else echo($errmsg.'<br>');
63}
64
65set_error_handler('obsluha_chyb'); // Aktivuj novou obsluhu chyb
66
67?>
Note: See TracBrowser for help on using the repository browser.