Changeset 212 for trunk


Ignore:
Timestamp:
May 10, 2009, 12:27:57 PM (15 years ago)
Author:
george
Message:
  • Upraveno: Ignorování souborů příloh aktualit. Smazání starých uložených v repozitáři.
  • Upraveno: Zformátování kódu obsluhy chyb.
Location:
trunk
Files:
23 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/aktuality/uploads

    • Property svn:ignore set to
      *
  • trunk/config.sample.php

    r209 r212  
    2222    'Admin' => 'Admin',
    2323    'AdminEmail' => 'admin@localhost',
    24     'ShowError' => false,
    2524    'ShowSQLError' => false,
    2625    'ShowSQLQuery' => false,
     26    'ShowPHPError' => false,
    2727    'ShowRuntimeInfo' => false,
    2828    'ErrorLogFile' => '/var/www/html/dev/centrala/www/php_script_error.log',   
  • trunk/error.php

    r209 r212  
    11<?php
    22
    3 // Obsluha chyb v1.1.1 //
    4 include_once('config.php');
    5 
    6 //error_reporting(0);                                   // Vypni interní obsluhu chyb
    7 
    8 function CustomErrorHandler($errno, $errmsg, $filename, $linenum, $vars)
     3function CustomErrorHandler($Number, $Message, $Filename, $LineNumber, $Variables)
    94{
    105  global $Config;
    116 
    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"
     7  $Date = date("Y-m-d H:i:s");          // časové razítko položky
     8  $ErrorType = array
     9  (
     10    1 => 'Error',
     11    2 => 'Warning',
     12    4 => 'Parsing Error',
     13    8 => 'Notice',
     14    16 => 'Core Error',
     15    32 => 'Core Warning',
     16    64 => 'Compile Error',
     17    128 => 'Compile Warning',
     18    256 => 'User Error',
     19    512 => 'User Warning',
     20    1024 => 'User Notice'
    2521  );
    26   $user_errors = E_ALL;  //E_ERROR | E_WARNING | E_PARSE;
     22  $UserErrors = E_ALL;  //E_ERROR | E_WARNING | E_PARSE;
    2723 
    28   if(($user_errors & $errno))
     24  if(($UserErrors & $Number))
    2925  {
    30     $err = '# '.$dt.' : '.$errmsg.' on line '.$linenum."\n";
     26    $Error = '# '.$Date.' : '.$Message.' on line '.$LineNumber."\n";
    3127    $Backtrace = debug_backtrace();
    32     array_shift($Backtrace);
     28    $Backtrace[0]['function'] = '';
     29    $Backtrace[0]['args'] = '';
     30    //$First = array_shift($Backtrace);
     31    print_r($First);
     32   
     33    //array_unshift($Backtrace, $First);
    3334    //array_shift($Backtrace);
    3435    //print_r($Backtrace);
    3536    foreach($Backtrace as $Item)
    3637    {
    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";
     38      $Error .= ' '.$Item['file'].'('.$Item['line'].")\t".$Item['function'];
     39      $Arguments = '';
     40      if(array_key_exists('args', $Item) and is_array($Item['args']))
     41        foreach($Item['args'] as $Item)
     42        {
     43          if(is_array($Item)) $Arguments .= "'".serialize($Item)."',";
     44          else $Arguments .= "'".$Item."',";
     45        }
     46      if(strlen($Arguments) > 0) $Error .= '('.substr($Arguments, 0, -1).')';
     47      $Error .= "\n";
    4848     
    4949    }
    50     $err .= "\n";
    51     //echo('Uvnitř'.$errno);
    52     if($Config['Web']['ErrorLogFile'] != '')
    53       error_log($err, 3, $Config['Web']['ErrorLogFile']);                               // Ulož do chybového protokolu
    54           //$err = "Datum: ".$dt."\nHlášení: ".$errmsg."\nSkript: ".$filename."\nŘádek: ".$linenum;
    55     // mail($Config['Web']['AdminEmail'], $Config['Web']['Title'].' - Chybové hlášení', $err);          // Pošli mi zprávu (pokud je to kritická chyba)
    56           echo('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs"><head>'.
    57     '<meta http-equiv="content-language" content="cs" />'.
    58     '<meta http-equiv="content-type" content="text/html; charset=utf-8" /></head><body>'.
    59     'Došlo k vnitřní chybě!<br /> O chybě byl uvědoměn správce webu a chybu brzy odstraní.<br /><br />');
    60         if($Config['Web']['ShowError'] == true) echo('<pre>'.$err.'</pre><br />');                      // V případě ladění chybu i zobraz
    61     echo('</body></html>');
    62     if((E_ERROR | E_PARSE) & $errno) die();
    63   }// else echo($errmsg.'<br>');
     50    $Error .= "\n";
     51    //if($Config['Web']['ErrorLogFile'] != '')
     52      //error_log($Error, 3, $Config['Web']['ErrorLogFile']);
     53          // Pošli mi zprávu (pokud je to kritická chyba)
     54      //mail($Config['Web']['AdminEmail'], $Config['Web']['Title'].' - Chybové hlášení', $Error);
     55          // Show error message
     56          if($Config['Web']['ShowPHPError'] == true)
     57          {
     58            echo('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>'."\n".
     59      '<meta http-equiv="Content-Language" content="cs">'."\n".
     60      '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"></head><body>'."\n".
     61      'Došlo k vnitřní chybě!<br> O chybě byl uvědoměn správce webu a chybu brzy odstraní.<br><br>');
     62          echo('<pre>'.$Error.'</pre><br>');                    // V případě ladění chybu i zobraz
     63      echo('</body></html>');
     64          }
     65    if((E_ERROR | E_PARSE) & $Number) die();
     66  }
    6467}
    6568
    66 set_error_handler('CustomErrorHandler');                                // Aktivuj novou obsluhu chyb
     69set_error_handler('CustomErrorHandler');
    6770
    6871?>
  • trunk/system

    • Property svn:ignore set to
      statistic
Note: See TracChangeset for help on using the changeset viewer.