<?php
require_once '../config/database.php'; // Include the database connection
require_once '../vendor/autoload.php'; // Assume dompdf is installed in the project via composer or manually

use Dompdf\Options;
use Dompdf\Dompdf;

$options = new Options();
$options->set('isRemoteEnabled', true); // WAJIB kalau pakai URL
$dompdf = new Dompdf($options);

// Get id_siswa from GET parameter (e.g., cetak_pdf.php?id=1)
$id_siswa = isset($_GET['id']) ? intval($_GET['id']) : 0;

if ($id_siswa <= 0) {
    die("ID Siswa tidak valid.");
}

// Query active tahun ajaran to ensure the student is from active year
$active_ta_query = mysqli_query($conn, "SELECT id_tahunajaran FROM bind_tahunajaran WHERE aktif = TRUE LIMIT 1");
$active_ta = mysqli_fetch_assoc($active_ta_query);
$active_id_ta = $active_ta ? $active_ta['id_tahunajaran'] : 0;

// Fetch siswa data, ensure it's from active tahun ajaran
$siswa_query = mysqli_query($conn, "SELECT * FROM bind_siswa WHERE id_siswa = $id_siswa AND id_tahunajaran = $active_id_ta");
$siswa = mysqli_fetch_assoc($siswa_query);

if (!$siswa) {
    die("Data siswa tidak ditemukan atau bukan dari tahun ajaran aktif.");
}

// Fetch other data
$pendidikan_query = mysqli_query($conn, "SELECT * FROM bind_pendidikan_siswa WHERE id_siswa = $id_siswa");
$pendidikan = mysqli_fetch_assoc($pendidikan_query);

$ayah_query = mysqli_query($conn, "SELECT * FROM bind_orang_tua WHERE id_siswa = $id_siswa AND hubungan = 'Ayah'");
$ayah = mysqli_fetch_assoc($ayah_query);

$ibu_query = mysqli_query($conn, "SELECT * FROM bind_orang_tua WHERE id_siswa = $id_siswa AND hubungan = 'Ibu'");
$ibu = mysqli_fetch_assoc($ibu_query);

$wali_query = mysqli_query($conn, "SELECT * FROM bind_orang_tua WHERE id_siswa = $id_siswa AND hubungan = 'Wali'");
$wali = mysqli_fetch_assoc($wali_query);

$perkembangan_query = mysqli_query($conn, "SELECT * FROM bind_perkembangan_siswa WHERE id_siswa = $id_siswa");
$perkembangan = mysqli_fetch_assoc($perkembangan_query);

$beasiswa_query = mysqli_query($conn, "SELECT * FROM bind_beasiswa_siswa WHERE id_siswa = $id_siswa");
$beasiswa_list = [];
while ($beasiswa = mysqli_fetch_assoc($beasiswa_query)) {
    $beasiswa_list[] = $beasiswa['nama_beasiswa'] . ' (' . $beasiswa['penyelenggara'] . ', ' . $beasiswa['tahun_mulai'] . ' - ' . $beasiswa['tahun_selesai'] . ')';
}
$beasiswa_str = implode('; ', $beasiswa_list);

$prestasi_query = mysqli_query($conn, "SELECT * FROM bind_prestasi_siswa WHERE id_siswa = $id_siswa");
$prestasi_list = [];
while ($prestasi = mysqli_fetch_assoc($prestasi_query)) {
    $prestasi_list[] = $prestasi['nama_prestasi'] . ' (' . $prestasi['jenis'] . ', ' . $prestasi['tingkat'] . ', ' . $prestasi['tahun'] . ')';
}
$prestasi_str = implode('; ', $prestasi_list);

// Function to get kegemaran by kategori
function get_kegemaran($conn, $id_siswa, $kategori) {
    $query = mysqli_query($conn, "SELECT nama_kegemaran FROM bind_siswa_kegemaran WHERE id_siswa = $id_siswa AND kategori = '$kategori'");
    $list = [];
    while ($row = mysqli_fetch_assoc($query)) {
        $list[] = $row['nama_kegemaran'];
    }
    return implode(', ', $list);
}

