<?php
require 'includes/config.php';
require 'fpdf/fpdf.php';
require 'fpdf/src/autoload.php'; // FPDI

use setasign\Fpdi\Fpdi;

function numeroEnLetras($numero) {
    $formatter = new NumberFormatter("es", NumberFormatter::SPELLOUT);
    return $formatter->format($numero);
}

$codigo = $_GET['codigo'] ?? null;
if (!$codigo) {
    die("Código no proporcionado");
}

$stmt = $pdo->prepare("
    SELECT 
        a.nombre AS alumno_nombre,
        c.nombre AS curso_nombre,
        c.tipo,
        c.horas_trabajadas,
        d.fecha_emision
    FROM diplomas d
    JOIN alumnos_cursos ac ON d.alumno_curso_id = ac.id
    JOIN alumnos a ON ac.alumno_id = a.id
    JOIN cursos c ON ac.curso_id = c.id
    WHERE d.codigo_unico = ?
");
$stmt->execute([$codigo]);
$diploma = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$diploma) {
    die("Diploma no encontrado");
}

// Crear PDF
$pdf = new Fpdi();
$pdf->AddPage();
$pdf->setSourceFile('fpdf/formatodiploma.pdf');
$template = $pdf->importPage(1);
$pdf->useTemplate($template);

// Configuración
$pdf->SetFont('Helvetica', '', 16);
$pdf->SetTextColor(33, 37, 41);

// Nombre del alumno (centrado)
$pdf->SetXY(0, 80);
$pdf->SetFont('Helvetica', 'B', 22);
$pdf->Cell(210, 10, utf8_decode($diploma['alumno_nombre']), 0, 1, 'C');

// Nombre del curso
$pdf->SetFont('Helvetica', '', 16);
$pdf->SetXY(0, 100);
$pdf->Cell(210, 10, utf8_decode('Por haber acreditado el curso "' . $diploma['curso_nombre'] . '"'), 0, 1, 'C');

// Horas trabajadas (si aplica)
if ($diploma['horas_trabajadas']) {
    $pdf->SetXY(0, 110);
    $pdf->Cell(210, 10, utf8_decode('con una duración de ' . $diploma['horas_trabajadas'] . ' horas.'), 0, 1, 'C');
}

// Fecha formateada
$fecha = new DateTime($diploma['fecha_emision']);
$dia = $fecha->format('j');
$mes = $fecha->format('F');
$anio = $fecha->format('Y');

$diaLetras = numeroEnLetras($dia);
$mesTraducido = strtr(strtolower($mes), [
    'january' => 'enero', 'february' => 'febrero', 'march' => 'marzo',
    'april' => 'abril', 'may' => 'mayo', 'june' => 'junio',
    'july' => 'julio', 'august' => 'agosto', 'september' => 'septiembre',
    'october' => 'octubre', 'november' => 'noviembre', 'december' => 'diciembre'
]);

$pdf->SetXY(0, 190);
$pdf->SetFont('Helvetica', '', 14);
$pdf->Cell(210, 10, utf8_decode("Xalapa, Ver. a los {$diaLetras} días de {$mesTraducido} de {$anio}"), 0, 1, 'C');

// Salida del PDF
$pdf->Output();
