<?php
require_once '../includes/header.php';
require_once '../includes/navbar.php';

// Cek apakah parameter ID tersedia
if (!isset($_GET['id']) || empty($_GET['id'])) {
    echo "<script>
        Swal.fire({
            icon: 'error',
            title: 'Error',
            text: 'ID beasiswa tidak valid!'
        }).then(() => {
            window.location.href = 'index.php';
        });
    </script>";
    exit();
}

$id_beasiswa = mysqli_real_escape_string($conn, $_GET['id']);

// Ambil data beasiswa berdasarkan ID
$query_beasiswa = "SELECT b.*, s.id_siswa, s.nisn, s.nis, s.nama_lengkap 
                   FROM bind_beasiswa_siswa b 
                   JOIN bind_siswa s ON b.id_siswa = s.id_siswa 
                   WHERE b.id_beasiswa = '$id_beasiswa'";
$result_beasiswa = mysqli_query($conn, $query_beasiswa);

if (mysqli_num_rows($result_beasiswa) == 0) {
    echo "<script>
        Swal.fire({
            icon: 'error',
            title: 'Error',
            text: 'Data beasiswa tidak ditemukan!'
        }).then(() => {
            window.location.href = 'index.php';
        });
    </script>";
    exit();
}

$beasiswa = mysqli_fetch_assoc($result_beasiswa);

// Ambil data siswa untuk dropdown (hanya untuk informasi, tidak untuk diubah)
$query_siswa = "SELECT id_siswa, nisn, nis, nama_lengkap 
               FROM bind_siswa 
               WHERE id_siswa = '" . $beasiswa['id_siswa'] . "'";
$result_siswa = mysqli_query($conn, $query_siswa);
$siswa_data = mysqli_fetch_assoc($result_siswa);

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // Ambil data dari form
    $nama_beasiswa = $_POST['nama_beasiswa'];
    $penyelenggara = $_POST['penyelenggara'];
    $tahun_mulai = $_POST['tahun_mulai'];
    $tahun_selesai = $_POST['tahun_selesai'];
    
    // Validasi: Cek apakah siswa sudah memiliki data beasiswa dengan nama yang sama (kecuali data yang sedang diedit)
    $query_cek = "SELECT b.id_beasiswa, s.nisn, s.nama_lengkap 
                 FROM bind_beasiswa_siswa b 
                 JOIN bind_siswa s ON b.id_siswa = s.id_siswa 
                 WHERE b.id_siswa = '" . $beasiswa['id_siswa'] . "' 
                 AND b.nama_beasiswa = '$nama_beasiswa' 
                 AND b.id_beasiswa != '$id_beasiswa'";
    $result_cek = mysqli_query($conn, $query_cek);
    
    if (mysqli_num_rows($result_cek) > 0) {
        $data_siswa = mysqli_fetch_assoc($result_cek);
        echo "<script>
            Swal.fire({
                icon: 'error',
                title: 'Gagal',
                html: 'Data beasiswa <b>" . addslashes($nama_beasiswa) . "</b> untuk siswa <b>" . addslashes($data_siswa['nama_lengkap']) . "</b> (NISN: " . $data_siswa['nisn'] . ") sudah ada.'
            });
        </script>";
    } else {
        // Update data (id_siswa tidak diubah)
        $sql = "UPDATE bind_beasiswa_siswa SET 
                nama_beasiswa = '$nama_beasiswa',
                penyelenggara = '$penyelenggara',
                tahun_mulai = '$tahun_mulai',
                tahun_selesai = '$tahun_selesai'
                WHERE id_beasiswa = '$id_beasiswa'";
        
        if ($conn->query($sql)) {
            echo "<script>
                Swal.fire({
                    icon: 'success',
                    title: 'Berhasil',
                    text: 'Data beasiswa berhasil diperbarui'
                }).then(() => {
                    window.location.href = 'index.php';
                });
            </script>";
        } else {
            echo "<script>
                Swal.fire({
                    icon: 'error',
                    title: 'Gagal',
                    text: 'Terjadi kesalahan: " . addslashes($conn->error) . "'
                });
            </script>";
        }
    }
}
?>

