<?php
declare(strict_types=1);
if (session_status() !== PHP_SESSION_ACTIVE) {
session_start();
}
function isLoggedIn(): bool
{
return isset($_SESSION['user_id']);
}
function isAdmin(): bool
{
return !empty($_SESSION['is_admin']);
}
function currentUserId(): ?int
{
return $_SESSION['user_id'] ?? null;
}
function loginUser(int $userId, bool $isAdmin): void
{
$_SESSION['user_id'] = $userId;
$_SESSION['is_admin'] = $isAdmin ? 1 : 0;
}
function logoutUser(): void
{
$_SESSION = [];
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();
}