$kesenian = get_kegemaran($conn, $id_siswa, 'Kesenian');
$olahraga = get_kegemaran($conn, $id_siswa, 'Olahraga');
$organisasi = get_kegemaran($conn, $id_siswa, 'Organisasi');
$lainnya = get_kegemaran($conn, $id_siswa, 'Lainnya');

// Compute yatim/piatu
$status_yatim = '';
if ($ayah && $ibu) {
    if ($ayah['status_hidup'] == 'Meninggal' && $ibu['status_hidup'] == 'Meninggal') {
        $status_yatim = 'Yatim Piatu';
    } elseif ($ayah['status_hidup'] == 'Meninggal') {
        $status_yatim = 'Yatim';
    } elseif ($ibu['status_hidup'] == 'Meninggal') {
        $status_yatim = 'Piatu';
    }
}

// Assume photo paths are relative to BASE_URL, e.g., uploads/foto.jpg
//$foto_masuk = $siswa['foto_masuk'] ? BASE_URL . $siswa['foto_masuk'] : '';
$foto_masuk = !empty($siswa['foto_masuk']) 
    ? 'file:///' . realpath(__DIR__ . '/uploads/foto-masuk/' . $siswa['foto_masuk']) 
    : '';
$foto_lulus = $perkembangan['foto_lulus'] ? BASE_URL . $perkembangan['foto_lulus'] : '';

// $prestasi_array = array_map('trim', explode(',', $prestasi_str));
// $prestasi_html = '<ol>';
// foreach ($prestasi_array as $p) {
//     if (!empty($p)) {
//         $prestasi_html .= '<li>' . htmlspecialchars($p) . '</li>';
//     }
// }
// $prestasi_html .= '</ol>';

//menampilkan beasiswa
$id_siswa = $siswa['id_siswa']; 
$beasiswa_html = '-'; // default kalau tidak ada

$sql = "SELECT nama_beasiswa, penyelenggara, tahun_mulai, tahun_selesai
        FROM bind_beasiswa_siswa
        WHERE id_siswa = $id_siswa
        ORDER BY tahun_mulai ASC";

$q = $conn->query($sql);

if ($q->num_rows > 0) {
    $beasiswa_html = '<ul style="margin:0; padding-left:15px;">';
    while ($row = $q->fetch_assoc()) {
        $teks = $row['nama_beasiswa'] . ' - ' . $row['penyelenggara'] . 
                ' (' . $row['tahun_mulai'] . ' - ' . $row['tahun_selesai'] . ')';
        $beasiswa_html .= '<li>' . htmlspecialchars($teks) . '</li>';
    }
    $beasiswa_html .= '</ul>';
}

//menampilkan prestasi
$id_siswa = $siswa['id_siswa']; 
$prestasi_html = '-'; // default kalau tidak ada prestasi

$sql = "SELECT jenis, tingkat, nama_prestasi, tahun, keterangan 
        FROM bind_prestasi_siswa 
        WHERE id_siswa = $id_siswa 
        ORDER BY tahun ASC";

$q = $conn->query($sql);

if ($q->num_rows > 0) {
    //$prestasi_html = '<ul>';
    $prestasi_html = '<ul style="margin:0; padding-left:15px;">';
    while ($row = $q->fetch_assoc()) {
        // Formatkan teks prestasi sesuai kebutuhan
        $teks = $row['jenis'] . ' - ' . $row['tingkat'] . 
                ' - ' . $row['nama_prestasi'] . 
                ' (' . $row['tahun'] . ')';
        if (!empty($row['keterangan'])) {
            $teks .= ' - ' . $row['keterangan'];
        }

        $prestasi_html .= '<li>' . htmlspecialchars($teks) . '</li>';
    }
    $prestasi_html .= '</ul>';
}