<div class="container mt-4">
    <div class="d-flex justify-content-between align-items-center mb-4">
        <h2><i class="fas fa-edit me-2"></i>Edit Data Beasiswa</h2>
        <a href="index.php" class="btn btn-secondary">
            <i class="fas fa-arrow-left me-1"></i> Kembali
        </a>
    </div>
    
    <div class="card border-0 shadow-lg">
        <div class="card-header bg-primary text-white py-3">
            <h5 class="card-title mb-0"><i class="fas fa-graduation-cap me-2"></i>Edit Data Beasiswa</h5>
        </div>
        <div class="card-body p-4">
            <form method="POST" id="formEditBeasiswa">
                <div class="row">
                    <div class="col-md-6">
                        <div class="mb-3">
                            <label for="id_siswa" class="form-label">Siswa <span class="text-danger">*</span></label>
                            <div class="input-group">
                                <span class="input-group-text"><i class="fas fa-user-graduate"></i></span>
                                <input type="text" class="form-control bg-light" id="id_siswa_display" 
                                       value="<?= $siswa_data['nisn'] . ' - ' . $siswa_data['nama_lengkap'] . ' (' . $siswa_data['nis'] . ')'; ?>" 
                                       readonly disabled>
                                <input type="hidden" name="id_siswa" value="<?= $beasiswa['id_siswa']; ?>">
                            </div>
                            <small class="form-text text-muted">Nama siswa tidak dapat diubah untuk menjaga konsistensi data</small>
                        </div>
                        
                        <div class="mb-3">
                            <label for="nama_beasiswa" class="form-label">Nama Beasiswa <span class="text-danger">*</span></label>
                            <div class="input-group">
                                <span class="input-group-text"><i class="fas fa-award"></i></span>
                                <input type="text" class="form-control" id="nama_beasiswa" name="nama_beasiswa" required 
                                       value="<?= htmlspecialchars($beasiswa['nama_beasiswa']); ?>" placeholder="Nama beasiswa">
                            </div>
                        </div>
                        
                        <div class="mb-3">
                            <label for="penyelenggara" class="form-label">Penyelenggara <span class="text-danger">*</span></label>
                            <div class="input-group">
                                <span class="input-group-text"><i class="fas fa-building"></i></span>
                                <input type="text" class="form-control" id="penyelenggara" name="penyelenggara" required 
                                       value="<?= htmlspecialchars($beasiswa['penyelenggara']); ?>" placeholder="Nama penyelenggara beasiswa">
                            </div>
                        </div>
                    </div>
                    
                    <div class="col-md-6">
                        <div class="mb-3">
                            <label for="tahun_mulai" class="form-label">Tahun Mulai <span class="text-danger">*</span></label>
                            <div class="input-group">
                                <span class="input-group-text"><i class="fas fa-calendar-alt"></i></span>
                                <input type="number" class="form-control" id="tahun_mulai" name="tahun_mulai" required 
                                       min="2000" max="2099" value="<?= $beasiswa['tahun_mulai']; ?>" placeholder="Tahun mulai beasiswa">
                            </div>
                        </div>
                        
                        <div class="mb-3">
                            <label for="tahun_selesai" class="form-label">Tahun Selesai</label>
                            <div class="input-group">
                                <span class="input-group-text"><i class="fas fa-calendar-check"></i></span>
                                <input type="number" class="form-control" id="tahun_selesai" name="tahun_selesai" 
                                       min="2000" max="2099" value="<?= $beasiswa['tahun_selesai']; ?>" placeholder="Tahun selesai beasiswa (jika ada)">
                            </div>
                        </div>
                    </div>
                </div>
                
                <div class="d-flex justify-content-end mt-4">
                    <a href="index.php" class="btn btn-secondary me-2">
                        <i class="fas fa-times me-1"></i> Batal
                    </a>
                    <button type="submit" class="btn btn-primary">
                        <i class="fas fa-save me-1"></i> Perbarui
                    </button>
                </div>
            </form>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Form validation
    document.getElementById('formEditBeasiswa').addEventListener('submit', function(e) {
        let isValid = true;
        const requiredInputs = this.querySelectorAll('[required]');
        
        requiredInputs.forEach(input => {
            if (!input.value.trim()) {
                isValid = false;
                input.classList.add('is-invalid');
            } else {
                input.classList.remove('is-invalid');
            }
        });
        
        // Validasi tahun
        const tahunMulai = document.getElementById('tahun_mulai').value;
        const tahunSelesai = document.getElementById('tahun_selesai').value;
        
        if (tahunSelesai && tahunMulai > tahunSelesai) {
            isValid = false;
            document.getElementById('tahun_selesai').classList.add('is-invalid');
            Swal.fire({
                icon: 'error',
                title: 'Oops...',
                text: 'Tahun selesai tidak boleh lebih kecil dari tahun mulai!',
                confirmButtonColor: '#3085d6'
            });
        }
        
        if (!isValid) {
            e.preventDefault();
            if (!tahunSelesai || tahunMulai <= tahunSelesai) {
                Swal.fire({
                    icon: 'error',
                    title: 'Oops...',
                    text: 'Harap isi semua field yang wajib diisi!',
                    confirmButtonColor: '#3085d6'
                });
            }
        }
    });
});
</script>

<style>
.bg-light {
    background-color: #f8f9fa !important;
}
</style>

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