<?php
session_start();
if (empty($_SESSION['login'])) { header('Location: ../index.php'); exit; }
require_once '../config/koneksi.php';


if (!function_exists('pastikan_kolom_siswa')) {
    function pastikan_kolom_siswa($conn, $kolom, $definisi)
    {
        $cek = $conn->query("SHOW COLUMNS FROM siswa LIKE '" . $conn->real_escape_string($kolom) . "'");
        if ($cek && $cek->num_rows == 0) {
            $conn->query("ALTER TABLE siswa ADD `$kolom` $definisi");
        }
    }
}
pastikan_kolom_siswa($conn, 'nama_orang_tua', 'VARCHAR(120) NULL');

if (!function_exists('e')) {
    function e($value) { return htmlspecialchars((string)$value, ENT_QUOTES, 'UTF-8'); }
}

function logo_src($nama_file, $default = '')
{
    $nama_file = trim((string)$nama_file);
    if ($nama_file === '') { $nama_file = $default; }
    if ($nama_file === '') { return ''; }

    $path = '../assets/uploads/' . $nama_file;
    return is_file(__DIR__ . '/../assets/uploads/' . $nama_file) ? $path : '';
}

function tgl_indo($tanggal)
{
    if (!$tanggal || $tanggal === '0000-00-00') { return '-'; }
    $bulan = [1=>'Januari','Februari','Maret','April','Mei','Juni','Juli','Agustus','September','Oktober','November','Desember'];
    $ts = strtotime($tanggal);
    return date('j', $ts) . ' ' . $bulan[(int)date('n', $ts)] . ' ' . date('Y', $ts);
}

function tempat_tanggal_lahir($s)
{
    $tempat = $s['tempat_lahir'] ?? '';
    $tanggal = !empty($s['tanggal_lahir']) ? tgl_indo($s['tanggal_lahir']) : '';
    return trim($tempat . ($tanggal ? ', ' . $tanggal : '')) ?: '-';
}

$profil = $conn->query('SELECT * FROM profil_sekolah LIMIT 1')->fetch_assoc();
$tahun = $_GET['tahun'] ?? ($profil['tahun_pelajaran'] ?? '2025/2026');
$id = isset($_GET['id']) ? (int)$_GET['id'] : 0;
if (($_SESSION['role'] ?? '') === 'siswa') {
    $id = (int)($_SESSION['siswa_id'] ?? 0);
}

$kelas = $_GET['kelas'] ?? '';