// Build HTML
$html = '
<html>
<head>
    <style>
        @page { size: A4; margin: 15mm; }
        body { font-family: Arial, sans-serif; font-size: 9pt; line-height: 1; }
        .container { column-count: 2; column-gap: 20px; orphans: 3; widows: 3; }
        .section { margin-bottom: 10px; page-break-inside: avoid; }
        .photo { border: 1px solid green; width: 60px; height: 80px; text-align: center; margin: 5px auto; font-size: 8pt; }
        .photo img { max-width: 100%; max-height: 70%; }
        h2 { font-size: 14pt; margin-bottom: 2px; }
        h3 { font-size: 11pt; margin-bottom: 5px; }
        .nis { text-align: center; font-size: 11pt; margin-bottom: 10px; }
        table.data-table { width: 100%; border-collapse: collapse; }
       /* table.data-table td { padding: 2px; vertical-align: top; border: 1px solid #000;} */
        table.data-table td { padding: 2px; vertical-align: top;}
        table.data-table td:nth-child(1) { width: 5%; text-align: center;  }
        table.data-table td:nth-child(2) { width: 45%; }
        table.data-table td:nth-child(3) { width: 2%; vertical-align: top;}
        table.data-table td:nth-child(4) { width: 45%; word-break: break-word; }
    </style>
