32 lines
1.2 KiB
PHP
32 lines
1.2 KiB
PHP
<?php
|
|
|
|
/**
|
|
* include/session_timeout.php - avviso "stai per essere scollegato" su tutte le pagine userarea.
|
|
* Da includere una volta in fondo a include/footer.php.
|
|
*
|
|
* Per escludere una pagina (es. postazioni tablet sempre accese) mettere PRIMA dell'include del footer:
|
|
* $sessionTimeoutDisabled = true;
|
|
*/
|
|
if (!empty($sessionTimeoutDisabled)) return;
|
|
|
|
// durata della sessione di Vanguard (minuti), come nel .env (SESSION_LIFETIME)
|
|
$__stLifetime = 120;
|
|
try {
|
|
if (function_exists('config')) $__stLifetime = (int)config('session.lifetime', 120);
|
|
} catch (\Throwable $e) {
|
|
}
|
|
|
|
// indirizzo di uscita: la parte prima di /userarea/ + /logout (come il redirect al login di headscript.php)
|
|
$__stScript = $_SERVER['SCRIPT_NAME'] ?? '';
|
|
$__stPos = strpos($__stScript, '/userarea/');
|
|
$__stBase = $__stPos !== false ? substr($__stScript, 0, $__stPos) : '';
|
|
?>
|
|
<script>
|
|
window.SESSION_TIMEOUT = {
|
|
lifetimeMin: <?= max(5, (int)$__stLifetime) ?>,
|
|
logoutUrl: <?= json_encode($__stBase . '/logout') ?>,
|
|
loginUrl: <?= json_encode($__stBase . '/login') ?>,
|
|
pingUrl: 'session_ping.php'
|
|
};
|
|
</script>
|
|
<script src="session_timeout.js?v=1"></script>
|