<?php
session_start();

require_once "../config/koneksi.php";

/* =========================================================
   CEK ID SURAT
   ========================================================= */

if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
    die("ID surat tidak valid.");
}

$id_surat = (int) $_GET['id'];


/* =========================================================
   AMBIL DATA SURAT
   ========================================================= */

$stmt = mysqli_prepare(
    $conn,
    "SELECT * FROM surat WHERE id_surat = ? LIMIT 1"
);

mysqli_stmt_bind_param(
    $stmt,
    "i",
    $id_surat
);

mysqli_stmt_execute($stmt);

$result = mysqli_stmt_get_result($stmt);

$data = mysqli_fetch_assoc($result);

mysqli_stmt_close($stmt);


if (!$data) {
    die("Data surat tidak ditemukan.");
}


/* =========================================================
   FUNGSI ESCAPE
   ========================================================= */

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


/* =========================================================
   DATA SURAT
   ========================================================= */

$nama              = $data['nama'] ?? '';
$nik               = $data['nik'] ?? '';
$jenis_surat       = $data['jenis_surat'] ?? '';
$keperluan         = $data['keperluan'] ?? '';
$tanggal           = $data['tanggal'] ?? '';
$status            = $data['status'] ?? '';

$tempat_lahir      = $data['tempat_lahir'] ?? '';
$tanggal_lahir     = $data['tanggal_lahir'] ?? '';
$jenis_kelamin     = $data['jenis_kelamin'] ?? '';
$agama             = $data['agama'] ?? '';
$status_perkawinan = $data['status_perkawinan'] ?? '';
$alamat            = $data['alamat'] ?? '';
$pekerjaan         = $data['pekerjaan'] ?? '';
$no_hp             = $data['no_hp'] ?? '';


/* =========================================================
   BULAN INDONESIA
   ========================================================= */

$bulanIndo = [
    1  => 'Januari',
    2  => 'Februari',
    3  => 'Maret',
    4  => 'April',
    5  => 'Mei',
    6  => 'Juni',
    7  => 'Juli',
    8  => 'Agustus',
    9  => 'September',
    10 => 'Oktober',
    11 => 'November',
    12 => 'Desember'
];

$bulanRomawi = [
    1  => 'I',
    2  => 'II',
    3  => 'III',
    4  => 'IV',
    5  => 'V',
    6  => 'VI',
    7  => 'VII',
    8  => 'VIII',
    9  => 'IX',
    10 => 'X',
    11 => 'XI',
    12 => 'XII'
];


/* =========================================================
   TANGGAL SURAT
   ========================================================= */

if (!empty($tanggal) && $tanggal != '0000-00-00') {

    $timestampSurat = strtotime($tanggal);

} else {

    $timestampSurat = time();

}

$hari  = date('d', $timestampSurat);
$bulan = (int) date('n', $timestampSurat);
$tahun = date('Y', $timestampSurat);

$bulanIndoSekarang   = $bulanIndo[$bulan];
$bulanRomawiSekarang = $bulanRomawi[$bulan];

$tanggalSurat =
    $hari . " " .
    $bulanIndoSekarang . " " .
    $tahun;


/* =========================================================
   NOMOR SURAT
   ========================================================= */

$nomorUrut = str_pad(
    $id_surat,
    3,
    '0',
    STR_PAD_LEFT
);

$nomorSurat =
    "470/" .
    $nomorUrut .
    "/DS-OEL/" .
    $bulanRomawiSekarang .
    "/" .
    $tahun;


/* =========================================================
   NORMALISASI JENIS SURAT
   ========================================================= */

$jenis_normal = strtolower(
    trim($jenis_surat)
);


/* =========================================================
   JUDUL DAN ISI SURAT
   ========================================================= */

$judulSurat = $jenis_surat;
$isiSurat = '';


/* =========================================================
   SURAT DOMISILI
   ========================================================= */

