<?php
session_start();
if (!isset($_SESSION['usuario']) || !isset($_SESSION['token'])) {
    header("Location: index.html");
    exit;
}

require 'conexion.php';
require 'fpdf/fpdf_protection.php';

// 📌 Clase personalizada con encabezado y pie de página
class PDF extends FPDF_Protection
{
    // Encabezado
    function Header()
    {
        // Marca de agua (imagen centrada)
        $this->Image('imagenes/logo_marca.png', 30, 60, 170, 0, 'PNG'); 
        // Parámetros: ruta, X, Y, ancho, alto=0 (auto), tipo
 
        // Encabezado alineado a la derecha
        $this->SetFont('Arial', 'B', 9);
        $this->SetTextColor(255, 0, 0); // Rojo puro
        $this->Cell(0, 5, utf8_decode('SIMULADOR SIAPOL - Cel: 920053836'), 0, 1, 'R');
        $this->SetTextColor(0, 0, 0); // Regresar a negro para el resto
        //$this->Ln(3); // Espacio debajo del encabezado

        // 🔹 Línea horizontal
        $this->Ln(2);
        $this->SetDrawColor(0, 0, 0);
        $this->SetLineWidth(0.3);
        $this->Line(20, $this->GetY(), 190, $this->GetY());
        $this->Ln(5);
    }

    // Pie de página
    function Footer()
    {
        // 🔹 Línea horizontal antes del pie
        $this->SetY(-20);
        $this->SetDrawColor(0, 0, 0);
        $this->SetLineWidth(0.3);
        $this->Line(20, $this->GetY(), 190, $this->GetY());

        // 🔹 Número de página
        $this->SetY(-15); // Posición 1.5 cm desde el borde inferior
        $this->SetFont('Arial', 'I', 8);
        $this->Cell(0, 10, utf8_decode('Página ' . $this->PageNo() . '/{nb}'), 0, 0, 'C');
    }
}

if (!isset($_GET['materia_id']) || empty($_GET['materia_id'])) {
    die("Materia no especificada.");
}

$materia_id = $_GET['materia_id'];

// 🔹 Consulta SQL
$sql = $conn->prepare("
    SELECT m.nom_materia, p.pregunta, p.correcta_rpta, 
           p.opcion1, p.opcion2, p.opcion3, p.opcion4, p.opcion5
    FROM Materias m
    INNER JOIN Preguntas p ON p.materia_id = m.cod_materia
    WHERE m.cod_materia = ?
    ORDER BY p.id ASC
");
$sql->bind_param("s", $materia_id);
$sql->execute();
$result = $sql->get_result();

if ($result->num_rows === 0) {
    die("No se encontraron preguntas para esta materia.");
}

$preguntas = $result->fetch_all(MYSQLI_ASSOC);
$nombreMateria = $preguntas[0]['nom_materia'];

// 📄 Crear PDF
$pdf = new PDF();

$pdf->AliasNbPages(); // Para total de páginas
$pdf->SetMargins(20, 10, 10);
$pdf->AddPage();
$pdf->SetFont('Arial', 'B', 14);

// Títulos
$pdf->Cell(0, 7, utf8_decode('SIMULADOR SIAPOL'), 0, 1, 'C');
$pdf->SetFont('Arial', '', 12);
$pdf->Cell(0, 6, utf8_decode('BANCO DE PREGUNTAS 2025'), 0, 1, 'C');
$pdf->SetFont('Arial', 'B', 11);
$pdf->MultiCell(0, 6, utf8_decode($nombreMateria), 0, 'C');
$pdf->Ln(3);

// 📌 Preguntas justificadas
$pdf->SetFont('Arial', '', 9);
foreach ($preguntas as $preg) {
    $pdf->MultiCell(0, 4, utf8_decode($preg['pregunta']), 0, 'J');

    $opcionCorrecta = 'opcion' . intval($preg['correcta_rpta']);
    if (!empty($preg[$opcionCorrecta])) {
        $pdf->SetFont('Arial', 'I', 8);
        $pdf->MultiCell(0, 4, utf8_decode('Respuesta: ' . $preg[$opcionCorrecta]), 0, 'J');
        $pdf->SetFont('Arial', '', 9);
    }

    $pdf->Ln(1);
}

$pdf->Output('I', 'Banco_Preguntas_' . $nombreMateria . '.pdf');
?>
