<?php
// --- Auth gate: PDF standalone, sin sesión no se sirve ---
if (session_status() !== PHP_SESSION_ACTIVE) { @session_start(); }
if (empty($_SESSION['user_id'])) { header('Location: index.php?view=login'); exit; }
// --- end auth gate ---
/**
 * Standalone PDF generator for Cartas/Convenios/Informes module
 */
define('ROOT', dirname(__FILE__));

session_start();
if (!isset($_SESSION['user_id'])) { die('Acceso denegado'); }

require_once('core/autoload.php');
Core::$root = '';
require_once('core/app/autoload.php');

$l = LetterData::getById(intval($_GET['id'] ?? 0));
if (!$l) { header('Location: ./?view=letters'); exit; }
$config = LetterConfigData::get();
if (!$config) { $config = new LetterConfigData(); }

// Etiqueta según tipo de documento
$typeLabels = array('carta'=>'CARTA','convenio'=>'CONVENIO','informe'=>'INFORME','otro'=>'DOCUMENTO');
$docLabel = $typeLabels[$l->document_type] ?? 'DOCUMENTO';

require_once('fpdf/fpdf.php');

$meses = array('January'=>'Enero','February'=>'Febrero','March'=>'Marzo','April'=>'Abril','May'=>'Mayo','June'=>'Junio','July'=>'Julio','August'=>'Agosto','September'=>'Septiembre','October'=>'Octubre','November'=>'Noviembre','December'=>'Diciembre');
$fecha = date('d') . ' de ' . strtr(date('F', strtotime($l->created_at)), $meses) . ' de ' . date('Y');

$pdf = new FPDF('P','mm','Letter');
$pdf->SetAutoPageBreak(true, 25);
$pdf->SetMargins(25, 15, 25);
$pdf->AddPage();

// === HEADER: Logo + CITE ===
$logoPath = $_SERVER['DOCUMENT_ROOT'] . '/ser/ser_logo.jpg';
if (file_exists($logoPath)) {
    $pdf->Image($logoPath, 25, 12, 24);
}
$pdf->SetY(12);
$pdf->SetFont('Helvetica', 'B', 10);
$pdf->Cell(0, 6, 'CITE: ' . utf8_decode($l->cite), 0, 1, 'R');
// Tipo de documento centrado
$pdf->SetFont('Helvetica', 'B', 14);
$pdf->Cell(0, 7, utf8_decode($docLabel), 0, 1, 'C');

// Linea separadora
$pdf->Line(25, 40, 190, 40);
$pdf->SetY(47);

// === FECHA ===
$pdf->SetFont('Helvetica', '', 11);
$pdf->Cell(0, 7, utf8_decode('La Paz, ' . $fecha), 0, 1, 'R');
$pdf->Ln(4);

// === DESTINATARIO ===
$pdf->SetFont('Helvetica', 'B', 11);
$pdf->Cell(0, 7, utf8_decode('Señor(a):'), 0, 1);
$pdf->Cell(0, 7, utf8_decode(strtoupper($l->directed_to)), 0, 1);
if (!empty($l->directed_to_cargo)) {
    $pdf->SetFont('Helvetica', 'I', 10);
    $pdf->Cell(0, 6, utf8_decode($l->directed_to_cargo), 0, 1);
}
$pdf->SetFont('Helvetica', 'B', 11);
$pdf->Cell(0, 7, utf8_decode(strtoupper($l->entity)), 0, 1);
$pdf->SetFont('Helvetica', 'I', 11);
$pdf->Cell(0, 7, 'Presente.-', 0, 1);
$pdf->Ln(3);

// === REFERENCIA ===
$pdf->SetFont('Helvetica', 'B', 11);
$pdf->Cell(0, 7, utf8_decode('Ref. ' . $l->reference), 0, 1);
$pdf->Ln(3);

// === CONTENIDO ===
$pdf->SetFont('Helvetica', '', 11);
$pdf->MultiCell(0, 6.5, utf8_decode($l->content));
$pdf->Ln(12);

// === FIRMA CENTRADA ===
$x_center = 105;
$line_width = 60;
$pdf->Line($x_center - $line_width/2, $pdf->GetY(), $x_center + $line_width/2, $pdf->GetY());
$pdf->Ln(3);
$pdf->SetFont('Helvetica', 'B', 11);
$pdf->Cell(0, 6, utf8_decode(strtoupper($l->sender)), 0, 1, 'C');
$pdf->SetFont('Helvetica', '', 10);
$pdf->Cell(0, 5, utf8_decode($l->sender_cargo), 0, 1, 'C');
$pdf->SetFont('Helvetica', '', 9);
$pdf->Cell(0, 5, utf8_decode($config->org_name), 0, 1, 'C');
if (!empty($l->sender_phone) || !empty($l->sender_email)) {
    $contact = '';
    if (!empty($l->sender_phone)) $contact .= 'Tel: ' . $l->sender_phone;
    if (!empty($l->sender_phone) && !empty($l->sender_email)) $contact .= ' | ';
    if (!empty($l->sender_email)) $contact .= $l->sender_email;
    $pdf->Cell(0, 5, utf8_decode($contact), 0, 1, 'C');
}

// === PIE DE PAGINA FIJO (desactivar auto-page-break) ===
$pdf->SetAutoPageBreak(false);
$pdf->SetY(-18);
$pdf->Line(25, $pdf->GetY(), 190, $pdf->GetY());
$pdf->Ln(2);
$pdf->SetFont('Helvetica', '', 7);
$pdf->Cell(0, 4, utf8_decode($config->org_name . ' - ' . $config->org_address), 0, 1, 'C');
$pdf->Cell(0, 4, utf8_decode('Telf.: ' . $config->org_phone . ' - ' . $config->org_email . ' - ' . $config->org_website), 0, 1, 'C');

$pdf->Output('CITE_' . $l->cite . '.pdf', 'I');
