Rechercher " "
0 Services trouvés
Des améliorations ou suggestions sur ces résultats ?
Un résultat incohérent ? Faites-nous en part.
}
/* ---------- Exceptions métier ---------- */ catch (ForbiddenException $e) {
// 401 (non authentifié) ou 403 (authentifié mais pas autorisé)
if (!$session->isLogged()) {
// return $this->renderError(401, $e->getMessage());
redirect($this->url('login') . '?redirect=' . urlencode($this->current_url()));
return $this;
}
return $this->renderError(403, $e->getMessage());
} catch (NotFoundException $e) {
return $this->renderError(404, $e->getMessage());
}
/* ---------- Tout le reste → 500 ---------- */ catch (\Throwable $e) {
/* Nettoyage du buffer pour éviter les sorties tronquées/mixtes */
while (ob_get_level() > 0) {
ob_end_clean();
}
error_log($e->getMessage() . ' in ' . $e->getFile() . ':' . $e->getLine());
header('Content-Type: text/plain; charset=utf-8', true, 500);
echo "ERREUR PHP : " . $e->getMessage() . "\n";
echo "FICHIER : " . $e->getFile() . " à la ligne " . $e->getLine() . "\n";
echo "TRACE : \n" . $e->getTraceAsString();
exit();
}
}
/* ---------- Helper d’affichage d’erreur ---------- */
private function renderError(int $code, ?string $customMessage = null): self
{
// Charge le tableau associatif {code, title, message}
$map = require dirname(__DIR__) . '/config/errors.php';
// 404 par défaut si clé inconnue
$err = $map[$code] ?? $map[500];
$code = $err['code']; // garantit cohérence
// Surcharger le message si besoin
$message = $customMessage ?: $err['message'];