<?php
/**
 * Tên file: index.php
 * Chức năng: Xử lý thông tin đăng nhập và điều hướng người dùng.
 * - Nhóm người dùng có group_id = 2 sẽ được chuyển đến giao diện POS Mobile.
 * - Các nhóm khác sẽ vào trang quản trị desktop.
 */

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
session_start();

// Nạp các file cần thiết
require_once __DIR__ . '/core/init.php';
require_once __DIR__ . '/core/helpers.php'; 

// Chỉ xử lý nếu phương thức là POST
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    header('Location: login.php');
    exit();
}

$username = trim($_POST['username'] ?? '');
$password = trim($_POST['password'] ?? '');

if (empty($username) || empty($password)) {
    header('Location: login.php?error=1'); // Lỗi: tên đăng nhập hoặc mật khẩu trống
    exit();
}

// Chuẩn bị câu lệnh để tránh SQL Injection
$stmt = $conn->prepare("SELECT * FROM cms_users WHERE username = ? LIMIT 1");
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows === 1) {
    $user = $result->fetch_assoc();

    // Kiểm tra trạng thái tài khoản
    if ($user['user_status'] != 1) {
        header('Location: login.php?error=2'); // Lỗi: tài khoản bị khóa
        exit();
    }

    // Xác thực mật khẩu
    if (password_verify($password, $user['password'])) {
        // Đăng nhập thành công, lưu thông tin vào session
        $_SESSION['user_id'] = $user['id'];
        $_SESSION['username'] = $user['username'];
        $_SESSION['display_name'] = $user['display_name'];
        $_SESSION['group_id'] = $user['group_id'];
        $_SESSION['store_id'] = $user['store_id'];

        // Lấy quyền của nhóm người dùng
        $stmt_group = $conn->prepare("SELECT group_permission FROM cms_users_group WHERE id = ?");
        $stmt_group->bind_param("i", $user['group_id']);
        $stmt_group->execute();
        $group_result = $stmt_group->get_result()->fetch_assoc();
        $_SESSION['user_permissions'] = !empty($group_result['group_permission']) ? json_decode($group_result['group_permission'], true) : [];
        $stmt_group->close();
        
        // --- LOGIC CHUYỂN HƯỚNG THEO VAI TRÒ ---
        if ((int)$_SESSION['group_id'] === 7) { 
            // Nếu là nhóm Nhân viên bán hàng (ID=2), chuyển đến POS Mobile
            header('Location: modules/pos/pos-mobile.php');
        } else {
            // Tất cả các nhóm khác, chuyển đến trang Dashboard desktop
            header('Location: modules/dashboard/');
        }
        exit();
        
    } else {
        header('Location: login.php?error=1'); // Lỗi: sai mật khẩu
        exit();
    }
} else {
    header('Location: login.php?error=1'); // Lỗi: không tìm thấy người dùng
    exit();
}
?>