<?php
/*************************************************
 * generar_ficha.php
 * Genera y descarga la ficha de arriendo en PDF
 * (uso interno luego de validar token)
 *************************************************/

header('Content-Type: text/html; charset=UTF-8');
date_default_timezone_set('America/Santiago');

require_once 'conexion.php';

use setasign\Fpdi\Fpdi;

/* ===============================
   LIBRERÍAS PDF
================================ */
require_once 'EDITAR_PDF/Editar_PDF_CON_FPDI-master/fpdf181/fpdf.php';
require_once 'EDITAR_PDF/Editar_PDF_CON_FPDI-master/fpdi2/src/autoload.php';

/* ===============================
   VALIDACIÓN DE PARÁMETROS
================================ */
if (!isset($_GET['id'], $_GET['dias'])) {
    die("Acceso no autorizado");
}

$id_arrendatario = (int) $_GET['id'];
$dias            = (int) $_GET['dias'];

if ($id_arrendatario <= 0 || $dias <= 0) {
    die("Parámetros inválidos");
}

/* ===============================
   CONSULTA DATOS ARRENDATARIO
================================ */
$stmt = $conn->prepare("
    SELECT 
        a.nombre AS arrendatario_nombre,
        a.rut AS arrendatario_rut,
        a.direccion,
        a.celular,
        a.email,
        a.fecha_inicio,
        a.fecha_salida,
        a.hora_ingreso,
        a.hora_salida,
        a.patente_vehiculo,
        a.autorizado_visitas,
        p.numero_departamento,
        p.estacionamiento,
        u.nombre AS propietario_nombre
    FROM arrendatarios a
    INNER JOIN propietarios p ON a.id_propietario = p.id_propietario
    INNER JOIN usuarios u ON u.id_usuario = p.id_usuario
    WHERE a.id_arrendatario = ?
    LIMIT 1
");
$stmt->bind_param("i", $id_arrendatario);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows !== 1) {
    die("No se encontraron datos para este arrendatario.");
}

$data = $result->fetch_assoc();

/* ===============================
   CONSULTA ACOMPAÑANTES
================================ */
$stmt_acomp = $conn->prepare("
    SELECT nombre, rut
    FROM acompanantes
    WHERE id_arrendatario = ?
");
$stmt_acomp->bind_param("i", $id_arrendatario);
$stmt_acomp->execute();
$result_acomp = $stmt_acomp->get_result();

/* ===============================
   CREAR PDF
================================ */
$pdf = new Fpdi();

// PDF base
$templateFile = 'EDITAR_PDF/Editar_PDF_CON_FPDI-master/Files_Pdf/Ficha_arrendatario_lagunamar_6.pdf';
$pageCount    = $pdf->setSourceFile($templateFile);

/* ---------- Página 1 ---------- */
$templateId = $pdf->importPage(1);
$pdf->AddPage();
$pdf->useTemplate($templateId);

/* ===============================
   VARIABLES AUXILIARES
================================ */
$direccionDpto = utf8_decode(
    'Dirección Depto: Condominio Lagunamar Las Cruces, 2200 Lincoln Norte, Las Cruces, El Tabo, Valparaíso.'
);

$visitas      = utf8_decode("Autorizado para recibir visitas: ") . $data['autorizado_visitas'];
$propietario  = utf8_decode("Propietario(a): ") . $data['propietario_nombre'];
$titulo       = utf8_decode("FICHA ARRENDATARIO");

$numeroDpto   = $data['numero_departamento'];
$piso         = substr($numeroDpto, 1, 2);

/* ===============================
   ESCRITURA PDF – PÁGINA 1
================================ */
$pdf->SetFont('Arial', 'B', 15);
$pdf->SetXY(77, 16);
$pdf->Write(9, $titulo);

$pdf->SetFont('Arial', 'B', 9);
$pdf->SetXY(78, 20);
$pdf->Write(9, $propietario);

$pdf->SetFont('Arial', 'B', 11);
$pdf->SetXY(61, 32.5);
$pdf->Write(10, utf8_decode($data['arrendatario_nombre']));

$pdf->SetFont('Arial', 'B', 10);
$pdf->SetXY(140, 32.5);
$pdf->Write(10, utf8_decode($data['arrendatario_rut']));

$pdf->SetFont('Arial', 'B', 11);
$pdf->SetXY(40, 42.5);
$pdf->Write(10, utf8_decode($data['direccion']));

$pdf->SetFont('Arial', 'B', 10);
$pdf->SetXY(140, 53);
$pdf->Write(10, utf8_decode($data['celular']));

$pdf->SetXY(58, 63);
$pdf->Write(10, utf8_decode($data['email']));

$pdf->SetXY(58, 76);
$pdf->Write(10, $dias);

$pdf->SetXY(116, 77);
$pdf->Write(8, utf8_decode($numeroDpto) . ' Piso ' . $piso);

$pdf->SetFont('Arial', 'B', 12);
$pdf->SetXY(182, 76.5);
$pdf->Write(10, utf8_decode($data['estacionamiento']));

$pdf->SetFont('Arial', 'B', 10);
$pdf->SetXY(32, 87);
$pdf->Write(10, date("d-m-Y", strtotime($data['fecha_inicio'])));

$pdf->SetXY(80, 87);
$pdf->Write(10, date("d-m-Y", strtotime($data['fecha_salida'])));

$pdf->SetXY(17, 97);
$pdf->Write(9, $visitas);

$pdf->SetXY(18, 262);
$pdf->Write(10, $direccionDpto);

$pdf->SetXY(55, 197);
$pdf->Write(10, utf8_decode($data['patente_vehiculo']));

$pdf->SetXY(55, 217);
$pdf->Write(10, date("H:i", strtotime($data['hora_ingreso'])));

$pdf->SetXY(55, 234.5);
$pdf->Write(10, date("H:i", strtotime($data['hora_salida'])));

/* ---------- Acompañantes ---------- */
$y = 126;
while ($acom = $result_acomp->fetch_assoc()) {
    $pdf->SetXY(27, $y);
    $pdf->Write(6, utf8_decode($acom['nombre']));
    $pdf->SetXY(120, $y);
    $pdf->Write(6, utf8_decode($acom['rut']));
    $y += 8;
}

/* ---------- Página 2 ---------- */
$pdf->AddPage();
$templateId2 = $pdf->importPage(2);
$pdf->useTemplate($templateId2);

/* ===============================
   DESCARGA FORZADA DEL PDF
================================ */
$nombreArchivo = 'Ficha_Arriendo_' . utf8_decode($data['arrendatario_nombre']) . '.pdf';

$pdf->Output($nombreArchivo, 'I');
exit;
