Index: src/include/init.php ================================================================== --- src/include/init.php +++ src/include/init.php @@ -96,11 +96,11 @@ 'DB_SCHEMA' => ROOT . '/include/data/schema.sql', 'PLUGINS_ROOT' => DATA_ROOT . '/plugins', 'PREFER_HTTPS' => false, 'ALLOW_MODIFIED_IMPORT' => true, 'PLUGINS_SYSTEM' => '', - 'SHOW_ERRORS' => false, + 'SHOW_ERRORS' => true, 'MAIL_ERRORS' => false, 'USE_CRON' => false, 'ENABLE_XSENDFILE' => false, 'SMTP_HOST' => false, 'SMTP_USER' => null, @@ -180,11 +180,11 @@ { // PSR-0 autoload $filename = str_replace('\\', '/', $classname); $path = ROOT . '/include/lib/' . $filename . '.php'; } - + if (!file_exists($path)) { throw new \Exception('File '.$path.' doesn\'t exists'); } @@ -212,32 +212,57 @@ if (MAIL_ERRORS) { ErrorManager::setEmail(MAIL_ERRORS); } -ErrorManager::setExtraDebugEnv([ - 'Garradin version' => garradin_version(), - 'Garradin data root' => DATA_ROOT, - ]); +ErrorManager::setContext([ + 'rootDirectory' => ROOT, + 'garradin_data_root' => DATA_ROOT, + 'garradin_version' => garradin_version(), +]); + +ErrorManager::setRemoteReporting('https://garradin.eu/report/', false); ErrorManager::setProductionErrorTemplate('
Désolé mais le serveur a rencontré une erreur interne et ne peut répondre à votre requête. Merci de ré-essayer plus tard.
Si vous suspectez un bug dans Garradin, vous pouvez suivre ces instructions pour le rapporter.
-Un-e responsable a été notifié-e et cette erreur sera corrigée dès que possible.
Référence : {$ref}
Un-e responsable a été notifié-e et cette erreur sera corrigée dès que possible.
L\'erreur a été enregistrée dans le fichier error.log sous la référence : {$ref}
\__/+
(xx)
//||\\\\
{$name} | +{$arg} | +
---|
{foreach from=$trace.code item=line key=n}{if $n == $trace.line}{$line}{else}{$line}{/if}+ {/if} + {/foreach} + {/if} + {/foreach} + {foreach from=$reports item=report} +
{/foreach}
{$k} | +{$v} | +
---|
+ Liste des erreurs système et de code rencontrées par Garradin. + Cliquer sur un des bugs pour le rapporter aux développeur⋅euses de Garradin. +
+ + {if !count($errors)} +Aucune erreur n'a été trouvée dans le journal error.log
+ {else} +Réf. | +Erreur | +Occurences | +Dernière fois | ++ |
---|---|---|---|---|
{$ref} | +
+ {$error.message} + {$error.source} + |
+ {$error.count} | +{$error.last_seen|date_fr} | +𝍢 | +
+ Cette page permet de suivre les actions effectuées par les utilisateurs. +
+ + {if empty($list)} ++ Aucune entrée dans le journal d'actions. +
+ {/if} +{/if} + +{include file="admin/_foot.tpl"} ADDED src/www/admin/config/logs.php Index: src/www/admin/config/logs.php ================================================================== --- src/www/admin/config/logs.php +++ src/www/admin/config/logs.php @@ -0,0 +1,50 @@ +context->date = strtotime($report->context->date); + } + + unset($report); + + $errors = []; + + if (qg('id')) + { + $tpl->assign('id', qg('id')); + $tpl->assign('main', $reports[0]); + $tpl->assign('reports', $reports); + } + else + { + foreach ($reports as $report) + { + if (!isset($errors[$report->context->id])) + { + $errors[$report->context->id] = [ + 'message' => $report->errors[0]->message, + 'source' => sprintf('%s:%d', $report->errors[0]->backtrace[0]->file, $report->errors[0]->backtrace[0]->line), + 'count' => 0, + ]; + } + + $errors[$report->context->id]['last_seen'] = $report->context->date; + $errors[$report->context->id]['count']++; + } + + $tpl->assign('errors', $errors); + } +} + +$tpl->assign('type', qg('type')); +$tpl->display('admin/config/logs.tpl');