Ryanhub - file viewer
filename: auth.php
branch: main
back to repo
<?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();
}