<?php
require_once __DIR__ . '/../models/User.php';

if($_SERVER['REQUEST_METHOD'] === 'POST') {
    $attuid = $_POST['attuid'] ?? '';
    $password = $_POST['password'] ?? '';

    try {
        $user = new User();
        $loggedInUser = $user->login($attuid, $password);

        if($loggedInUser) {
            session_start();
            $_SESSION['user_id'] = $loggedInUser['ID'];
            $_SESSION['user_attuid'] = $loggedInUser['ATTUID'];
            $_SESSION['user_name'] = $loggedInUser['nombre_completo'];
            $_SESSION['user_puesto'] = $loggedInUser['Puesto'];
            $_SESSION['user_pdv'] = $loggedInUser['PDV'];
            $_SESSION['pdv_usuario'] = $loggedInUser['PDV'];
            $_SESSION['is_admin'] = isset($loggedInUser['is_admin']) ? $loggedInUser['is_admin'] : false;
            // Registrar en logs (no incluir la contraseña)
            error_log("[login] ATTUID={$attuid} ID={$loggedInUser['ID']} is_admin=" . (isset($_SESSION['is_admin']) && $_SESSION['is_admin'] ? '1' : '0') . " puesto=" . ($_SESSION['user_puesto'] ?? '') );
            // Redirigir según el tipo de usuario usando rutas absolutas para evitar ambigüedades
            if (isset($_SESSION['is_admin']) && $_SESSION['is_admin']) {
                header('Location: ../../frontend/dashboard/dashboard_admin.php');
            } else {
                header('Location: ../../frontend/dashboard/dashboard.php');
            }
            exit();
        } else {
            error_log("[login] Credenciales incorrectas o sin permisos para ATTUID={$attuid}");
            header('Location: ../../index.php?error=1');
            exit();
        }
    } catch(Exception $e) {
        error_log($e->getMessage());
        // Mostrar mensaje genérico (no filtrar detalles sensibles en producción)
        echo '<h3 style="color:red">Error en login: ' . htmlspecialchars($e->getMessage()) . '</h3>';
        exit();
    }
}
?>