diff --git a/config.example.php b/config.example.php index 589a1f802..de1614c53 100644 --- a/config.example.php +++ b/config.example.php @@ -17,7 +17,7 @@ $redirectHTTPS = false; // Impostazioni di debug $debug = false; -$strict = false; +$operations_log = false; // Personalizzazione dei gestori dei tag personalizzati $HTMLWrapper = null; diff --git a/core.php b/core.php index 9bdc29c13..ce253e557 100644 --- a/core.php +++ b/core.php @@ -38,7 +38,7 @@ if (!empty($redirectHTTPS) && !isHTTPS(true)) { // $debug = true; // Logger per la segnalazione degli errori -$logger = new Monolog\Logger(tr('OpenSTAManager')); +$logger = new Monolog\Logger('OpenSTAManager'); $logger->pushProcessor(new Monolog\Processor\UidProcessor()); $logger->pushProcessor(new Monolog\Processor\WebProcessor()); @@ -54,9 +54,7 @@ if (!API::isAPIRequest()) { // Impostazioni di debug if (!empty($debug)) { // Ignoramento degli avvertimenti e delle informazioni relative alla deprecazione di componenti - if (empty($strict)) { - error_reporting(E_ALL & ~E_NOTICE & ~E_USER_DEPRECATED); - } + error_reporting(E_ALL & ~E_NOTICE & ~E_USER_DEPRECATED); // File di log ordinato in base alla data $handlers[] = new RotatingFileHandler(__DIR__.'/logs/error.log', 0, Monolog\Logger::ERROR); @@ -156,6 +154,17 @@ if (!API::isAPIRequest()) { // Registrazione globale del template per gli input HTML register_shutdown_function('translateTemplate'); + // Impostazione dei log estesi (per monitorare in modo completo le azioni degli utenti) + if (!empty($operations_log)) { + $operations = $logger->withName('Debug'); + + $operationsFormatter = new Monolog\Formatter\LineFormatter('[%datetime%] %channel%.%level_name%: %message% %context% %extra%'.PHP_EOL); + + $handler = new StreamHandler(__DIR__.'/logs/info.log', Monolog\Logger::INFO); + + $operations->pushHandler($handler->setFormatter($operationsFormatter)); + } + // Impostazione della sessione di base $_SESSION['infos'] = array_unique((array) $_SESSION['infos']); $_SESSION['warnings'] = array_unique((array) $_SESSION['warnings']); diff --git a/lib/functions.php b/lib/functions.php index 6e0112a24..c05056c71 100644 --- a/lib/functions.php +++ b/lib/functions.php @@ -586,6 +586,7 @@ function translateTemplate() global $id_module; global $id_record; global $id_plugin; + global $operations; $template = ob_get_clean(); @@ -595,6 +596,17 @@ function translateTemplate() $template = str_replace('$id_plugin$', $id_plugin, $template); $template = str_replace('$id_record$', $id_record, $template); + // Completamento delle informazioni estese sulle azioni dell'utente + if (Auth::check() && !empty($operations) && !empty($_SESSION['infos'])) { + $user = Auth::user(); + + foreach ($_SESSION['infos'] as $value) { + $operations->addRecord(\Monolog\Logger::INFO, $value, [ + 'user' => $user['username'], + ]); + } + } + // Annullo le notifiche (AJAX) if (isAjaxRequest()) { unset($_SESSION['infos']);