Ignore:
Timestamp:
Aug 5, 2014, 10:49:06 PM (10 years ago)
Author:
chronos
Message:
  • Upraveno: Funkce RepeatFunction přesunuta do Global.php.
  • Upraveno: Nezaznamenávat chyby potlačené symbolem @.
  • Upraveno: Nezobrazovat HTML chyby při spuštění z konzole.
  • Opraveno: Pokud není navázáno spojení s RouterboardAPI, tak nepokračuj se zasíláním povelů.
  • Upraveno: NetwatchImport přepracován na načítání přes RouterboardAPI.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Modules/Error/Error.php

    r586 r682  
    66  var $ShowError;
    77  var $UserErrors;
    8    
     8
    99  function __construct($System)
    1010  {
     
    2121    $this->UserErrors = E_ALL;  //E_ERROR | E_WARNING | E_PARSE;
    2222  }
    23  
     23
    2424  function DoInstall()
    2525  {
     
    2828  function DoUnInstall()
    2929  {
    30   } 
    31  
     30  }
     31
    3232  function DoStart()
    3333  {
     
    3636    set_exception_handler(array($this, 'ExceptionHandler'));
    3737  }
    38  
     38
    3939  function Stop()
    4040  {
     
    4343        parent::Stop();
    4444  }
    45  
     45
    4646  function ErrorHandler($Number, $Message, $FileName, $LineNumber, $Variables)
    4747  {
     
    6060      1024 => 'User Notice'
    6161    );
    62  
     62
    6363    if(($this->UserErrors & $Number))
    6464    {
     65      // Error was suppressed with the @-operator
     66      if(0 === error_reporting())
     67      {
     68        return false;
     69      }
    6570      $Backtrace = debug_backtrace();
    6671      $Backtrace[0]['function'] = $Message;
     
    6974      $Backtrace[0]['line'] = $LineNumber;
    7075      $this->Report($Backtrace);
    71       if((E_ERROR | E_PARSE) & $Number) die(); 
     76      if((E_ERROR | E_PARSE) & $Number) die();
    7277    }
    7378  }
    74  
    75   function ExceptionHandler(Exception $Exception) 
     79
     80  function ExceptionHandler(Exception $Exception)
    7681  {
    77     $Backtrace = $Exception->getTrace();   
     82    $Backtrace = $Exception->getTrace();
    7883    array_unshift($Backtrace, array(
    7984      'function' => $Exception->getMessage(),
     
    8489    die();
    8590  }
    86  
     91
    8792  function Report($Backtrace)
    8893  {
    89     $Date = date('Y-m-d H:i:s');               
     94    $Date = date('Y-m-d H:i:s');
    9095    $Error = '# '.$Date."\n";
    9196    foreach($Backtrace as $Item)
     
    9398      if(!array_key_exists('line', $Item)) $Item['line'] = '';
    9499      if(!array_key_exists('file', $Item)) $Item['file'] = '';
    95    
     100
    96101      $Error .= ' '.$Item['file'].'('.$Item['line'].")\t".$Item['function'];
    97102      $Arguments = '';
     
    107112    }
    108113    $Error .= "\n";
    109      
     114
    110115    $this->System->ModuleManager->Modules['Log']->NewRecord('Error', 'Log', $Error);
    111    
     116
    112117    //if($Config['Web']['ErrorLogFile'] != '')
    113118    // error_log($Error, 3, $Config['Web']['ErrorLogFile']);
     
    117122    if($this->ShowError == true)
    118123    {
    119       echo('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>'."\n".
     124      if(array_key_exists('REMOTE_ADDR', $_SERVER))
     125      {
     126        echo('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>'."\n".
    120127          '<meta http-equiv="Content-Language" content="cs">'."\n".
    121128          '<meta http-equiv="Content-Type" content="text/html; charset='.$this->Encoding.'"></head><body>'."\n".
    122129          'Došlo k vnitřní chybě!<br/> O chybě byl uvědoměn správce webu a chybu brzy odstraní.<br/><br/>');
    123       echo('<pre>'.$Error.'</pre><br/>');                       // V případě ladění chybu i zobraz
    124       echo('</body></html>');
    125     }   
     130        echo('<pre>'.$Error.'</pre><br/>');                     // V případě ladění chybu i zobraz
     131        echo('</body></html>');
     132      } else
     133      {
     134        echo($Error);
     135      }
     136    }
    126137  }
    127138}
Note: See TracChangeset for help on using the changeset viewer.