<?php
namespace App\Controllers;

use Core\Controller;
use Core\Database;
use FPDF;

require_once __DIR__ . '/../libraries/fpdf/fpdf.php';

class PDF extends FPDF
{
    function Header()
    {
        $this->Image('assets/img/kop_surat.jpg', 3, 3, 205);
        $this->Ln(40);
    }
}

class PDFHasilTPMBController extends Controller
{
    public function downloadHasil()
    {
        // Cek apakah form dikirim via POST dengan key 'tanggal'
        if (isset($_POST['tanggal']) && !empty($_POST['tanggal'])) {
            $tanggal = $_POST['tanggal'];

            $db = new Database();
            $conn = $db->getConnection();

            $sql = "SELECT 
						p.nama_camaba, p.nisn, p.asal_sekolah, u.skor 
					FROM 
						tb_ujiantpmb u
					INNER JOIN 
						tb_pmb p ON u.nisn = p.nisn
					WHERE 
						p.tanggal = :tanggal";

            $stmt = $conn->prepare($sql);
            $stmt->execute(['tanggal' => $tanggal]);
            $hasil_tes = $stmt->fetchAll(\PDO::FETCH_ASSOC);

            // Mulai buat PDF
            $pdf = new PDF();
            $pdf->AddPage();
            $pdf->SetFont('Arial', 'B', 14);
            $pdf->Cell(0, 10, 'Hasil Tes CBT Penerimaan Mahasiswa Baru', 0, 1, 'C');
            $pdf->Ln(5);
            $pdf->SetFont('Arial', '', 12);
            $pdf->Cell(0, 10, 'Tanggal: ' . $tanggal, 0, 1);
            $pdf->Ln(5);

            if (!empty($hasil_tes)) {
                // Header tabel
                $pdf->SetFont('Arial', 'B', 12);
                $pdf->Cell(10, 10, 'No', 1, 0, 'C'); 
                $pdf->Cell(70, 10, 'Nama', 1, 0, 'C');
                $pdf->Cell(25, 10, 'NISN', 1, 0, 'C');
                $pdf->Cell(80, 10, 'Asal Sekolah', 1, 0, 'C');
                $pdf->Cell(10, 10, 'Skor', 1, 0, 'C');
                $pdf->Ln();

                // Isi tabel
                $pdf->SetFont('Arial', '', 12);
                $no = 1;
                foreach ($hasil_tes as $row) {
                    $pdf->Cell(10, 10, $no++, 1);
                    $pdf->Cell(70, 10, $row['nama_camaba'], 1);
                    $pdf->Cell(25, 10, $row['nisn'], 1);
                    $pdf->SetFont('Arial', '', 8);
                    $pdf->Cell(80, 10, $row['asal_sekolah'], 1);
                    $pdf->SetFont('Arial', '', 12);
                    $pdf->Cell(10, 10, $row['skor'], 1);
                    $pdf->Ln();
                }
            } else {
                $pdf->SetFont('Arial', 'I', 12);
                $pdf->Cell(0, 10, 'Tidak ada data untuk hasil tes PMB ini.', 0, 1, 'C');
            }

            // Output file PDF, pastikan tidak ada output sebelumnya!
            $pdf->Output('I', 'hasil_pmb.pdf');
            exit; // hentikan script setelah output PDF
        } else {
            // Jika tidak ada tanggal dari form POST, redirect atau tampilkan pesan error
            echo "Parameter tanggal tidak ditemukan.";
            exit;
        }
    }
}