</head>
<body>
    <h2 style="text-align: center;">BUKU INDUK PESERTA DIDIK</h2>
    <div class="nis">NISN: ' . ($siswa['nisn'] ?? '') . '  / NIS: ' . ($siswa['nis'] ?? '') . ' </div>
    <div class="container">
        <div class="section">
            <h3>A. KETERANGAN TENTANG PESERTA DIDIK</h3>
            <table class="data-table">
                <tr><td>1.</td><td>Nama Lengkap Peserta Didik</td><td>:</td><td>' . ($siswa['nama_lengkap'] ?? '') . '</td></tr>
                <tr><td></td><td>Nama Panggilan</td><td>:</td><td>' . ($siswa['nama_panggilan'] ?? '') . '</td></tr>
                <tr><td>2.</td><td>Jenis Kelamin</td><td>:</td><td>' . ($siswa['jenis_kelamin'] == 'L' ? 'Laki-laki' : 'Perempuan') . '</td></tr>
                <tr><td>3.</td><td>Tempat dan tanggal Lahir</td><td>:</td><td>' . ($siswa['tempat_lahir'] ?? '') . ', ' . ($siswa['tanggal_lahir'] ?? '') . '</td></tr>
                <tr><td>4.</td><td>Agama</td><td>:</td><td>' . ($siswa['agama'] ?? '') . '</td></tr>
                <tr><td>5.</td><td>Kewarganegaraan</td><td>:</td><td>' . ($siswa['kewarganegaraan'] ?? '') . '</td></tr>
                <tr><td>6.</td><td>Anak keberapa</td><td>:</td><td>' . ($siswa['anak_ke'] ?? '') . '</td></tr>
                <tr><td>7.</td><td>Jumlah saudara kandung</td><td>:</td><td>' . ($siswa['jumlah_saudara_kandung'] ?? '') . '</td></tr>
                <tr><td>8.</td><td>Jumlah saudara tiri</td><td>:</td><td>' . ($siswa['jumlah_saudara_tiri'] ?? '') . '</td></tr>
                <tr><td>9.</td><td>Jumlah saudara angkat</td><td>:</td><td>' . ($siswa['jumlah_saudara_angkat'] ?? '') . '</td></tr>
                <tr><td>10.</td><td>Anak yatim/piatu/yatim piatu</td><td>:</td><td>' . $status_yatim . '</td></tr>
                <tr><td>11.</td><td>Bahasa sehari-hari di rumah</td><td>:</td><td>' . ($siswa['bahasa_sehari_hari'] ?? '') . '</td></tr>
            </table>
        </div>
        <div class="section">
            <h3>B. KETERANGAN TEMPAT TINGGAL</h3>
            <table class="data-table">
                <tr><td>12.</td><td>Alamat</td><td>:</td><td>' . ($siswa['alamat'] ?? '') . '</td></tr>
                <tr><td>13.</td><td>Nomor Telpon /HP</td><td>:</td><td>' . ($siswa['no_hp'] ?? '') . '</td></tr>
                <tr><td>14.</td><td>Tinggal dengan Orang Tua/Saudara/di Asrama / Kost</td><td>:</td><td>' . ($siswa['tinggal_dengan'] ?? '') . '</td></tr>
                <tr><td>15.</td><td>Jarak Tempat Tinggal ke sekolah</td><td>:</td><td>' . ($siswa['jarak_ke_sekolah'] ?? '') . '</td></tr>
            </table>
        </div>
        <div class="section">
            <h3>C. KETERANGAN KESEHATAN</h3>
            <table class="data-table">
                <tr><td>16.</td><td>Golongan Darah</td><td>:</td><td>' . ($siswa['golongan_darah'] ?? '') . '</td></tr>
                <tr><td>17.</td><td>Penyakit yang Pernah Diderita</td><td>:</td><td>' . ($siswa['riwayat_penyakit'] ?? '') . '</td></tr>
                <tr><td>18.</td><td>Kelainan Jasmani</td><td>:</td><td>' . ($siswa['kelainan_jasmani'] ?? '') . '</td></tr>
                <tr><td>19.</td><td>Tinggi dan berat badan (Saat diterima disekolah ini)</td><td>:</td><td>' . ($siswa['tinggi_cm'] ?? '') . ' cm / ' . ($siswa['berat_kg'] ?? '') . ' kg</td></tr>
            </table>
        </div>
        <div class="section">
            <h3>D. KETERANGAN PENDIDIKAN</h3>
            <table class="data-table">
                <tr><td>20.</td><td>Pendidikan Sebelumnya</td><td></td><td></td></tr>
                <tr><td></td><td>a. Tamatan dari</td><td>:</td><td>' . ($pendidikan['asal_sekolah'] ?? '') . '</td></tr>
                <tr><td></td><td>b. Tanggal dan No. STTB</td><td>:</td><td>' . ($pendidikan['tgl_sttb'] ?? '') . ' / ' . ($pendidikan['no_sttb'] ?? '') . '</td></tr>
                <tr><td></td><td>c. Tanggal dan Nomor SKHUN</td><td>:</td><td>' . ($pendidikan['tgl_skhun'] ?? '') . ' / ' . ($pendidikan['no_skhun'] ?? '') . '</td></tr>
                <tr><td></td><td>d. Lamanya Belajar</td><td>:</td><td>' . ($pendidikan['lama_belajar'] ?? '') . '</td></tr>
                <tr><td>21.</td><td>Pindahan</td><td></td><td></td></tr>
                <tr><td></td><td>a. Dari sekolah</td><td>:</td><td>' . ($pendidikan['pindahan_dari'] ?? '') . '</td></tr>
                <tr><td></td><td>b. Alasan</td><td>:</td><td>' . ($pendidikan['alasan_pindah'] ?? '') . '</td></tr>
                <tr><td>22.</td><td>Diterima di Sekolah ini</td><td></td><td></td></tr>
                <tr><td></td><td>a. Di Kelas</td><td>:</td><td>' . ($pendidikan['diterima_di_kelas'] ?? '') . '</td></tr>
                <tr><td></td><td>b. Paket</td><td>:</td><td>' . ($pendidikan['paket'] ?? '') . '</td></tr>
                <tr><td></td><td>c. Tanggal/Bulan/Tahun</td><td>:</td><td>' . ($pendidikan['tanggal_diterima'] ?? '') . '</td></tr>
            </table>
        </div>
        <div class="section">
            <h3>E. KETERANGAN TENTANG AYAH KANDUNG</h3>
            <table class="data-table">
                <tr><td>23.</td><td>Nama Lengkap</td><td>:</td><td>' . ($ayah['nama'] ?? '') . '</td></tr>
                <tr><td>24.</td><td>Tempat dan tanggal Lahir</td><td>:</td><td>' . ($ayah['tempat_lahir'] ?? '') . ', ' . ($ayah['tanggal_lahir'] ?? '') . '</td></tr>
                <tr><td>25.</td><td>Agama</td><td>:</td><td>' . ($ayah['agama'] ?? '') . '</td></tr>
                <tr><td>26.</td><td>Kewarganegaraan</td><td>:</td><td>' . ($ayah['kewarganegaraan'] ?? '') . '</td></tr>
                <tr><td>27.</td><td>Pendidikan Terakhir</td><td>:</td><td>' . ($ayah['pendidikan_terakhir'] ?? '') . '</td></tr>
                <tr><td>28.</td><td>Pekerjaan</td><td>:</td><td>' . ($ayah['pekerjaan'] ?? '') . '</td></tr>
                <tr><td>29.</td><td>Penghasilan per Bulan</td><td>:</td><td>' . ($ayah['penghasilan_bulanan'] ?? '') . '</td></tr>
                <tr><td>30.</td><td>Alamat Rumah/Nomor Telp./Hp</td><td>:</td><td>' . ($ayah['alamat'] ?? '') . ' / ' . ($ayah['no_hp'] ?? '') . '</td></tr>
                <tr><td>31.</td><td>Masih Hidup/Meninggal Dunia</td><td>:</td><td>' . ($ayah['status_hidup'] ?? '') . '</td></tr>
            </table>
        </div>
      <!--  <div class="photo">
            Foto<br>Saat<br>diterima<br>
            ' . ($foto_masuk ? '<img src="' . $foto_masuk . '">' : '') . '
        </div> -->
        <div class="section">
            <h3>F. KETERANGAN TENTANG IBU KANDUNG</h3>
            <table class="data-table">
                <tr><td>32.</td><td>Nama Lengkap</td><td>:</td><td>' . ($ibu['nama'] ?? '') . '</td></tr>
                <tr><td>33.</td><td>Tempat dan Tanggal Lahir</td><td>:</td><td>' . ($ibu['tempat_lahir'] ?? '') . ', ' . ($ibu['tanggal_lahir'] ?? '') . '</td></tr>
                <tr><td>34.</td><td>Agama</td><td>:</td><td>' . ($ibu['agama'] ?? '') . '</td></tr>
                <tr><td>35.</td><td>Kewarganegaraan</td><td>:</td><td>' . ($ibu['kewarganegaraan'] ?? '') . '</td></tr>
                <tr><td>36.</td><td>Pendidikan Terakhir</td><td>:</td><td>' . ($ibu['pendidikan_terakhir'] ?? '') . '</td></tr>
                <tr><td>37.</td><td>Pekerjaan</td><td>:</td><td>' . ($ibu['pekerjaan'] ?? '') . '</td></tr>
                <tr><td>38.</td><td>Penghasilan per Bulan</td><td>:</td><td>' . ($ibu['penghasilan_bulanan'] ?? '') . '</td></tr>
                <tr><td>39.</td><td>Alamat Rumah/Nomor Telp. /HP</td><td>:</td><td>' . ($ibu['alamat'] ?? '') . ' / ' . ($ibu['no_hp'] ?? '') . '</td></tr>
                <tr><td>40.</td><td>Masih Hidup/Meninggal Dunia</td><td>:</td><td>' . ($ibu['status_hidup'] ?? '') . '</td></tr>
            </table>
        </div>
        <div class="section">
            <h3>G. KETERANGAN TENTANG WALI</h3>
            <table class="data-table">
                <tr><td>41.</td><td>Nama Lengkap</td><td>:</td><td>' . ($wali['nama'] ?? '') . '</td></tr>
                <tr><td>42.</td><td>Tempat dan tanggal Lahir</td><td>:</td><td>' . ($wali['tempat_lahir'] ?? '') . ', ' . ($wali['tanggal_lahir'] ?? '') . '</td></tr>
                <tr><td>43.</td><td>Agama</td><td>:</td><td>' . ($wali['agama'] ?? '') . '</td></tr>
                <tr><td>44.</td><td>Kewarganegaraan</td><td>:</td><td>' . ($wali['kewarganegaraan'] ?? '') . '</td></tr>
                <tr><td>45.</td><td>Pendidikan Terakhir</td><td>:</td><td>' . ($wali['pendidikan_terakhir'] ?? '') . '</td></tr>
                <tr><td>46.</td><td>Pekerjaan</td><td>:</td><td>' . ($wali['pekerjaan'] ?? '') . '</td></tr>
                <tr><td>47.</td><td>Penghasilan per Bulan</td><td>:</td><td>' . ($wali['penghasilan_bulanan'] ?? '') . '</td></tr>
                <tr><td>48.</td><td>Alamat Rumah /No. Telp./HP</td><td>:</td><td>' . ($wali['alamat'] ?? '') . ' / ' . ($wali['no_hp'] ?? '') . '</td></tr>
            </table>
        </div>
        <div class="section">
            <h3>H. KEGEMARAN PESERTA DIDIK</h3>
            <table class="data-table">
                <tr><td>49.</td><td>Kesenian</td><td>:</td><td>' . $kesenian . '</td></tr>
                <tr><td>50.</td><td>Olahraga</td><td>:</td><td>' . $olahraga . '</td></tr>
                <tr><td>51.</td><td>Kemasyarakatan/Organisasi</td><td>:</td><td>' . $organisasi . '</td></tr>
                <tr><td>52.</td><td>Lain-Lain</td><td>:</td><td>' . $lainnya . '</td></tr>
            </table>
        </div>
       <!-- <div class="photo">
            Foto<br>Saat<br>keluar<br>
            ' . ($foto_lulus ? '<img src="' . $foto_lulus . '">' : '') . '
        </div> -->
        
        <div class="section">
            <h3>I. KETERANGAN PERKEMBANGAN PESERTA DIDIK</h3>
            <table class="data-table">
               <!-- <tr><td>53.</td><td>Menerima Bea Siswa</td><td>:</td><td>' . $beasiswa_str . '</td></tr> -->
               <tr>
                    <td>53.</td>
                    <td>Menerima Beasiswa</td>
                    <td>:</td>
                    <td style="text-align:left; vertical-align:top;">' . $beasiswa_html . '</td>
                </tr>
                <tr><td>54.</td><td>Meninggalkan sekolah ini</td><td></td><td></td></tr>
                <tr><td></td><td>a. Tanggal meninggalkan sekolah</td><td>:</td><td>' . ($perkembangan['tanggal_keluar'] ?? '') . '</td></tr>
                <tr><td></td><td>b. Alasan</td><td>:</td><td>' . ($perkembangan['alasan_keluar'] ?? '') . '</td></tr>
                <tr><td>55.</td><td>Akhir pendidikan</td><td></td><td></td></tr>
                <tr><td></td><td>a. Lulus</td><td>:</td><td>' . ($perkembangan['lulus'] ? 'Ya' : 'Tidak') . '</td></tr>
                <tr><td></td><td>b. Nomor / Tanggal Ijasah</td><td>:</td><td>' . ($perkembangan['no_ijazah'] ?? '') . ' / ' . ($perkembangan['tgl_ijazah'] ?? '') . '</td></tr>
                <tr><td></td><td>c. Nomor / Tanggal SKHUN</td><td>:</td><td>' . ($perkembangan['no_skhun'] ?? '') . ' / ' . ($perkembangan['tgl_skhun'] ?? '') . '</td></tr>
               <!-- <tr><td>56.</td><td>Prestasi</td><td>:</td><td>' . $prestasi_str . '</td></tr> -->
                <tr>
                    <td>56.</td>
                    <td>Prestasi</td>
                    <td>:</td>
                    <td>' . $prestasi_html . '</td>
                </tr>
            </table>
        </div>
      <!--  <div class="section">
            <h3>J. KETERANGAN SETELAH SELESAI PENDIDIKAN</h3>
            <table class="data-table">
                <tr><td>57.</td><td>Melanjutkan ke</td><td>:</td><td></td></tr>
                <tr><td>58.</td><td>Bekerja di</td><td></td><td></td></tr>
                <tr><td></td><td>a. Tanggal mulai bekerja</td><td>:</td><td></td></tr>
                <tr><td></td><td>b. Nama Perusahaan /Lembaga</td><td>:</td><td></td></tr>
                <tr><td></td><td>c. Penghasilan</td><td>:</td><td></td></tr>
            </table>
        </div> -->
    </div>
</body>
</html>';

ob_end_clean();
// Generate PDF
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$dompdf->stream('buku_induk_' . $siswa['nis'] . '.pdf', ['Attachment' => 0]); // Display in browser
?>