<?php
// generate_pdf.php

// Sertakan file konfigurasi yang berisi koneksi database (gunakan PDO)
require_once 'config.php';

// Sertakan FPDF yang berada di dalam folder fpdf
require('fpdf/fpdf.php');

// Ambil parameter nama dari GET dan bersihkan
$searchName = isset($_GET['nama']) ? trim($_GET['nama']) : '';
if ($searchName === '') {
    die("Nama harus diisi!");
}

// Lakukan pencarian di database dengan metode INSTR dan case-insensitive
// Query: cari data peserta yang memiliki kemiripan nama
$stmt = $pdo->prepare("SELECT * FROM absensi WHERE INSTR(LOWER(nama), LOWER(:nama)) > 0 LIMIT 1");
$stmt->execute([':nama' => $searchName]);
$record = $stmt->fetch();

if (!$record) {
    die("Data peserta tidak ditemukan untuk pencarian: " . htmlspecialchars($searchName));
}

// Ambil data peserta dari database
$nama    = $record['nama'];
$idsurat = $record['idsurat'];

// Inisialisasi FPDF dengan orientasi Landscape untuk A4
$pdf = new FPDF('L', 'mm', 'A4');
$pdf->AddPage();

// Gunakan gambar template sebagai background sertifikat.
// Pastikan file 'template.png' ada dan berukuran 297mm x 210mm.
$pdf->Image('template.png', 0, 0, 297, 210);

// Atur warna teks hitam
$pdf->SetTextColor(0, 0, 0);

// Dapatkan lebar dan tinggi halaman
$pageWidth  = $pdf->GetPageWidth();
$pageHeight = $pdf->GetPageHeight();

// ----------------------------
// Tampilkan Nama Peserta
// ----------------------------
$pdf->SetFont('Arial', 'B', 30);  // Jika ingin menggunakan Roboto, pastikan sudah dikonversi
$namaWidth = $pdf->GetStringWidth($nama);
$xNama = ($pageWidth - $namaWidth) / 2;
// Sesuaikan posisi vertikal; ganti nilai  yNama sesuai kebutuhan desain
$yNama = $pageHeight / 2 - 25;
$pdf->SetXY($xNama, $yNama);
$pdf->Cell($namaWidth, 20, $nama, 0, 0, 'C');

// ----------------------------
// Tampilkan ID Surat di bawah Nama Peserta
// ----------------------------
$pdf->SetFont('Arial', '', 20);
$idText = "ID Surat: " . $idsurat;
$idWidth = $pdf->GetStringWidth($idText);
$xId = ($pageWidth - $idWidth) / 2;
// Tempatkan ID Surat misalnya 50 mm di bawah teks Nama Peserta; sesuaikan posisi Y jika perlu
$yId = $yNama + 20;
$pdf->SetXY($xId, $yId);
$pdf->Cell($idWidth, 10, $idText, 0, 0, 'C');

// Output PDF secara inline ke browser
$pdf->Output('I', 'sertifikat.pdf');
?>
