<?php
session_start();

// Verificar sesión
if (!isset($_SESSION['usuario'])) {
    http_response_code(401);
    echo json_encode(['error' => 'Sesión no válida']);
    exit;
}

// Configurar headers
header('Content-Type: application/json');
header('Cache-Control: no-cache, must-revalidate');

// Configuración de la base de datos
$host = "localhost";
$user = "ascensof_Admin1";
$password = "3DS0NCH4115H4CK3R+";
$db = "ascensof_BDsimulador";

//$host = "localhost";
//$user = "root";
//$password = "";
//$db = "siapolco_BDsimulador";

try {
    // Conexión a la base de datos
    $conn = new mysqli($host, $user, $password, $db);
    if ($conn->connect_error) {
        throw new Exception("Error de conexión: " . $conn->connect_error);
    }

    // Configurar charset
    $conn->set_charset("utf8");

    // Obtener y validar IMEI
    $imei = isset($_POST['imei']) ? trim($_POST['imei']) : '';

    if (empty($imei)) {
        echo json_encode(['error' => 'IMEI no proporcionado']);
        exit;
    }

    // Validar formato IMEI (14-15 dígitos)
    if (!preg_match('/^\d{14,15}$/', $imei)) {
        echo json_encode(['error' => 'El IMEI debe contener entre 14 y 15 dígitos numéricos']);
        exit;
    }

    // Búsqueda con TRIM para manejar espacios en VARCHAR
    $stmt = $conn->prepare("
        SELECT region, division, unidad, fecha, marca, modelo, situacion, nota_inf
        FROM Celular
        WHERE TRIM(imei_fisico) = ? OR TRIM(imei_logico) = ?
        LIMIT 1
    ");
    
    if (!$stmt) {
        throw new Exception("Error al preparar la consulta: " . $conn->error);
    }
    
    $stmt->bind_param("ss", $imei, $imei);
    
    if (!$stmt->execute()) {
        throw new Exception("Error al ejecutar la consulta: " . $stmt->error);
    }
    
    $result = $stmt->get_result();

    if ($result->num_rows >= 1) {
        $data = $result->fetch_assoc();
        
        // Limpiar espacios en blanco de los datos
        foreach ($data as $key => $value) {
            $data[$key] = $value ? trim($value) : $value;
        }
        
        echo json_encode(['existe' => true, 'datos' => $data]);
    } else {
        echo json_encode([
            'existe' => false,
            'mensaje' => "El IMEI $imei no se encuentra en la base de datos SIAPOL, vuelva a intentar otro día."
        ]);
    }
    
    $stmt->close();

} catch (Exception $e) {
    error_log("Error en consulta IMEI: " . $e->getMessage());
    http_response_code(500);
    echo json_encode(['error' => 'Error interno del servidor']);
} finally {
    if (isset($conn)) {
        $conn->close();
    }
}
?>