Files
zibo-dashboard/public/userarea/include/headscript.php
T
2026-10-29 09:19:20 +01:00

89 lines
3.0 KiB
PHP

<?php
require_once(__DIR__ . '/../class/db-functions.php');
$db = DBHandlerSelect::getInstance()->getConnection();
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL | E_STRICT);
// This should be equal to: PATH_TO_VANGUARD_FOLDER/extra/auth.php
include(__DIR__ . '/../../../extra/auth.php');
//require_once __DIR__ . '/extra/auth.php';
// Here we just check if user is not
// logged in, and in that case we redirect
// the user to vanguard login page.
if (! Auth::check()) {
// Cut everything at /userarea/ and append /login.
$scriptName = $_SERVER['SCRIPT_NAME'] ?? '';
$basePath = substr($scriptName, 0, strpos($scriptName, '/userarea/'));
if ($basePath === false || $basePath === '') {
$basePath = '';
}
redirectTo($basePath . '/login');
}
$user = Auth::user();
$iduserlogin = $user->present()->id;
$nameuser = $user->present()->first_name;
$surnameuser = $user->present()->last_name;
$emailuser = $user->present()->email;
$avatar = $user->present()->avatar;
$kindofrole = $user->present()->role_id;
//$user = "1";
//$iduserlogin="1";
//$nameuser="Claudio";
//$emailuser="info@claudiosironi.com";
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
$_SESSION["iduserlogin"] = $iduserlogin;
$iduserlog = $_SESSION["iduserlogin"];
$_SESSION["nameuser"] = $nameuser;
$_SESSION["surnameuser"] = $surnameuser;
$_SESSION["emailuser"] = $emailuser;
$_SESSION["photouser"] = $avatar;
$photouser = $_SESSION["photouser"];
$photousername = basename($avatar);
//include files
require_once(__DIR__ . '/../../languages/en/general.php');
//include("generalsettings.php");
require_once __DIR__ . '/permissions_helper.php';
require_once(__DIR__ . '/popup-moved.php');
// Timbra la sessione: tiene vive le sessioni ancora valide dell'utente e rinnova il cookie di Laravel
try {
$now = time();
$lifetime = (int)(function_exists('config') ? config('session.lifetime', 120) : 120); // minuti
$table = function_exists('config') ? config('session.table', 'auth_sessions') : 'auth_sessions';
$pdoSess = DBHandlerSelect::getInstance()->getConnection();
$pdoSess->prepare("UPDATE `$table` SET last_activity = ? WHERE user_id = ? AND last_activity > ?")
->execute([$now, $iduserlogin, $now - $lifetime * 60]);
// le pagine userarea non passano da Laravel: rinnovo io la scadenza del cookie di sessione
$cookie = function_exists('config') ? config('session.cookie') : null;
if ($cookie && !empty($_COOKIE[$cookie]) && !headers_sent() && !(function_exists('config') && config('session.expire_on_close'))) {
setcookie($cookie, $_COOKIE[$cookie], [
'expires' => $now + $lifetime * 60,
'path' => function_exists('config') ? (config('session.path') ?: '/') : '/',
'domain' => function_exists('config') ? (config('session.domain') ?: '') : '',
'secure' => !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off',
'httponly' => true,
'samesite' => function_exists('config') ? (config('session.same_site') ?: 'Lax') : 'Lax',
]);
}
} catch (\Throwable $e) { /* non bloccare la pagina */
}