<?php
// includes/auth.php
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

// فراخوانی فایل‌های پایه در خارج از توابع تا در کل سیستم در دسترس باشند
require_once __DIR__ . '/functions.php';
require_once __DIR__ . '/../config/db.php';

function checkLogin() {
    // ۱. بررسی لاگین بودن کاربر
    if (!isset($_SESSION['user_id'])) {
        header("Location: /vpnet-panel/login.php");
        exit;
    }

    // ۲. بررسی حالت تعمیر (فقط برای کاربران عادی و اپراتورها اعمال می‌شود، نه ادمین)
    if (isset($_SESSION['role']) && $_SESSION['role'] !== 'admin') {
        global $pdo;
        
        try {
            // چک کردن وضعیت سیستم از دیتابیس
            $stmtMaint = $pdo->query("SELECT setting_value FROM system_settings WHERE setting_key = 'maintenance_mode'");
            if ($stmtMaint) {
                $maint = $stmtMaint->fetch();
                if ($maint && $maint['setting_value'] === '1') {
                    // مسدودسازی دسترسی و نمایش صفحه گرافیکی در حال به‌روزرسانی
                    die('<!DOCTYPE html><html lang="fa" dir="rtl">
                    <head>
                        <meta charset="UTF-8">
                        <meta name="viewport" content="width=device-width, initial-scale=1.0">
                        <title>در حال به‌روزرسانی</title>
                        <script src="/vpnet-panel/assets/js/tailwindcss.js"></script>
                        <link href="/vpnet-panel/assets/css/Vazirmatn-font-face.css" rel="stylesheet">
                        <style>body{font-family:"Vazirmatn", sans-serif;}</style>
                    </head>
                    <body class="bg-gray-100 flex items-center justify-center min-h-screen p-4">
                        <div class="bg-white p-8 md:p-12 rounded-3xl shadow-xl text-center max-w-lg w-full border-t-8 border-red-500">
                            <div class="text-7xl mb-6 animate-pulse">🛠️</div>
                            <h1 class="text-2xl md:text-3xl font-black text-gray-800 mb-4">سیستم در حال به‌روزرسانی است</h1>
                            <p class="text-gray-600 mb-8 leading-relaxed font-medium">ما در حال ارتقا و بهبود امکانات سیستم هستیم تا تجربه بهتری را برای شما رقم بزنیم. لطفاً دقایقی دیگر مجدداً مراجعه فرمایید.</p>
                            <a href="/vpnet-panel/logout.php" class="inline-block w-full bg-gray-800 hover:bg-gray-900 text-white px-6 py-3.5 rounded-xl font-bold transition shadow-md">خروج از حساب کاربری</a>
                        </div>
                    </body>
                    </html>');
                }
            }
        } catch (Exception $e) {
            // در صورت وجود هرگونه خطا در دیتابیس، لاگین مختل نمی‌شود
        }
    }
}

function isAdmin() {
    return (isset($_SESSION['role']) && $_SESSION['role'] === 'admin');
}
?>