<?php
// Khởi động phiên làm việc
session_start();
require_once 'includes/config.php';
$thong_bao = '';

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $email = $_POST['email'];
    $mat_khau = $_POST['mat_khau'];

    // Lấy toàn bộ thông tin của người dùng khớp với email
    $kiem_tra = $pdo->prepare("SELECT * FROM thanh_vien WHERE email = ?");
    $kiem_tra->execute([$email]);
    $nguoi_dung = $kiem_tra->fetch();

    if ($nguoi_dung) {
        // KIỂM TRA BẢO MẬT: Tài khoản có đang trong thời gian bị khóa không?
        if ($nguoi_dung['thoi_gian_khoa'] && strtotime($nguoi_dung['thoi_gian_khoa']) > time()) {
            // Tính số phút còn lại phải chờ
            $thoi_gian_con_lai = ceil((strtotime($nguoi_dung['thoi_gian_khoa']) - time()) / 60);
            $thong_bao = '<p style="color:red; text-align:center; font-weight:bold;">Tài khoản đã bị khóa do nhập sai nhiều lần. Vui lòng thử lại sau ' . $thoi_gian_con_lai . ' phút!</p>';
        } else {
            // Kiểm tra mật khẩu mã hóa
            if (password_verify($mat_khau, $nguoi_dung['mat_khau'])) {
                
                // Mật khẩu đúng -> Xóa án tích (đưa số lần sai về 0, xóa thời gian khóa)
                $reset = $pdo->prepare("UPDATE thanh_vien SET so_lan_sai = 0, thoi_gian_khoa = NULL WHERE id = ?");
                $reset->execute([$nguoi_dung['id']]);

                // Lưu thẻ căn cước vào hệ thống
                $_SESSION['nguoi_dung_id'] = $nguoi_dung['id'];
                $_SESSION['user_id'] = $nguoi_dung['id'];
                $_SESSION['ho_ten'] = $nguoi_dung['ho_ten'];
                $_SESSION['vai_tro'] = $nguoi_dung['vai_tro'];
                
                // Chuyển hướng thông minh dựa vào vai trò
                if ($nguoi_dung['vai_tro'] === 'admin') {
                    header("Location: admin.php"); // Vào thẳng tổng hành dinh
                } else {
                    header("Location: ho-so-ca-nhan.php"); // Vào thẳng trang hồ sơ cá nhân
                }
                exit;
            } else {
                // Sai mật khẩu -> Tăng số lần đếm lên 1
                $so_lan_sai_moi = $nguoi_dung['so_lan_sai'] + 1;
                $cap_nhat = $pdo->prepare("UPDATE thanh_vien SET so_lan_sai = ? WHERE id = ?");
                $cap_nhat->execute([$so_lan_sai_moi, $nguoi_dung['id']]);

                // Xử lý hình phạt nếu sai quá 3 lần
                if ($so_lan_sai_moi >= 3) {
                    // Phạt khóa tài khoản 15 phút (900 giây)
                    $thoi_gian_khoa_moi = date('Y-m-d H:i:s', time() + 900);
                    $khoa_tk = $pdo->prepare("UPDATE thanh_vien SET thoi_gian_khoa = ? WHERE id = ?");
                    $khoa_tk->execute([$thoi_gian_khoa_moi, $nguoi_dung['id']]);
                    
                    $thong_bao = '<p style="color:red; text-align:center; font-weight:bold;">Bạn đã nhập sai 3 lần! Tài khoản bị khóa 15 phút để bảo mật an toàn.</p>';
                } else {
                    // Cảnh báo số lần còn lại
                    $lan_con_lai = 3 - $so_lan_sai_moi;
                    $thong_bao = '<p style="color:red; text-align:center;">Sai mật khẩu! Cảnh báo: Bạn còn ' . $lan_con_lai . ' lần thử trước khi bị khóa.</p>';
                }
            }
        }
    } else {
        // Đánh lạc hướng kẻ gian (Không cho biết là sai email hay sai mật khẩu)
        $thong_bao = '<p style="color:red; text-align:center;">Thông tin đăng nhập không chính xác!</p>';
    }
}
?>
<!DOCTYPE html>
<html lang="vi">
<head>
    <meta charset="UTF-8">
    <title>Đăng nhập an toàn - Cộng đồng Nghệ thuật</title>
    <style>
        body { font-family: 'Segoe UI', Arial, sans-serif; background-color: #f4f7f6; display: flex; justify-content: center; padding-top: 50px; }
        .khung-nhap { background: #fff; padding: 30px; border-radius: 12px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); width: 100%; max-width: 400px; }
        .tieu-de-khung { text-align: center; color: #0056b3; font-size: 22px; font-weight: bold; margin-bottom: 20px;}
        input { width: 100%; padding: 12px; margin: 10px 0 20px; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box; font-size: 14px;}
        button { width: 100%; padding: 12px; background-color: #0056b3; color: white; border: none; border-radius: 6px; cursor: pointer; font-size: 16px; font-weight: bold; transition: 0.3s;}
        button:hover { background-color: #004494; }
        .lien-ket-phu { text-align: center; margin-top: 20px; font-size: 14px;}
        .lien-ket-phu a { color: #0056b3; text-decoration: none; font-weight: bold;}
    </style>
</head>
<body>
    <div class="khung-nhap">
        <div class="tieu-de-khung">Cổng Đăng Nhập Hệ Thống</div>
        <p style="text-align:center;color:#555;font-size:13px;margin:-10px 0 16px;">Đồng hành cùng nền tảng <strong style="color:#0056b3;">PHẠM NGỌC TV</strong> kiến tạo giá trị và <strong>nghệ thuật truyền thống</strong>.</p>

        <?php echo $thong_bao; ?>
        
        <form method="POST" action="">
            <label style="font-weight: bold; color: #555;">Thư điện tử (Email):</label>
            <input type="email" name="email" required placeholder="Nhập địa chỉ email...">
            
            <label style="font-weight: bold; color: #555;">Mật khẩu bảo mật:</label>
            <input type="password" name="mat_khau" required placeholder="Nhập mật khẩu...">
            
            <button type="submit">Đăng Nhập Bảng Điều Khiển</button>
        </form>
        
        <div class="lien-ket-phu">
            Chưa là thành viên? <a href="dang-ky.php">Ghi danh tại đây</a>
        </div>
    </div>

    <?php require_once 'includes/menu-dien-thoai.php'; ?>
</body>
</html>