<?php
ob_start();
require 'includes/config.php';
require 'fpdf/fpdf.php';
require 'fpdf/src/autoload.php';

use setasign\Fpdi\Fpdi;

function t($txt) {
    return iconv('UTF-8', 'windows-1252//TRANSLIT', $txt);
}

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

$stmt = $pdo->prepare("
    SELECT 
        a.nombre AS alumno_nombre,
        c.nombre AS curso_nombre,
        c.tipo,
        c.horas_trabajadas,
        c.competencias,
        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) {
    ob_end_clean();
    die("Diploma no encontrado");
}

$alumno = $diploma['alumno_nombre'];
$curso = $diploma['curso_nombre'];
$tipo = $diploma['tipo'];
$horas = $diploma['horas_trabajadas'];
$competencias = $diploma['competencias'] ?? '';
$fecha = new DateTime($diploma['fecha_emision']);
$dia = str_pad($fecha->format('d'), 2, '0', STR_PAD_LEFT);
$mes = $fecha->format('m');
$anio = $fecha->format('Y');

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

$pdf->SetTextColor(33, 37, 41);

// Tratamiento
if ($tipo === 'tratamiento') {
    $pdf->SetFont('Helvetica', '', 16);
    $pdf->SetXY(0, 80);
    $pdf->Cell(210, 10, t("Otorga el presente reconocimiento"), 0, 1, 'C');

    $pdf->SetFont('Helvetica', '', 14);
    $pdf->SetXY(0, 92);
    $pdf->Cell(210, 10, t("a:"), 0, 1, 'C');

    $pdf->SetFont('Helvetica', 'I', 22);
    $pdf->SetXY(0, 102);
    $pdf->Cell(210, 10, t($alumno), 0, 1, 'C');

    $y = 120;
    $pdf->SetFont('Helvetica', '', 12);
    $textoBase = "Por haber acreditado en el curso “{$curso}”";
    if ($horas) $textoBase .= " ({$horas} horas de trabajo)";
    $pdf->SetXY(20, $y);
    $pdf->MultiCell(170, 7, t($textoBase . ",\nla evaluación de las competencias:"), 0, 'L');

    $y = $pdf->GetY() + 2;
    $pdf->SetFont('Helvetica', '', 11);
    $lineas = explode("\n", $competencias);
    foreach ($lineas as $linea) {
        $pdf->SetXY(25, $y);
        $pdf->MultiCell(160, 6, t("• " . trim($linea)), 0, 'L');
        $y = $pdf->GetY();
    }

// Inyección
} elseif ($tipo === 'inyeccion') {
    $pdf->SetFont('Helvetica', '', 16);
    $pdf->SetXY(0, 82);
    $pdf->Cell(210, 10, t("Otorga la presente"), 0, 1, 'C');

    $pdf->SetFont('Helvetica', 'B', 18);
    $pdf->SetXY(0, 95);
    $pdf->Cell(210, 10, t("CONSTANCIA"), 0, 1, 'C');

    $pdf->SetFont('Helvetica', 'I', 14);
    $pdf->SetXY(0, 106);
    $pdf->Cell(210, 10, t("a:"), 0, 1, 'C');

    $pdf->SetFont('Helvetica', '', 22);
    $pdf->SetXY(0, 116);
    $pdf->Cell(210, 10, t($alumno), 0, 1, 'C');

    $pdf->SetFont('Helvetica', '', 13);
    $pdf->SetXY(20, 135);
    $pdf->MultiCell(170, 8, t("Por su participación en la Inyección Educativa"), 0, 'C');

    $pdf->SetFont('Helvetica', 'B', 14);
    $pdf->MultiCell(170, 8, t("“{$curso}”,"), 0, 'C');

    if ($horas) {
        $pdf->SetFont('Helvetica', '', 12);
        $pdf->MultiCell(170, 8, t("con duración de {$horas} horas."), 0, 'C');
    }

// Píldoras
} elseif ($tipo === 'pildora') {
    $pdf->SetFont('Helvetica', '', 16);
    $pdf->SetXY(0, 82);
    $pdf->Cell(210, 10, t("Otorga la presente"), 0, 1, 'C');

    $pdf->SetFont('Helvetica', 'B', 18);
    $pdf->SetXY(0, 95);
    $pdf->Cell(210, 10, t("CONSTANCIA"), 0, 1, 'C');

    $pdf->SetFont('Helvetica', 'I', 14);
    $pdf->SetXY(0, 106);
    $pdf->Cell(210, 10, t("a:"), 0, 1, 'C');

    $pdf->SetFont('Helvetica', '', 22);
    $pdf->SetXY(0, 116);
    $pdf->Cell(210, 10, t($alumno), 0, 1, 'C');

    $pdf->SetFont('Helvetica', '', 13);
    $pdf->SetXY(20, 135);
    $pdf->MultiCell(170, 8, t("Por su asistencia a la píldora educativa"), 0, 'C');

    $pdf->SetFont('Helvetica', 'B', 14);
    $pdf->MultiCell(170, 8, t("“{$curso}”"), 0, 'C');

    if ($horas) {
        $pdf->SetFont('Helvetica', '', 12);
        $pdf->MultiCell(170, 8, t("con duración de {$horas} horas."), 0, 'C');
    }
}

$pdf->SetFont('Helvetica', 'B', 12);
$pdf->SetXY(0, 245);
$pdf->Cell(210, 10, t("Dr. Juan Manuel Gutiérrez Méndez"), 0, 1, 'C');
$pdf->SetFont('Helvetica', '', 11);
$pdf->Cell(210, 6, t("Director de Proyectos"), 0, 1, 'C');

$pdf->SetFont('Helvetica', 'I', 10);
$pdf->SetXY(0, 268);
$pdf->Cell(210, 6, t("Se expide en la ciudad de Xalapa, Ver., a los {$dia} días de {$mes} de {$anio}"), 0, 1, 'C');

ob_end_clean();
$pdf->Output();
