<?php
require_once '../auth/cek_login.php';
require_role('admin');
require_once '../config/koneksi.php';

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

if (!function_exists('kode_bersih')) {
    function kode_bersih($text)
    {
        $text = strtoupper(trim((string)$text));
        return preg_replace('/[^A-Z0-9]/', '', $text);
    }
}

function pastikan_kolom_profil($conn, $kolom, $definisi)
{
    $kolom = preg_replace('/[^a-zA-Z0-9_]/', '', $kolom);

    $cek = $conn->query("
        SHOW COLUMNS
        FROM profil_sekolah
        LIKE '" . $conn->real_escape_string($kolom) . "'
    ");

    if ($cek && $cek->num_rows == 0) {
        $conn->query("
            ALTER TABLE profil_sekolah
            ADD `$kolom` $definisi
        ");
    }
}

pastikan_kolom_profil(
    $conn,
    'nama_kecamatan',
    'VARCHAR(120) NULL'
);

pastikan_kolom_profil(
    $conn,
    'nama_kabupaten',
    'VARCHAR(120) NULL'
);

pastikan_kolom_profil(
    $conn,
    'logo_kabupaten',
    'VARCHAR(255) NULL'
);

pastikan_kolom_profil(
    $conn,
    'kode_sekolah',
    'VARCHAR(20) NULL'
);

pastikan_kolom_profil(
    $conn,
    'kode_kabupaten',
    'VARCHAR(20) NULL'
);

pastikan_kolom_profil(
    $conn,
    'kode_provinsi',
    'VARCHAR(20) NULL'
);

$p = $conn
    ->query("SELECT * FROM profil_sekolah LIMIT 1")
    ->fetch_assoc();

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    $nama = trim($_POST['nama_sekolah']);
    $alamat = trim($_POST['alamat']);
    $kepsek = trim($_POST['kepala_sekolah']);
    $nip = trim($_POST['nip_kepsek']);
    $tahun = trim($_POST['tahun_pelajaran']);

    $nama_kecamatan =
        trim($_POST['nama_kecamatan']);

    $nama_kabupaten =
        trim($_POST['nama_kabupaten']);

    $kode_sekolah =
        kode_bersih($_POST['kode_sekolah']);

    $kode_kabupaten =
        kode_bersih($_POST['kode_kabupaten']);

    $kode_provinsi =
        kode_bersih($_POST['kode_provinsi']);

    $logo =
        $p['logo'] ?? '';

    $logo_kabupaten =
        $p['logo_kabupaten'] ?? '';

    $folder =
        '../assets/uploads/';

    if (!is_dir($folder)) {

        mkdir(
            $folder,
            0777,
            true
        );
    }

    if (!empty($_FILES['logo']['name'])) {

        $ext =
            strtolower(
                pathinfo(
                    $_FILES['logo']['name'],
                    PATHINFO_EXTENSION
                )
            );

        if (in_array(
            $ext,
            ['png', 'jpg', 'jpeg', 'webp']
        )) {

            $logo =
                'logo_' .
                time() .
                '.' . $ext;

            move_uploaded_file(
                $_FILES['logo']['tmp_name'],
                $folder . $logo
            );
        }
    }

    if (!empty($_FILES['logo_kabupaten']['name'])) {

        $ext =
            strtolower(
                pathinfo(
                    $_FILES['logo_kabupaten']['name'],
                    PATHINFO_EXTENSION
                )
            );

        if (in_array(
            $ext,
            ['png', 'jpg', 'jpeg', 'webp']
        )) {

            $logo_kabupaten =
                'kabupaten_' .
                time() .
                '.' . $ext;

            move_uploaded_file(

                $_FILES['logo_kabupaten']['tmp_name'],

                $folder .
                    $logo_kabupaten

            );
        }
    }

    $stmt =
        $conn->prepare(

            "UPDATE profil_sekolah SET

    nama_sekolah=?,
    alamat=?,
    kepala_sekolah=?,
    nip_kepsek=?,
    tahun_pelajaran=?,

    nama_kecamatan=?,
    nama_kabupaten=?,

    logo=?,
    logo_kabupaten=?,

    kode_sekolah=?,
    kode_kabupaten=?,
    kode_provinsi=?

    WHERE id=1"

        );

    $stmt->bind_param(

        "ssssssssssss",

        $nama,
        $alamat,
        $kepsek,
        $nip,
        $tahun,

        $nama_kecamatan,
        $nama_kabupaten,

        $logo,
        $logo_kabupaten,

        $kode_sekolah,
        $kode_kabupaten,
        $kode_provinsi

    );

    $stmt->execute();

    header(
        "Location: profil.php?status=sukses"
    );
    exit;
}

include 'header.php';

$contoh =

    kode_bersih(
        $p['kode_sekolah']
            ?? '01'
    )

    .

    kode_bersih(
        $p['kode_kabupaten']
            ?? '03'
    )

    .

    kode_bersih(
        $p['kode_provinsi']
            ?? '25'
    )

    . '0001';

?>

<h3 class="fw-bold mb-3">
    Profil Sekolah
</h3>

<?php if (isset($_GET['status'])): ?>

    <div class="alert alert-success">
        Data berhasil disimpan
    </div>

<?php endif; ?>

<form
    method="post"
    enctype="multipart/form-data"
    class="card p-4">

    <div class="row g-3">

        <div class="col-md-6">
            <label>Nama Sekolah</label>

            <input
                type="text"
                name="nama_sekolah"
                class="form-control"
                value="<?= e($p['nama_sekolah'] ?? '') ?>">

        </div>

        <div class="col-md-6">

            <label>Tahun Pelajaran</label>

            <input
                type="text"
                name="tahun_pelajaran"
                class="form-control"
                value="<?= e($p['tahun_pelajaran'] ?? '') ?>">

        </div>

        <div class="col-md-6">

            <label>Kecamatan</label>

            <input
                type="text"
                name="nama_kecamatan"
                class="form-control"
                value="<?= e($p['nama_kecamatan'] ?? '') ?>">

        </div>

        <div class="col-md-6">

            <label>Kabupaten/Kota</label>

            <input
                type="text"
                name="nama_kabupaten"
                class="form-control"
                value="<?= e($p['nama_kabupaten'] ?? '') ?>">

        </div>

        <div class="col-md-12">

            <label>Alamat</label>

            <textarea
                name="alamat"
                class="form-control"><?= e($p['alamat'] ?? '') ?></textarea>

        </div>

        <div class="col-md-6">

            <label>Kepala Sekolah</label>

            <input
                type="text"
                name="kepala_sekolah"
                class="form-control"
                value="<?= e($p['kepala_sekolah'] ?? '') ?>">

        </div>

        <div class="col-md-6">

            <label>NIP Kepala Sekolah</label>

            <input
                type="text"
                name="nip_kepsek"
                class="form-control"
                value="<?= e($p['nip_kepsek'] ?? '') ?>">

        </div>

        <div class="col-md-4">

            <label>Kode Sekolah</label>

            <input
                type="text"
                name="kode_sekolah"
                class="form-control"
                value="<?= e($p['kode_sekolah'] ?? '01') ?>">

        </div>

        <div class="col-md-4">

            <label>Kode Kabupaten</label>

            <input
                type="text"
                name="kode_kabupaten"
                class="form-control"
                value="<?= e($p['kode_kabupaten'] ?? '03') ?>">

        </div>

        <div class="col-md-4">

            <label>Kode Provinsi</label>

            <input
                type="text"
                name="kode_provinsi"
                class="form-control"
                value="<?= e($p['kode_provinsi'] ?? '25') ?>">

        </div>

        <div class="col-md-12">

            <div class="alert alert-info">

                Format Nomor Ujian:

                <b><?= e($contoh) ?></b>

            </div>

        </div>

        <div class="col-md-6">

            <label>Logo Sekolah</label>

            <input
                type="file"
                name="logo"
                class="form-control">

            <?php if (!empty($p['logo'])): ?>

                <div class="border p-2 mt-2 text-center">

                    <img
                        src="../assets/uploads/<?= e($p['logo']) ?>"
                        style="
width:120px;
height:120px;
object-fit:contain;
">

                </div>

            <?php endif; ?>

        </div>

        <div class="col-md-6">

            <label>Logo Kabupaten/Kota</label>

            <input
                type="file"
                name="logo_kabupaten"
                class="form-control">

            <?php if (!empty($p['logo_kabupaten'])): ?>

                <div class="border p-2 mt-2 text-center">

                    <img
                        src="../assets/uploads/<?= e($p['logo_kabupaten']) ?>"
                        style="
width:120px;
height:120px;
object-fit:contain;
">

                </div>

            <?php endif; ?>

        </div>

    </div>

    <button
        class="btn btn-primary mt-3">

        Simpan Profil

    </button>

</form>

<?php
include 'footer.php';
?>