diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index 70b0ce5..5f8ee13 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -3,10 +3,12 @@ namespace App\Exceptions; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; -use Throwable; use Illuminate\Support\Facades\Mail; -use Symfony\Component\ErrorHandler\Exception\FlattenException; +use Laravel\Passport\Exceptions\OAuthServerException; use Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer; +use Symfony\Component\ErrorHandler\Exception\FlattenException; +use Symfony\Component\HttpFoundation\Response; +use Throwable; class Handler extends ExceptionHandler { @@ -16,7 +18,10 @@ class Handler extends ExceptionHandler * @var array */ protected $dontReport = [ - // + // OAuth-Client-Fehler (z. B. Bots, die /oauth/authorize ohne gültige + // Parameter abklopfen). Werden sauber als 4xx an den Aufrufer gerendert + // und sind keine Applikationsfehler – lösen daher keine Exception-Mail aus. + OAuthServerException::class, ]; /** @@ -32,7 +37,6 @@ class Handler extends ExceptionHandler /** * Report or log an exception. * - * @param \Throwable $exception * @return void * * @throws \Exception @@ -49,10 +53,9 @@ class Handler extends ExceptionHandler * Render an exception into an HTTP response. * * @param \Illuminate\Http\Request $request - * @param \Throwable $exception - * @return \Symfony\Component\HttpFoundation\Response + * @return Response * - * @throws \Throwable + * @throws Throwable */ public function render($request, Throwable $exception) { @@ -67,24 +70,23 @@ class Handler extends ExceptionHandler $css = $handler->getStylesheet(); $content = $handler->getBody($e); - //Mail::to(config('app.exception_mail'))->send(new MailContact($contact)); + // Mail::to(config('app.exception_mail'))->send(new MailContact($contact)); // Verwende normale Mail-Klasse statt Facade, um Probleme bei der Initialisierung zu vermeiden $to = config('app.exception_mail'); - $subject = 'gruene-seele Exception: ' . \Request::fullUrl(); + $subject = 'gruene-seele Exception: '.\Request::fullUrl(); if ($to) { \Mail::send('emails.exception', compact('css', 'content'), function ($message) use ($to, $subject) { $message ->to($to) - ->subject($subject) - ; + ->subject($subject); }); } } catch (Throwable $ex) { // Einfache Fehlerprotokollierung ohne Facade file_put_contents( - storage_path('logs/laravel-' . date('Y-m-d') . '.log'), - '[' . date('Y-m-d H:i:s') . '] exception-handler-error: ' . $ex->getMessage() . "\n", + storage_path('logs/laravel-'.date('Y-m-d').'.log'), + '['.date('Y-m-d H:i:s').'] exception-handler-error: '.$ex->getMessage()."\n", FILE_APPEND ); } diff --git a/dev/product management /briefing-anpassungen-27-04-2026.md b/dev/product management /00-konzept/briefing-anpassungen-27-04-2026.md similarity index 100% rename from dev/product management /briefing-anpassungen-27-04-2026.md rename to dev/product management /00-konzept/briefing-anpassungen-27-04-2026.md diff --git a/dev/product management /briefing.md b/dev/product management /00-konzept/briefing.md similarity index 100% rename from dev/product management /briefing.md rename to dev/product management /00-konzept/briefing.md diff --git a/dev/product management /feedback.md b/dev/product management /00-konzept/feedback.md similarity index 100% rename from dev/product management /feedback.md rename to dev/product management /00-konzept/feedback.md diff --git a/dev/product management /konzept-final.md b/dev/product management /00-konzept/konzept-final.md similarity index 100% rename from dev/product management /konzept-final.md rename to dev/product management /00-konzept/konzept-final.md diff --git a/dev/product management /konzept.md b/dev/product management /00-konzept/konzept.md similarity index 100% rename from dev/product management /konzept.md rename to dev/product management /00-konzept/konzept.md diff --git a/dev/product management /entwicklungsplan-aktualisiert-02-06-2026.md b/dev/product management /01-entwicklungsplaene/entwicklungsplan-aktualisiert-02-06-2026.md similarity index 100% rename from dev/product management /entwicklungsplan-aktualisiert-02-06-2026.md rename to dev/product management /01-entwicklungsplaene/entwicklungsplan-aktualisiert-02-06-2026.md diff --git a/dev/product management /entwicklungsplan-aktualisiert-06-07-2026.md b/dev/product management /01-entwicklungsplaene/entwicklungsplan-aktualisiert-06-07-2026.md similarity index 100% rename from dev/product management /entwicklungsplan-aktualisiert-06-07-2026.md rename to dev/product management /01-entwicklungsplaene/entwicklungsplan-aktualisiert-06-07-2026.md diff --git a/dev/product management /entwicklungsplan-aktualisiert-12-06-2026.md b/dev/product management /01-entwicklungsplaene/entwicklungsplan-aktualisiert-12-06-2026.md similarity index 100% rename from dev/product management /entwicklungsplan-aktualisiert-12-06-2026.md rename to dev/product management /01-entwicklungsplaene/entwicklungsplan-aktualisiert-12-06-2026.md diff --git a/dev/product management /entwicklungsplan-aktualisiert-27-04-2026.md b/dev/product management /01-entwicklungsplaene/entwicklungsplan-aktualisiert-27-04-2026.md similarity index 100% rename from dev/product management /entwicklungsplan-aktualisiert-27-04-2026.md rename to dev/product management /01-entwicklungsplaene/entwicklungsplan-aktualisiert-27-04-2026.md diff --git a/dev/product management /entwicklungsplan.md b/dev/product management /01-entwicklungsplaene/entwicklungsplan.md similarity index 100% rename from dev/product management /entwicklungsplan.md rename to dev/product management /01-entwicklungsplaene/entwicklungsplan.md diff --git a/dev/product management /audit-bericht-15-07-2026.md b/dev/product management /02-audit/audit-bericht-15-07-2026.md similarity index 100% rename from dev/product management /audit-bericht-15-07-2026.md rename to dev/product management /02-audit/audit-bericht-15-07-2026.md diff --git a/dev/product management /ap-32-brueckenloesung-connector-update.md b/dev/product management /03-status-und-vorschlaege/ap-32-brueckenloesung-connector-update.md similarity index 100% rename from dev/product management /ap-32-brueckenloesung-connector-update.md rename to dev/product management /03-status-und-vorschlaege/ap-32-brueckenloesung-connector-update.md