$where = '1=1';
$params = [];
$types = '';
if ($id > 0) {
    $where = 'id=?';
    $params[] = $id;
    $types .= 'i';
} elseif ($kelas !== '') {
    $where = 'kelas=?';
    $params[] = $kelas;
    $types .= 's';
}
$stmt = $conn->prepare("SELECT * FROM siswa WHERE $where ORDER BY kelas ASC, nama ASC");
if ($params) { $stmt->bind_param($types, ...$params); }
$stmt->execute();
$siswaQ = $stmt->get_result();
?>
<!doctype html>
<html lang="id">
<head>
<meta charset="utf-8">
<title>Cetak SKL</title>
<style>
@page{size:A4 portrait;margin:16mm}body{font-family:Arial,sans-serif;color:#111;line-height:1.45}.toolbar{margin-bottom:12px}.btn{padding:8px 14px;border:0;border-radius:6px;background:#16a34a;color:white;font-weight:bold;cursor:pointer}.page{page-break-after:always}.page:last-child{page-break-after:auto}.kop{display:grid;grid-template-columns:95px 1fr 95px;align-items:center;border-bottom:3px double #111;padding-bottom:8px;margin-bottom:18px;column-gap:10px}.logo-kop{text-align:center}.logo-kop img{width:86px;height:86px;object-fit:contain}.logo-placeholder{width:86px;height:86px;display:inline-block}.kop .txt{text-align:center}.kop h2,.kop h3,.kop p{margin:1px 0}.kop h3{font-size:15px}.kop h2{font-size:19px}.judul{text-align:center;margin:18px 0 4px}.judul h3{margin:0;text-decoration:underline}.nomor{text-align:center;margin-bottom:22px}.isi{font-size:14px;text-align:justify}.data{margin:12px 0 16px 26px;font-size:14px}.data td{padding:4px 6px;vertical-align:top}.status{text-align:center;font-size:20px;font-weight:bold;letter-spacing:1px;margin:16px 0}.ttd{width:300px;float:right;text-align:center;margin-top:28px;font-size:14px}.space{height:76px}.clear{clear:both}@media print{.toolbar{display:none}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
</style>
</head>
<body>
<div class="toolbar"><button class="btn" onclick="window.print()">Cetak</button></div>
<?php while ($s = $siswaQ->fetch_assoc()): ?>
<?php
$nomor = $s['nomor_skl'] ?? '';
$tanggalSkl = $s['tanggal_skl'] ?? date('Y-m-d');
$status = $s['status_lulus'] ?? 'LULUS';
$ket = $s['keterangan_lulus'] ?? '';
?>
<div class="page">
    <?php
    $logoDinas = logo_src($profil['logo_kabupaten'] ?? '');
    $logoSekolah = logo_src($profil['logo'] ?? '', 'logo.png');
    ?>
    <div class="kop">
        <div class="logo-kop">
            <?php if ($logoDinas !== ''): ?>
                <img src="<?= e($logoDinas) ?>" alt="Logo Dinas">
            <?php else: ?>
                <span class="logo-placeholder"></span>
            <?php endif; ?>
        </div>
        <div class="txt">
            <h3>PEMERINTAH KABUPATEN <?= e(strtoupper($profil['nama_kabupaten'] ?? '')) ?></h3>
            <h3>DINAS PENDIDIKAN DAN KEBUDAYAAN</h3>
            <h2><?= e(strtoupper($profil['nama_sekolah'] ?? '')) ?></h2>
            <p><?= e($profil['alamat'] ?? '') ?></p>
        </div>
        <div class="logo-kop">
            <?php if ($logoSekolah !== ''): ?>
                <img src="<?= e($logoSekolah) ?>" alt="Logo Sekolah">
            <?php else: ?>
                <span class="logo-placeholder"></span>
            <?php endif; ?>
        </div>
    </div>

    <div class="judul">
        <h3>SURAT KETERANGAN LULUS</h3>
    </div>
    <div class="nomor">Nomor: <?= e($nomor ?: '................................') ?></div>

    <div class="isi">
        Yang bertanda tangan di bawah ini, Kepala <?= e($profil['nama_sekolah'] ?? 'sekolah') ?>, menerangkan bahwa:
    </div>

    <table class="data">
        <tr><td width="170">Nama</td><td width="10">:</td><td><b><?= e($s['nama'] ?? '-') ?></b></td></tr>
        <tr><td>Tempat, Tanggal Lahir</td><td>:</td><td><?= e(tempat_tanggal_lahir($s)) ?></td></tr>
        <tr><td>Nama Orang Tua Kandung</td><td>:</td><td><?= e($s['nama_orang_tua'] ?? '-') ?></td></tr>
        <tr><td>NISN</td><td>:</td><td><?= e($s['nisn'] ?? '-') ?></td></tr>
        <tr><td>No. Ujian</td><td>:</td><td><?= e($s['no_ujian'] ?? '-') ?></td></tr>
        <tr><td>Kelas</td><td>:</td><td><?= e($s['kelas'] ?? '-') ?></td></tr>
        <tr><td>Tahun Pelajaran</td><td>:</td><td><?= e($tahun) ?></td></tr>
    </table>

    <div class="isi">
        Berdasarkan hasil rapat dewan guru dan kriteria kelulusan yang berlaku pada <?= e($profil['nama_sekolah'] ?? 'sekolah') ?>, peserta didik tersebut dinyatakan:
    </div>

    <div class="status"><?= e($status) ?></div>

    <?php if (trim($ket) !== ''): ?>
        <div class="isi"><b>Keterangan:</b> <?= e($ket) ?></div>
    <?php endif; ?>

    <div class="isi">
        Surat keterangan ini dibuat untuk dipergunakan sebagaimana mestinya sampai ijazah asli diterbitkan.
    </div>

    <div class="ttd">
        <p><?= e($profil['nama_kabupaten'] ?? '') ?>, <?= e(tgl_indo($tanggalSkl)) ?></p>
        <p>Kepala Sekolah</p>
        <div class="space"></div>
        <b><u><?= e($profil['kepala_sekolah'] ?? '') ?></u></b><br>
        NIP. <?= e($profil['nip_kepsek'] ?? '') ?>
    </div>
    <div class="clear"></div>
</div>
<?php endwhile; ?>
</body>
</html>
