Upload via GUI (290 Dateien)
This commit is contained in:
@@ -84,7 +84,13 @@ function require_staff_login(): array
|
||||
{
|
||||
$staff = current_staff();
|
||||
if (!$staff) {
|
||||
flash('error', 'Bitte melden Sie sich an, um fortzufahren.');
|
||||
// War die Sitzung gerade wegen Inaktivität abgelaufen (ein Hintergrund-Abruf hat sie schon beendet), den Grund nennen
|
||||
if (!empty($_SESSION['staff_timed_out'])) {
|
||||
unset($_SESSION['staff_timed_out']);
|
||||
flash('error', 'Sie wurden wegen Inaktivität abgemeldet. Bitte melden Sie sich erneut an.');
|
||||
} else {
|
||||
flash('error', 'Bitte melden Sie sich an, um fortzufahren.');
|
||||
}
|
||||
redirect(staff_base_path() . '/login.php');
|
||||
}
|
||||
// Inaktivitäts-Timeout
|
||||
@@ -94,14 +100,17 @@ function require_staff_login(): array
|
||||
if ($last && (time() - $last) > ($timeout * 60)) {
|
||||
staff_logout();
|
||||
if (session_status() !== PHP_SESSION_ACTIVE) session_start();
|
||||
if (!$userNavigation) {
|
||||
// Hintergrund-Abruf (Aktualisierung der Liste, Chat-Abfrage …): kurze Antwort statt Weiterleitung auf die Anmeldeseite
|
||||
$_SESSION['staff_timed_out'] = time(); // merken, damit die Anmeldeseite den Grund nennen kann (siehe oben)
|
||||
if (!staff_is_document_request()) {
|
||||
// Hintergrund-Abruf (Aktualisierung der Liste, Chat-Abfrage …): kurze Antwort statt Weiterleitung auf die Anmeldeseite.
|
||||
// Das Laden einer Seite dagegen führt immer zur Anmeldung, auch wenn der Browser es selbst ausgelöst hat (Tab neu geladen).
|
||||
http_response_code(401);
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
echo json_encode(['error' => 'Session abgelaufen', 'sessionExpired' => true]);
|
||||
exit;
|
||||
}
|
||||
$_SESSION['flash'] = [['type'=>'error','message'=>'Sie wurden wegen Inaktivität abgemeldet.']];
|
||||
unset($_SESSION['staff_timed_out']);
|
||||
$_SESSION['flash'] = [['type'=>'error','message'=>'Sie wurden wegen Inaktivität abgemeldet. Bitte melden Sie sich erneut an.']];
|
||||
redirect('/staff/login.php');
|
||||
}
|
||||
// Nur echte Bedienung hält die Sitzung am Leben: ein vom Nutzer ausgelöster Seitenaufruf oder der Ping der Seite bei Klicks und
|
||||
|
||||
Reference in New Issue
Block a user