<?php
session_start();
require_once '../../config/database.php';
require_once '../../config/function.php';

// Cek login
checkLogin();

$current_user = getCurrentUser();

// Ambil ID dari URL
$id = isset($_GET['id']) ? (int)$_GET['id'] : 0;

// Ambil data tahun ajaran
$query = "SELECT * FROM bkcare_tahun_ajaran WHERE id_tahun_ajaran = $id";
$result = mysqli_query($conn, $query);
$data = mysqli_fetch_assoc($result);

if (!$data) {
    $_SESSION['modal_title'] = 'Error!';
    $_SESSION['modal_message'] = 'Data tahun ajaran tidak ditemukan';
    $_SESSION['modal_type'] = 'danger';
    $_SESSION['modal_redirect'] = 'index.php';
    header('Location: index.php');
    exit;
}

// Proses update data
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $tahun_ajaran = mysqli_real_escape_string($conn, $_POST['tahun_ajaran']);
    $semester = mysqli_real_escape_string($conn, $_POST['semester']);
    $status = isset($_POST['status']) ? 'aktif' : 'nonaktif';
    
    // Validasi
    $errors = [];
    
    if (empty($tahun_ajaran)) {
        $errors[] = 'Tahun ajaran harus diisi';
    } elseif (!preg_match('/^\d{4}\/\d{4}$/', $tahun_ajaran)) {
        $errors[] = 'Format tahun ajaran harus YYYY/YYYY (contoh: 2024/2025)';
    }
    
    if (empty($semester)) {
        $errors[] = 'Semester harus dipilih';
    }
    
    // VALIDASI TAMBAHAN: Jika data ini sedang aktif dan akan dinonaktifkan
    if ($data['status'] == 'aktif' && $status == 'nonaktif') {
        // Cek apakah ada tahun ajaran aktif lain
        $check_other_active = mysqli_query($conn, "SELECT COUNT(*) as total FROM bkcare_tahun_ajaran 
                                                    WHERE status = 'aktif' AND id_tahun_ajaran != $id");
        $other_active = mysqli_fetch_assoc($check_other_active);
        
        if ($other_active['total'] == 0) {
            $errors[] = 'Tidak dapat menonaktifkan tahun ajaran ini karena tidak ada tahun ajaran aktif lain. Silakan aktifkan tahun ajaran lain terlebih dahulu.';
        }
    }
    
    // Cek duplikat kecuali data sendiri
    $check = mysqli_query($conn, "SELECT * FROM bkcare_tahun_ajaran 
                                   WHERE tahun_ajaran = '$tahun_ajaran' 
                                   AND semester = '$semester'
                                   AND id_tahun_ajaran != $id");
    if (mysqli_num_rows($check) > 0) {
        $errors[] = 'Tahun ajaran dan semester sudah ada';
    }
    
    // Jika tidak ada error
    if (empty($errors)) {
        // Jika status aktif, nonaktifkan semua tahun ajaran lain
        if ($status == 'aktif') {
            mysqli_query($conn, "UPDATE bkcare_tahun_ajaran SET status = 'nonaktif'");
        }
        
        $query = "UPDATE bkcare_tahun_ajaran 
                  SET tahun_ajaran = '$tahun_ajaran', 
                      semester = '$semester', 
                      status = '$status' 
                  WHERE id_tahun_ajaran = $id";
        
        if (mysqli_query($conn, $query)) {
            $_SESSION['modal_title'] = 'Berhasil!';
            $_SESSION['modal_message'] = 'Data tahun ajaran berhasil diperbarui';
            $_SESSION['modal_type'] = 'success';
            $_SESSION['modal_redirect'] = 'index.php';
        } else {
            $_SESSION['modal_title'] = 'Gagal!';
            $_SESSION['modal_message'] = 'Gagal memperbarui data: ' . mysqli_error($conn);
            $_SESSION['modal_type'] = 'danger';
            $_SESSION['modal_redirect'] = 'edit.php?id=' . $id;
        }
    } else {
        $_SESSION['modal_title'] = 'Validasi Gagal!';
        $_SESSION['modal_message'] = implode('<br>', $errors);
        $_SESSION['modal_type'] = 'warning';
        $_SESSION['modal_redirect'] = 'edit.php?id=' . $id;
    }
    
    header('Location: edit.php?id=' . $id);
    exit;
}

include '../../includes/header.php';
include '../../includes/navbar.php';
?>

<!-- Main Content - Form Edit (sama seperti sebelumnya) -->
<main class="container mx-auto px-4 py-6">
    <div class="max-w-2xl mx-auto">
        <!-- Header -->
        <div class="flex items-center mb-6">
            <a href="index.php" class="text-gray-600 hover:text-purple-600 transition mr-4">
                <i class="fas fa-arrow-left text-xl"></i>
            </a>
            <div>
                <h1 class="text-2xl font-bold text-gray-800 flex items-center">
                    <i class="fas fa-edit text-purple-600 mr-3"></i>
                    Edit Tahun Ajaran
                </h1>
                <p class="text-gray-600 text-sm mt-1">Edit data tahun ajaran</p>
            </div>
        </div>

        <!-- Form -->
        <div class="card-stat p-8">
            <form action="" method="POST" id="editForm">
                <!-- Tahun Ajaran -->
                <div class="mb-6">
                    <label class="block text-sm font-medium text-gray-700 mb-2">
                        <i class="fas fa-calendar-alt text-purple-600 mr-2"></i>
                        Tahun Ajaran <span class="text-red-500">*</span>
                    </label>
                    <input type="text" 
                           name="tahun_ajaran" 
                           class="w-full px-4 py-3 border border-gray-300 rounded-xl focus:ring-2 focus:ring-purple-600 focus:border-transparent outline-none transition bg-gray-50"
                           placeholder="Contoh: 2024/2025"
                           value="<?= htmlspecialchars($data['tahun_ajaran']) ?>"
                           required>
                    <p class="text-xs text-gray-500 mt-2">
                        <i class="fas fa-info-circle mr-1"></i>
                        Format: YYYY/YYYY (tahun awal/tahun akhir)
                    </p>
                </div>

                <!-- Semester -->
                <div class="mb-6">
                    <label class="block text-sm font-medium text-gray-700 mb-2">
                        <i class="fas fa-moon text-purple-600 mr-2"></i>
                        Semester <span class="text-red-500">*</span>
                    </label>
                    <div class="flex space-x-4">
                        <label class="flex items-center p-3 border border-gray-300 rounded-xl hover:bg-purple-50 transition cursor-pointer flex-1">
                            <input type="radio" 
                                   name="semester" 
                                   value="ganjil" 
                                   class="mr-2 text-purple-600 focus:ring-purple-500"
                                   <?= $data['semester'] == 'ganjil' ? 'checked' : '' ?>
                                   required>
                            <i class="fas fa-sun text-yellow-500 mr-2"></i>
                            <span class="text-sm font-medium text-gray-700">Ganjil</span>
                        </label>
                        <label class="flex items-center p-3 border border-gray-300 rounded-xl hover:bg-purple-50 transition cursor-pointer flex-1">
                            <input type="radio" 
                                   name="semester" 
                                   value="genap" 
                                   class="mr-2 text-purple-600 focus:ring-purple-500"
                                   <?= $data['semester'] == 'genap' ? 'checked' : '' ?>
                                   required>
                            <i class="fas fa-moon text-blue-500 mr-2"></i>
                            <span class="text-sm font-medium text-gray-700">Genap</span>
                        </label>
                    </div>
                </div>

                <!-- Status Aktif -->
                <div class="mb-8">
                    <label class="flex items-center p-4 bg-purple-50 rounded-xl cursor-pointer">
                        <input type="checkbox" 
                               name="status" 
                               class="w-5 h-5 text-purple-600 border-gray-300 rounded focus:ring-purple-500 mr-3"
                               <?= $data['status'] == 'aktif' ? 'checked' : '' ?>>
                        <div>
                            <span class="text-sm font-medium text-gray-700">Jadikan Aktif</span>
                            <p class="text-xs text-gray-500 mt-1">
                                <i class="fas fa-info-circle mr-1"></i>
                                Jika dipilih, tahun ajaran ini akan digunakan sebagai tahun ajaran aktif
                            </p>
                            <?php if ($data['status'] == 'aktif'): ?>
                                <p class="text-xs text-yellow-600 mt-2">
                                    <i class="fas fa-exclamation-triangle mr-1"></i>
                                    Perhatian: Jika Anda menghilangkan centang ini, pastikan ada tahun ajaran aktif lain.
                                </p>
                            <?php endif; ?>
                        </div>
                    </label>
                </div>

                <!-- Tombol -->
                <div class="flex justify-end space-x-3">
                    <a href="index.php" class="btn-outline-primary text-sm px-6 py-3">
                        <i class="fas fa-times mr-2"></i>Batal
                    </a>
                    <button type="submit" class="btn-primary text-sm px-6 py-3">
                        <i class="fas fa-save mr-2"></i>Update Data
                    </button>
                </div>
            </form>
        </div>
    </div>
</main>

<script>
// Validasi form tambahan
$(document).ready(function() {
    $('#editForm').on('submit', function(e) {
        let tahunAjaran = $('input[name="tahun_ajaran"]').val();
        let errors = [];
        
        // Validasi format tahun ajaran
        if (tahunAjaran && !/^\d{4}\/\d{4}$/.test(tahunAjaran)) {
            errors.push('Format tahun ajaran harus YYYY/YYYY');
            $('input[name="tahun_ajaran"]').addClass('border-red-500 focus:ring-red-500');
        } else {
            $('input[name="tahun_ajaran"]').removeClass('border-red-500 focus:ring-red-500');
        }
        
        if (errors.length > 0) {
            e.preventDefault();
            alert('Validasi Gagal:\n- ' + errors.join('\n- '));
        }
    });
});
</script>

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