45 lines
1.1 KiB
PHP
45 lines
1.1 KiB
PHP
<?php
|
|
require_once __DIR__ . '/session_config.php';
|
|
|
|
function check_auth() {
|
|
// Check if user is logged in
|
|
if (!isset($_SESSION['logged_in']) || !$_SESSION['logged_in'] || !isset($_SESSION['role']) || !isset($_SESSION['user_id'])) {
|
|
// Store the current page to redirect after login
|
|
$_SESSION['redirect_after_login'] = $_SERVER['REQUEST_URI'];
|
|
header('Location: login.php');
|
|
exit();
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function get_user_role() {
|
|
return $_SESSION['role'] ?? null;
|
|
}
|
|
|
|
function get_user_id() {
|
|
return $_SESSION['user_id'] ?? null;
|
|
}
|
|
|
|
function get_user_name() {
|
|
return $_SESSION['user_name'] ?? 'User';
|
|
}
|
|
|
|
function is_logged_in() {
|
|
return isset($_SESSION['logged_in']) && $_SESSION['logged_in'] === true;
|
|
}
|
|
|
|
function logout() {
|
|
$_SESSION = array();
|
|
|
|
if (ini_get("session.use_cookies")) {
|
|
$params = session_get_cookie_params();
|
|
setcookie(session_name(), '', time() - 42000,
|
|
$params["path"], $params["domain"],
|
|
$params["secure"], $params["httponly"]
|
|
);
|
|
}
|
|
|
|
session_destroy();
|
|
header('Location: login.php');
|
|
exit();
|
|
} |