if (
    strpos($jenis_normal, 'domisili') !== false
) {

    $judulSurat = "SURAT KETERANGAN DOMISILI";

    $isiSurat = '

        <p class="paragraf">
            Yang bertanda tangan di bawah ini Kepala Desa Oelomin,
            Kecamatan Nekamese, Kabupaten Kupang dengan ini menerangkan
            bahwa:
        </p>

        ' . buatIdentitas([
            'Nama' => $nama,
            'NIK' => $nik,
            'Tempat / Tanggal Lahir' =>
                $tempat_lahir . ', ' . formatTanggal($tanggal_lahir),
            'Jenis Kelamin' => $jenis_kelamin,
            'Agama' => $agama,
            'Status Perkawinan' => $status_perkawinan,
            'Pekerjaan' => $pekerjaan,
            'Alamat' => $alamat
        ]) . '

        <p class="paragraf">
            Adalah benar yang bersangkutan merupakan warga
            Desa Oelomin, Kecamatan Nekamese, Kabupaten Kupang.
            Surat Keterangan Domisili ini diberikan kepada yang
            bersangkutan untuk keperluan:
            <b>' . e($keperluan) . '</b>.
        </p>

        <p class="paragraf">
            Demikian Surat Keterangan Domisili ini dibuat dengan
            sebenarnya agar dapat dipergunakan sebagaimana mestinya.
        </p>
    ';
}


/* =========================================================
   SURAT KETERANGAN USAHA
   ========================================================= */

elseif (
    strpos($jenis_normal, 'usaha') !== false ||
    strpos($jenis_normal, 'sku') !== false
) {

    $judulSurat = "SURAT KETERANGAN USAHA";

    $isiSurat = '

        <p class="paragraf">
            Yang bertanda tangan di bawah ini Kepala Desa Oelomin,
            Kecamatan Nekamese, Kabupaten Kupang dengan ini menerangkan
            bahwa:
        </p>

        ' . buatIdentitas([
            'Nama' => $nama,
            'NIK' => $nik,
            'Tempat / Tanggal Lahir' =>
                $tempat_lahir . ', ' . formatTanggal($tanggal_lahir),
            'Jenis Kelamin' => $jenis_kelamin,
            'Agama' => $agama,
            'Pekerjaan' => $pekerjaan,
            'Alamat' => $alamat,
            'Nomor HP' => $no_hp
        ]) . '

        <p class="paragraf">
            Adalah benar yang bersangkutan merupakan warga Desa Oelomin
            dan memiliki atau menjalankan usaha di wilayah Desa Oelomin.
        </p>

        <p class="paragraf">
            Surat Keterangan Usaha ini dibuat untuk keperluan:
            <b>' . e($keperluan) . '</b>.
        </p>

        <p class="paragraf">
            Demikian surat keterangan ini dibuat dengan sebenarnya
            agar dapat dipergunakan sebagaimana mestinya.
        </p>
    ';
}


/* =========================================================
   SURAT TIDAK MAMPU
   ========================================================= */

elseif (
    strpos($jenis_normal, 'tidak mampu') !== false ||
    strpos($jenis_normal, 'sktm') !== false
) {

    $judulSurat = "SURAT KETERANGAN TIDAK MAMPU";

    $isiSurat = '

        <p class="paragraf">
            Yang bertanda tangan di bawah ini Kepala Desa Oelomin,
            Kecamatan Nekamese, Kabupaten Kupang dengan ini menerangkan
            bahwa:
        </p>

        ' . buatIdentitas([
            'Nama' => $nama,
            'NIK' => $nik,
            'Tempat / Tanggal Lahir' =>
                $tempat_lahir . ', ' . formatTanggal($tanggal_lahir),
            'Jenis Kelamin' => $jenis_kelamin,
            'Agama' => $agama,
            'Status Perkawinan' => $status_perkawinan,
            'Pekerjaan' => $pekerjaan,
            'Alamat' => $alamat
        ]) . '

        <p class="paragraf">
            Berdasarkan keterangan yang ada, yang bersangkutan
            merupakan warga Desa Oelomin yang memerlukan surat
            keterangan tidak mampu.
        </p>

        <p class="paragraf">
            Surat Keterangan Tidak Mampu ini dibuat untuk keperluan:
            <b>' . e($keperluan) . '</b>.
        </p>

        <p class="paragraf">
            Demikian surat keterangan ini dibuat dengan sebenarnya
            agar dapat dipergunakan sebagaimana mestinya.
        </p>
    ';
}


