<?php
$pageTitle = 'Edit Siswa';
require_once __DIR__ . '/includes/header.php';

$db = getDB();
$id = (int) ($_GET['id'] ?? 0);
$stmt = $db->prepare('SELECT * FROM siswa WHERE id = ?');
$stmt->execute([$id]);
$siswa = $stmt->fetch();

if (!$siswa) {
    flash('error', 'Data siswa tidak ditemukan.');
    header('Location: siswa.php');
    exit;
}

$error = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $nama = trim($_POST['nama'] ?? '');
    $pekerjaan = trim($_POST['pekerjaan_ortu'] ?? '');
    $penghasilan = trim($_POST['penghasilan_ortu'] ?? '');
    $saudara = (int) ($_POST['jumlah_saudara'] ?? 0);
    $kps = $_POST['kepemilikan_kps'] ?? '';
    $kip = $_POST['kepemilikan_kip'] ?? '';

    if ($nama === '' || $pekerjaan === '') {
        $error = 'Nama dan pekerjaan orang tua wajib diisi.';
    } elseif (!validPekerjaanOrtu($pekerjaan)) {
        $error = 'Pekerjaan orang tua wajib dipilih.';
    } elseif (!validPenghasilanOrtu($penghasilan)) {
        $error = 'Penghasilan orang tua wajib dipilih.';
    } elseif (!validYaTidak($kps) || !validYaTidak($kip)) {
        $error = 'Penerima KPS dan KIP wajib dipilih.';
    } else {
        $stmt = $db->prepare(
            'UPDATE siswa SET nama=?, pekerjaan_ortu=?, penghasilan_ortu=?, jumlah_saudara=?,
             kepemilikan_kps=?, kepemilikan_kip=? WHERE id=?'
        );
        $stmt->execute([$nama, $pekerjaan, $penghasilan, $saudara, $kps, $kip, $id]);
        flash('success', 'Data siswa berhasil diperbarui.');
        header('Location: siswa.php');
        exit;
    }
    $siswa = array_merge($siswa, $_POST);
}
?>

<div class="page-header">
  <h1>Edit Siswa</h1>
  <p class="breadcrumb"><a href="siswa.php">Data Siswa</a> / Edit</p>
</div>
<div class="page-body">
  <?php if ($error): ?><div class="alert alert-danger"><?= e($error) ?></div><?php endif; ?>

  <div class="card">
    <div class="card-body">
      <form method="post" novalidate>
        <div class="form-grid-2">
          <div class="form-group">
            <label>Nama</label>
            <input type="text" name="nama" class="form-control" value="<?= e($siswa['nama']) ?>" required>
          </div>
          <div class="form-group">
            <label>Pekerjaan Orang Tua</label>
            <select name="pekerjaan_ortu" class="form-control" required>
              <?= optionsPekerjaanOrtu($siswa['pekerjaan_ortu'] ?? '') ?>
            </select>
          </div>
          <div class="form-group">
            <label>Penghasilan Orang Tua</label>
            <select name="penghasilan_ortu" class="form-control" required>
              <?= optionsPenghasilanOrtu($siswa['penghasilan_ortu'] ?? '') ?>
            </select>
          </div>
          <div class="form-group">
            <label>Jumlah Saudara Kandung</label>
            <input type="number" name="jumlah_saudara" class="form-control" min="0" value="<?= (int) $siswa['jumlah_saudara'] ?>" required>
          </div>
          <div class="form-group">
            <label>Penerima KIP</label>
            <select name="kepemilikan_kip" class="form-control" required>
              <?= optionsYaTidak($siswa['kepemilikan_kip'] ?? '') ?>
            </select>
          </div>
          <div class="form-group">
            <label>Penerima KPS</label>
            <select name="kepemilikan_kps" class="form-control" required>
              <?= optionsYaTidak($siswa['kepemilikan_kps'] ?? '') ?>
            </select>
          </div>
        </div>
        <div style="margin-top:1.5rem;display:flex;gap:0.5rem">
          <button type="submit" class="btn btn-primary">Simpan</button>
          <a href="siswa.php" class="btn btn-outline">Batal</a>
        </div>
      </form>
    </div>
  </div>
</div>

<?php require_once __DIR__ . '/includes/footer.php'; ?>
