From abdbdb16d9cc5446b8d8c155b8def0ba5ce66daf Mon Sep 17 00:00:00 2001
From: Cristiano Magro <cristiano.magro@vola.it>
Date: Fri, 15 May 2026 15:24:09 +0200
Subject: [PATCH] parametri

---
 src/Vola/FatalHandler/FatalHandler.php |   61 ++++++++++++++++++++++--------
 1 files changed, 44 insertions(+), 17 deletions(-)

diff --git a/src/Vola/FatalHandler/FatalHandler.php b/src/Vola/FatalHandler/FatalHandler.php
index d7de801..5b6e691 100644
--- a/src/Vola/FatalHandler/FatalHandler.php
+++ b/src/Vola/FatalHandler/FatalHandler.php
@@ -1,27 +1,54 @@
 <?php
 
-
 if (!function_exists("fatal_handler")) {
 
-	function fatal_handler() {
-		$errfile = "unknown file";
-		$errstr = "shutdown";
-		$errno = E_CORE_ERROR;
-		$errline = 0;
+    function fatal_handler() {
 
-		$error = error_get_last();
+        $errfile = "unknown file";
+        $errstr = "shutdown";
+        $errno = E_CORE_ERROR;
+        $errline = 0;
 
-		if ($error['type'] === E_ERROR || $error['type'] === E_CORE_ERROR) {
-			$result = print_r($error, true);
+        $error = error_get_last();
 
-			$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";
+        $listErroriTracciati = array(E_ERROR, E_COMPILE_ERROR, E_CORE_ERROR);
 
-			error_log($result, 1, "cristiano.magro@vola.it", $headers);
-		}
-	}
+        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(DB_HOST, DB_NAME, DB_USER, DB_PSWD);
 
-	register_shutdown_function("fatal_handler");
+                    $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());
+                    error_log("PDOMgr problemi connessione database");
+                }
+
+            } else {
+                //in mancanza di PDOMgr mando la mail
+                $headers = "From: assistenza.pro@vola.it\r\n";
+                $headers .= "Subject: Fatal error rilevato\r\n";
+                
+                error_log($result, 1, "cristiano.magro@vola.it", $headers);
+            }
+        }
+    }
+
+    register_shutdown_function("fatal_handler");
 }

--
Gitblit v1.8.0