/* =========================================================
   SURAT PENGANTAR KTP / KK
   ========================================================= */

elseif (
    strpos($jenis_normal, 'ktp') !== false ||
    strpos($jenis_normal, 'kk') !== false
) {

    $judulSurat = "SURAT PENGANTAR ADMINISTRASI KEPENDUDUKAN";

    $isiSurat = '

        <p class="paragraf">
            Yang bertanda tangan di bawah ini Kepala Desa Oelomin,
            Kecamatan Nekamese, Kabupaten Kupang dengan ini menerangkan
            bahwa:
        </p>

        ' . buatIdentitas([
            'Nama' => $nama,
            'NIK' => $nik,
            'Tempat / Tanggal Lahir' =>
                $tempat_lahir . ', ' . formatTanggal($tanggal_lahir),
            'Jenis Kelamin' => $jenis_kelamin,
            'Agama' => $agama,
            'Status Perkawinan' => $status_perkawinan,
            'Pekerjaan' => $pekerjaan,
            'Alamat' => $alamat
        ]) . '

        <p class="paragraf">
            Adalah benar yang bersangkutan merupakan warga
            Desa Oelomin, Kecamatan Nekamese, Kabupaten Kupang.
        </p>

        <p class="paragraf">
            Surat pengantar ini diberikan untuk keperluan:
            <b>' . e($keperluan) . '</b>.
        </p>

        <p class="paragraf">
            Demikian surat pengantar ini dibuat untuk dapat
            dipergunakan sebagaimana mestinya.
        </p>
    ';
}


/* =========================================================
   SURAT KEMATIAN
   ========================================================= */

elseif (
    strpos($jenis_normal, 'kematian') !== false ||
    strpos($jenis_normal, 'meninggal') !== false
) {

    $judulSurat = "SURAT KETERANGAN KEMATIAN";

    $isiSurat = '

        <p class="paragraf">
            Yang bertanda tangan di bawah ini Kepala Desa Oelomin,
            Kecamatan Nekamese, Kabupaten Kupang dengan ini menerangkan
            bahwa:
        </p>

        ' . buatIdentitas([
            'Nama' => $nama,
            'NIK' => $nik,
            'Tempat / Tanggal Lahir' =>
                $tempat_lahir . ', ' . formatTanggal($tanggal_lahir),
            'Jenis Kelamin' => $jenis_kelamin,
            'Agama' => $agama,
            'Status Perkawinan' => $status_perkawinan,
            'Pekerjaan' => $pekerjaan,
            'Alamat' => $alamat
        ]) . '

        <p class="paragraf">
            Berdasarkan keterangan dari keluarga dan masyarakat
            Desa Oelomin, yang bersangkutan telah meninggal dunia.
        </p>

        <p class="paragraf">
            Surat Keterangan Kematian ini dibuat untuk keperluan:
            <b>' . e($keperluan) . '</b>.
        </p>

        <p class="paragraf">
            Demikian surat keterangan ini dibuat dengan sebenarnya
            agar dapat dipergunakan sebagaimana mestinya.
        </p>
    ';
}


/* =========================================================
   SURAT LAINNYA
   ========================================================= */

else {

    $judulSurat = strtoupper(
        $jenis_surat
    );

    $isiSurat = '

        <p class="paragraf">
            Yang bertanda tangan di bawah ini Kepala Desa Oelomin,
            Kecamatan Nekamese, Kabupaten Kupang dengan ini menerangkan
            bahwa:
        </p>

        ' . buatIdentitas([
            'Nama' => $nama,
            'NIK' => $nik,
            'Tempat / Tanggal Lahir' =>
                $tempat_lahir . ', ' . formatTanggal($tanggal_lahir),
            'Jenis Kelamin' => $jenis_kelamin,
            'Agama' => $agama,
            'Status Perkawinan' => $status_perkawinan,
            'Pekerjaan' => $pekerjaan,
            'Alamat' => $alamat
        ]) . '

        <p class="paragraf">
            Surat keterangan ini dibuat untuk keperluan:
            <b>' . e($keperluan) . '</b>.
        </p>

        <p class="paragraf">
            Demikian surat ini dibuat dengan sebenarnya agar dapat
            dipergunakan sebagaimana mestinya.
        </p>
    ';
}


