<?php
require_once '../config/db.php';
require_once '../config/config.php';

// Verificar si ya está logueado
if (isset($_SESSION['user_id'])) {
    // Usar ruta absoluta para evitar problemas de redirección
    $redirect_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://" . $_SERVER['HTTP_HOST'] . BASE_URL . "dashboard.php";
    header("Location: " . $redirect_url);
    exit;
}

// Procesar formulario
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $usuario = trim($_POST['usuario']);
    $password = trim($_POST['contrasena']);

    // Validar campos
    if (empty($usuario) || empty($password)) {
        $_SESSION['error'] = "Usuario y contraseña son requeridos";
    } else {
        // Consultar usuario
        $sql = "SELECT id, usuario, contrasena, activo, rol FROM vendedores WHERE usuario = ?";
        $stmt = mysqli_prepare($conn, $sql);
        mysqli_stmt_bind_param($stmt, "s", $usuario);
        
        if (mysqli_stmt_execute($stmt)) {
            mysqli_stmt_store_result($stmt);
            
            if (mysqli_stmt_num_rows($stmt) == 1) {
                mysqli_stmt_bind_result($stmt, $id, $usuario, $hashed_password, $activo, $rol);
                mysqli_stmt_fetch($stmt);
                
                // Verificar contraseña primero
                if (password_verify($password, $hashed_password)) {
                    // Contraseña correcta, verificar si está activo
                    if ($activo) {
                        // Autenticación exitosa
                        $_SESSION['user_id'] = $id;
                        $_SESSION['username'] = $usuario;
                        $_SESSION['user_rol'] = $rol;
                        
                        // Regenerar ID de sesión
                        session_regenerate_id(true);
                        
                        // Usar ruta absoluta para evitar problemas de redirección
                        $redirect_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://" . $_SERVER['HTTP_HOST'] . BASE_URL . "dashboard.php";
                        header("Location: " . $redirect_url);
                        exit;
                    } else {
                        // Usuario existe pero está inactivo
                        $_SESSION['error'] = "Tu cuenta está inactiva. Contacta al administrador para reactivarla.";
                    }
                } else {
                    // Contraseña incorrecta
                    $_SESSION['error'] = "Usuario o contraseña incorrectos";
                }
            } else {
                $_SESSION['error'] = "Usuario no encontrado";
            }
        } else {
            $_SESSION['error'] = "Error en la base de datos";
        }
        mysqli_stmt_close($stmt);
    }
}
mysqli_close($conn);
?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Login - Sistema ALW</title>
    <link href="<?= BASE_URL ?>assets/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
    <script src="<?= BASE_URL ?>assets/js/bootstrap.bundle.min.js"></script>
</head>
<body>
    <div class="container mt-5">
        <div class="row justify-content-center">
            <div class="col-md-6">
                <div class="card">
                    <div class="card-header">
                        <h3 class="text-center">Iniciar Sesión</h3>
                    </div>
                    <div class="card-body">
                        <?php if (isset($_SESSION['error'])): ?>
                            <div class="alert alert-danger alert-dismissible fade show" role="alert">
                                <i class="bi bi-exclamation-triangle-fill me-2"></i>
                                <strong><?= $_SESSION['error'] ?></strong>
                                <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
                            </div>
                            <?php unset($_SESSION['error']); ?>
                        <?php endif; ?>
                        
                        <form method="POST" action="">
                            <div class="form-group">
                                <label for="usuario">Usuario</label>
                                <input type="text" class="form-control" id="usuario" name="usuario" required>
                            </div>
                            <div class="form-group">
                                <label for="contrasena">Contraseña</label>
                                <input type="password" class="form-control" id="contrasena" name="contrasena" required>
                            </div>
                            <button type="submit" class="btn btn-primary btn-block">Ingresar</button>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>
