update 20.10.2025
This commit is contained in:
parent
8c11130b5d
commit
a939cd51ef
616 changed files with 84821 additions and 4121 deletions
80
dev/app-bak/Services/SessionCleaner.php
Normal file
80
dev/app-bak/Services/SessionCleaner.php
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
|
||||
/**
|
||||
* Zentrale Session-Bereinigung
|
||||
*
|
||||
* Verhindert Error-Message-Persistierung durch intelligente Session-Bereinigung
|
||||
* vor dem Speichern. Wird von allen Controllern und Services verwendet.
|
||||
*/
|
||||
class SessionCleaner
|
||||
{
|
||||
/**
|
||||
* Session bereinigen und speichern (verhindert Error-Persistierung)
|
||||
*/
|
||||
public static function cleanAndSave(string $context = 'unknown'): void
|
||||
{
|
||||
Log::info("SessionCleaner: Session cleanup - $context", [
|
||||
'session_id' => Session::getId(),
|
||||
'context' => $context
|
||||
]);
|
||||
|
||||
// Error-Bags bereinigen
|
||||
if (Session::has('errors')) {
|
||||
Session::forget('errors');
|
||||
}
|
||||
|
||||
// Alte Input-Daten bereinigen
|
||||
if (Session::has('_old_input')) {
|
||||
Session::forget('_old_input');
|
||||
}
|
||||
|
||||
// Session speichern
|
||||
try {
|
||||
Session::save();
|
||||
Log::info("SessionCleaner: Session cleaned and saved - $context", [
|
||||
'session_id' => Session::getId()
|
||||
]);
|
||||
} catch (\Throwable $e) {
|
||||
Log::error("SessionCleaner: Session save failed - $context", [
|
||||
'error' => $e->getMessage(),
|
||||
'session_id' => Session::getId()
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Nur Error-Messages bereinigen (ohne Session zu speichern)
|
||||
*/
|
||||
public static function cleanErrors(): void
|
||||
{
|
||||
// Error-Bags bereinigen
|
||||
if (Session::has('errors')) {
|
||||
Session::forget('errors');
|
||||
}
|
||||
|
||||
// Alte Input-Daten bereinigen
|
||||
if (Session::has('_old_input')) {
|
||||
Session::forget('_old_input');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Session nur speichern (ohne Bereinigung)
|
||||
*/
|
||||
public static function saveOnly(): void
|
||||
{
|
||||
try {
|
||||
Session::save();
|
||||
} catch (\Throwable $e) {
|
||||
Log::error("SessionCleaner: Session save failed", [
|
||||
'error' => $e->getMessage(),
|
||||
'session_id' => Session::getId()
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue