Cristiano Magro
2017-10-02 c32d4271ce29d5e8391dbd84e9be3916164f9d43
src/Vola/FatalHandler/FatalHandler.php
@@ -1,9 +1,9 @@
<?php
if (!function_exists("fatal_handler")) {
   function fatal_handler() {
      $errfile = "unknown file";
      $errstr = "shutdown";
      $errno = E_CORE_ERROR;
@@ -11,17 +11,43 @@
      $error = error_get_last();
      if ($error['type'] === E_ERROR || $error['type'] === E_CORE_ERROR) {
         $result = print_r($error, true);
        $listErroriTracciati = array(E_ERROR, E_COMPILE_ERROR, E_CORE_ERROR);
        if (in_array($error['type'], $listErroriTracciati)) {
            $result = print_r($error, true);
            $resultEsca = mysql_real_escape_string($result);
            $nomeServer = $_SERVER['SERVER_NAME'];
            if (class_exists('PDOMgr')) {
                try {
                    $db = PDOMgr::create('127.0.0.1', 'censimento_siti', 'root', ''  );
                    $sql =<<<ENDSQL
                            INSERT INTO log_errori_server
                                (server,livello, messaggio, dt)
                                    VALUES (
                                        '$nomeServer',
                                        'FATAL',
                                        '$resultEsca',
                                        now()
                            );
ENDSQL;
                    $db->insert($sql);
                } catch (Exception $exc) {
                    error_log($exc->getTraceAsString());
                }
            } else {
                //in mancanza di PDOMgr mando la mail
         $headers = "From: assistenza.pro@vola.it\r\n";
         $headers .= "Subject: Fatal error rilevato\r\n";
         //$headers .= "MIME-Version: 1.0\r\n";
         //$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
         error_log($result, 1, "cristiano.magro@vola.it", $headers);
      }
   }
    }
   register_shutdown_function("fatal_handler");
}