/* =========================================================
   FUNGSI IDENTITAS
   ========================================================= */

function buatIdentitas($items)
{
    $html = '<table class="identitas">';

    foreach ($items as $label => $value) {

        if ($value === '') {
            continue;
        }

        $html .= '
            <tr>
                <td class="label">
                    ' . e($label) . '
                </td>

                <td class="titik">
                    :
                </td>

                <td>
                    ' . e($value) . '
                </td>
            </tr>
        ';
    }

    $html .= '</table>';

    return $html;
}


/* =========================================================
   FUNGSI FORMAT TANGGAL
   ========================================================= */

function formatTanggal($tanggal)
{
    if (
        empty($tanggal) ||
        $tanggal == '0000-00-00'
    ) {
        return '';
    }

    $bulan = [
        1  => 'Januari',
        2  => 'Februari',
        3  => 'Maret',
        4  => 'April',
        5  => 'Mei',
        6  => 'Juni',
        7  => 'Juli',
        8  => 'Agustus',
        9  => 'September',
        10 => 'Oktober',
        11 => 'November',
        12 => 'Desember'
    ];

    $time = strtotime($tanggal);

    if (!$time) {
        return $tanggal;
    }

    return date('d', $time)
        . ' '
        . $bulan[(int)date('n', $time)]
        . ' '
        . date('Y', $time);
}

?>

<!DOCTYPE html>

<html lang="id">

<head>

    <meta charset="UTF-8">

    <meta
        name="viewport"
        content="width=device-width, initial-scale=1.0"
    >

    <title>
        Cetak <?= e($judulSurat); ?>
    </title>

    <!-- CSS TERPISAH -->

    <link
        rel="stylesheet"
        href="../assets/css/cetak.css"
    >

</head>


<body>


<!-- =====================================================
     TOMBOL
     ===================================================== -->

<button
    type="button"
    class="btn-back"
    onclick="history.back()"
>
    ← Kembali
</button>


<button
    type="button"
    class="btn-print"
    onclick="window.print()"
>
    🖨 Cetak Surat
</button>



<!-- =====================================================
     SURAT
     ===================================================== -->

<div class="surat">


    <!-- =================================================
         KOP SURAT
         ================================================= -->

    <div class="kop">

        <table>

            <tr>

                <td class="logo">

                    <img
                        src="../assets/img/logo-desa.png"
                        alt="Logo Desa"
                    >

                </td>


                <td class="kop-text">

                    <h2>
                        PEMERINTAH KABUPATEN KUPANG
                    </h2>

                    <h3>
                        KECAMATAN NEKAMESE
                    </h3>

                    <h2>
                        PEMERINTAH DESA OELOMIN
                    </h2>

                    <p>
                        Jl. Desa Oelomin,
                        Kecamatan Nekamese,
                        Kabupaten Kupang
                    </p>

                </td>


                <td class="logo"></td>

            </tr>

        </table>

    </div>



    <!-- =================================================
         JUDUL
         ================================================= -->

    <div class="judul">

        <h2>
            <?= e($judulSurat); ?>
        </h2>

        <p>
            Nomor :
            <?= e($nomorSurat); ?>
        </p>

    </div>



    <!-- =================================================
         ISI
         ================================================= -->

    <div class="isi">

        <?= $isiSurat; ?>

    </div>



    <!-- =================================================
         TANDA TANGAN
         ================================================= -->

    <div class="ttd">

        Oelomin,
        <?= e($tanggalSurat); ?>

        <br><br>

        Kepala Desa Oelomin

        <div class="nama">

            (.........................................)

        </div>

    </div>


</div>


</body>

</html>