<?php
require_once 'includes/auth.php';
exigir_rol('propietario', 'admin');
require_once 'conexion.php';
require_once 'includes/helpers.php';
require_once 'includes/mailer.php';
require_once 'includes/pdf_ficha.php';

header('Content-Type: application/json; charset=UTF-8');

$data = json_decode(file_get_contents('php://input'), true);
$id           = (int)($data['id_arrendatario'] ?? 0);
$emailDestino = filter_var($data['email'] ?? '', FILTER_VALIDATE_EMAIL);

if (!$id || !$emailDestino) {
    echo json_encode(['ok' => false, 'error' => 'Datos inválidos']);
    exit;
}

/* ---------- Datos del arrendatario ---------- */
$stmt = $conn->prepare("
    SELECT nombre, email, hora_ingreso, fecha_inicio, hora_salida, fecha_salida,
           token_pdf, imagen, url_externa, patente_vehiculo
    FROM arrendatarios WHERE id_arrendatario = ?");
$stmt->bind_param('i', $id);
$stmt->execute();
$r = $stmt->get_result()->fetch_assoc();

if (!$r) {
    echo json_encode(['ok' => false, 'error' => 'Arrendatario no encontrado']);
    exit;
}

try {
    $mail = nuevoMailer();
    $mail->addAddress($emailDestino);
    $mail->Subject = '📄 Ficha de Arriendo – ' . $r['nombre'] . ' – ' . CONDOMINIO_NOMBRE;

    /* Imagen del código de acceso embebida */
    $imgHtml = '';
    $rutaImg = __DIR__ . '/uploads_arrendatarios/' . $r['imagen'];
    if (!empty($r['imagen']) && file_exists($rutaImg)) {
        $cid = uniqid('img_');
        $mail->addEmbeddedImage($rutaImg, $cid);
        $imgHtml = "
            <p style='margin-top:16px'><strong>🔑 Código de acceso al departamento</strong><br>
            <span style='font-size:13px;color:#64748b'>Digitar en la cerradura electrónica, terminar con #</span></p>
            <img src='cid:$cid' style='max-width:300px;border-radius:10px;border:1px solid #e2e8f0;display:block'>";
    }

    $urlHtml = '';
    if (!empty($r['url_externa'])) {
        $urlHtml = "
            <p style='margin-top:14px'>🔗 <strong>Enlace QR para ingresar al condominio</strong>
            (te lo solicitarán en portería):<br>
            <a href='" . e($r['url_externa']) . "' target='_blank'>" . e($r['url_externa']) . "</a></p>";
    }

    $bloques = "
        <p>Estimado/a <strong>" . e($r['nombre']) . "</strong>:</p>
        <p>Adjuntamos su <strong>Ficha de Arriendo en PDF</strong> con toda la información de su estadía.</p>
        <table style='border-collapse:separate;width:100%'>"
        . filaDato('📅 Ingreso', fecha_cl($r['fecha_inicio']) . ' a las ' . hora_cl($r['hora_ingreso']) . ' hrs')
        . filaDato('📅 Salida',  fecha_cl($r['fecha_salida']) . ' a las ' . hora_cl($r['hora_salida']) . ' hrs')
        . ($r['patente_vehiculo'] ? filaDato('🚗 Patente', e($r['patente_vehiculo'])) : '')
        . "</table>
        <p style='margin-top:12px'>
           📎 La ficha va <strong>adjunta a este correo</strong> en formato PDF.<br>
           📍 <a href='" . CONDOMINIO_MAPA . "' target='_blank'>Cómo llegar (Google Maps)</a></p>
        $imgHtml
        $urlHtml
        <p style='font-size:13px;color:#64748b;margin-top:16px'>" . CONDOMINIO_DIRECCION . "</p>";

    $mail->Body    = plantillaCorreo('Ficha de Arriendo', $bloques, CONDOMINIO_NOMBRE);
    $mail->AltBody = 'Adjuntamos su ficha de arriendo en PDF.';

    /* PDF adjunto */
    $pdfPath = generarFichaPDF($conn, $id, 'F');
    if ($pdfPath) {
        $mail->addAttachment($pdfPath, 'Ficha_Arriendo.pdf');
    }

    $mail->send();

    if ($pdfPath && file_exists($pdfPath)) {
        unlink($pdfPath);
    }

    registrarBitacora($conn, $id, $emailDestino, 'manual', $mail->Subject, $_SESSION['nombre'] ?? 'manual');

    echo json_encode(['ok' => true]);
} catch (Throwable $e) {
    echo json_encode(['ok' => false, 'error' => 'No se pudo enviar el correo: ' . $e->getMessage()]);
}
