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

// Cek login
checkLogin();

$current_user = getCurrentUser();
$tahun_ajaran_aktif = getTahunAjaranAktif();

if (!$tahun_ajaran_aktif) {
    $_SESSION['modal_title'] = 'Tahun Ajaran Tidak Aktif!';
    $_SESSION['modal_message'] = 'Tidak ada tahun ajaran yang aktif. Silakan aktifkan tahun ajaran terlebih dahulu.';
    $_SESSION['modal_type'] = 'warning';
    $_SESSION['modal_redirect'] = 'index.php';
    header('Location: index.php');
    exit;
}

// Ambil data siswa aktif
$siswa_query = "SELECT s.*, sk.id_kelas, k.nama_kelas 
                FROM bkcare_siswa s
                LEFT JOIN bkcare_siswa_kelas sk ON s.id_siswa = sk.id_siswa AND sk.status = 'aktif'
                LEFT JOIN bkcare_kelas k ON sk.id_kelas = k.id_kelas
                WHERE s.status = 'aktif'
                ORDER BY s.nama ASC";
$siswa_result = mysqli_query($conn, $siswa_query);

// Proses tambah data
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $id_siswa = (int)$_POST['id_siswa'];
    $tanggal = mysqli_real_escape_string($conn, $_POST['tanggal']);
    $jenis_masalah = mysqli_real_escape_string($conn, $_POST['jenis_masalah']);
    $deskripsi = mysqli_real_escape_string($conn, $_POST['deskripsi']);
    $status = 'baru'; // Default status
    
    // Validasi
    $errors = [];
    
    if ($id_siswa <= 0) {
        $errors[] = 'Siswa harus dipilih';
    }
    
    if (empty($tanggal)) {
        $errors[] = 'Tanggal laporan harus diisi';
    }
    
    if (empty($jenis_masalah)) {
        $errors[] = 'Jenis masalah harus diisi';
    }
    
    if (empty($deskripsi)) {
        $errors[] = 'Deskripsi masalah harus diisi';
    }
    
    // Jika tidak ada error
    if (empty($errors)) {
        $query = "INSERT INTO bkcare_laporan_masalah (id_siswa, id_pelapor, id_tahun_ajaran, tanggal, jenis_masalah, deskripsi, status) 
                  VALUES ($id_siswa, {$current_user['id_user']}, {$tahun_ajaran_aktif['id_tahun_ajaran']}, '$tanggal', '$jenis_masalah', '$deskripsi', '$status')";
        
        if (mysqli_query($conn, $query)) {
            $id_laporan = mysqli_insert_id($conn);
            
            // Buat notifikasi untuk guru BK
            $pesan = "Laporan masalah baru dari " . $current_user['nama'] . " untuk siswa";
            $notif_query = "INSERT INTO bkcare_notifikasi (id_user, pesan, status) 
                           SELECT id_user, '$pesan', 'belum_dibaca' 
                           FROM bkcare_users 
                           WHERE role IN ('guru_bk', 'admin') AND is_active = 1";
            mysqli_query($conn, $notif_query);
            
            $_SESSION['modal_title'] = 'Berhasil!';
            $_SESSION['modal_message'] = 'Laporan masalah berhasil dibuat';
            $_SESSION['modal_type'] = 'success';
            $_SESSION['modal_redirect'] = 'detail.php?id=' . $id_laporan;
        } else {
            $_SESSION['modal_title'] = 'Gagal!';
            $_SESSION['modal_message'] = 'Gagal membuat laporan: ' . mysqli_error($conn);
            $_SESSION['modal_type'] = 'danger';
            $_SESSION['modal_redirect'] = 'tambah.php';
        }
    } else {
        $_SESSION['modal_title'] = 'Validasi Gagal!';
        $_SESSION['modal_message'] = implode('<br>', $errors);
        $_SESSION['modal_type'] = 'warning';
        $_SESSION['modal_redirect'] = 'tambah.php';
    }
    
    header('Location: ' . $_SESSION['modal_redirect']);
    exit;
}

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

<!-- Main Content -->
<main class="container mx-auto px-4 py-6">
    <div class="max-w-3xl mx-auto">
        <!-- Header -->
        <div class="flex items-center mb-6">
            <a href="index.php" class="text-gray-600 hover:text-red-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-flag text-red-600 mr-3"></i>
                    Buat Laporan Masalah
                </h1>
                <p class="text-gray-600 text-sm mt-1">Isi form berikut untuk membuat laporan masalah siswa</p>
            </div>
        </div>

        <!-- Info Tahun Ajaran -->
        <div class="bg-blue-50 border-l-4 border-blue-500 p-4 mb-6 rounded-lg">
            <div class="flex items-start">
                <i class="fas fa-info-circle text-blue-500 mt-1 mr-3"></i>
                <div>
                    <p class="text-sm text-blue-700">
                        <span class="font-semibold">Tahun Ajaran Aktif:</span> 
                        <?= $tahun_ajaran_aktif['tahun_ajaran'] ?> - Semester <?= ucfirst($tahun_ajaran_aktif['semester']) ?>
                    </p>
                    <p class="text-xs text-blue-600 mt-1">Laporan akan dibuat untuk tahun ajaran aktif saat ini</p>
                </div>
            </div>
        </div>

        <!-- Form -->
        <div class="card-stat p-8">
            <form action="" method="POST" id="tambahForm">
                <!-- Pilih Siswa -->
                <div class="mb-6">
                    <label class="block text-sm font-medium text-gray-700 mb-2">
                        <i class="fas fa-user-graduate text-red-600 mr-2"></i>
                        Siswa <span class="text-red-500">*</span>
                    </label>
                    <select name="id_siswa" 
                            class="w-full px-4 py-3 border border-gray-300 rounded-xl focus:ring-2 focus:ring-red-600 focus:border-transparent outline-none transition bg-gray-50"
                            required>
                        <option value="">-- Pilih Siswa --</option>
                        <?php while($siswa = mysqli_fetch_assoc($siswa_result)): ?>
                            <option value="<?= $siswa['id_siswa'] ?>" 
                                    <?= (isset($_POST['id_siswa']) && $_POST['id_siswa'] == $siswa['id_siswa']) ? 'selected' : '' ?>>
                                <?= htmlspecialchars($siswa['nama']) ?> (NIS: <?= $siswa['nis'] ?>) - Kelas: <?= $siswa['nama_kelas'] ?: '-' ?>
                            </option>
                        <?php endwhile; ?>
                    </select>
                </div>

                <!-- Tanggal dan Jenis Masalah -->
                <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
                    <div>
                        <label class="block text-sm font-medium text-gray-700 mb-2">
                            <i class="fas fa-calendar-alt text-red-600 mr-2"></i>
                            Tanggal Laporan <span class="text-red-500">*</span>
                        </label>
                        <input type="date" 
                               name="tanggal" 
                               class="w-full px-4 py-3 border border-gray-300 rounded-xl focus:ring-2 focus:ring-red-600 focus:border-transparent outline-none transition bg-gray-50"
                               value="<?= isset($_POST['tanggal']) ? $_POST['tanggal'] : date('Y-m-d') ?>"
                               required>
                    </div>
                    <div>
                        <label class="block text-sm font-medium text-gray-700 mb-2">
                            <i class="fas fa-tag text-red-600 mr-2"></i>
                            Jenis Masalah <span class="text-red-500">*</span>
                        </label>
                        <select name="jenis_masalah" 
                                class="w-full px-4 py-3 border border-gray-300 rounded-xl focus:ring-2 focus:ring-red-600 focus:border-transparent outline-none transition bg-gray-50"
                                required>
                            <option value="">-- Pilih Jenis Masalah --</option>
                            <option value="Akademik" <?= (isset($_POST['jenis_masalah']) && $_POST['jenis_masalah'] == 'Akademik') ? 'selected' : '' ?>>Akademik</option>
                            <option value="Perilaku" <?= (isset($_POST['jenis_masalah']) && $_POST['jenis_masalah'] == 'Perilaku') ? 'selected' : '' ?>>Perilaku</option>
                            <option value="Kedisiplinan" <?= (isset($_POST['jenis_masalah']) && $_POST['jenis_masalah'] == 'Kedisiplinan') ? 'selected' : '' ?>>Kedisiplinan</option>
                            <option value="Sosial" <?= (isset($_POST['jenis_masalah']) && $_POST['jenis_masalah'] == 'Sosial') ? 'selected' : '' ?>>Sosial</option>
                            <option value="Keluarga" <?= (isset($_POST['jenis_masalah']) && $_POST['jenis_masalah'] == 'Keluarga') ? 'selected' : '' ?>>Keluarga</option>
                            <option value="Kesehatan" <?= (isset($_POST['jenis_masalah']) && $_POST['jenis_masalah'] == 'Kesehatan') ? 'selected' : '' ?>>Kesehatan</option>
                            <option value="Lainnya" <?= (isset($_POST['jenis_masalah']) && $_POST['jenis_masalah'] == 'Lainnya') ? 'selected' : '' ?>>Lainnya</option>
                        </select>
                    </div>
                </div>

                <!-- Deskripsi Masalah -->
                <div class="mb-6">
                    <label class="block text-sm font-medium text-gray-700 mb-2">
                        <i class="fas fa-align-left text-red-600 mr-2"></i>
                        Deskripsi Masalah <span class="text-red-500">*</span>
                    </label>
                    <textarea name="deskripsi" 
                              rows="5" 
                              class="w-full px-4 py-3 border border-gray-300 rounded-xl focus:ring-2 focus:ring-red-600 focus:border-transparent outline-none transition bg-gray-50"
                              placeholder="Jelaskan secara detail masalah yang terjadi..."
                              required><?= isset($_POST['deskripsi']) ? htmlspecialchars($_POST['deskripsi']) : '' ?></textarea>
                    <p class="text-xs text-gray-500 mt-2">
                        <i class="fas fa-info-circle mr-1"></i>
                        Berikan deskripsi yang jelas dan detail mengenai masalah yang terjadi
                    </p>
                </div>

                <!-- Informasi Tambahan -->
                <div class="mb-8 bg-yellow-50 p-4 rounded-xl">
                    <div class="flex items-start">
                        <i class="fas fa-lightbulb text-yellow-600 mt-1 mr-3"></i>
                        <div>
                            <p class="text-sm font-medium text-yellow-800">Informasi Penting:</p>
                            <ul class="text-xs text-yellow-700 mt-2 list-disc list-inside">
                                <li>Laporan akan langsung diteruskan ke Guru BK untuk diproses</li>
                                <li>Status awal laporan adalah "Baru"</li>
                                <li>Anda akan mendapat notifikasi jika ada perkembangan dari laporan ini</li>
                            </ul>
                        </div>
                    </div>
                </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="bg-red-600 text-white px-6 py-3 rounded-xl hover:bg-red-700 transition text-sm flex items-center">
                        <i class="fas fa-paper-plane mr-2"></i>Kirim Laporan
                    </button>
                </div>
            </form>
        </div>
    </div>
</main>

<script>
$(document).ready(function() {
    $('#tambahForm').on('submit', function(e) {
        let id_siswa = $('select[name="id_siswa"]').val();
        let tanggal = $('input[name="tanggal"]').val();
        let jenis_masalah = $('select[name="jenis_masalah"]').val();
        let deskripsi = $('textarea[name="deskripsi"]').val();
        let errors = [];
        
        if (!id_siswa) {
            errors.push('Siswa harus dipilih');
        }
        
        if (!tanggal) {
            errors.push('Tanggal laporan harus diisi');
        }
        
        if (!jenis_masalah) {
            errors.push('Jenis masalah harus dipilih');
        }
        
        if (!deskripsi || deskripsi.length < 10) {
            errors.push('Deskripsi masalah minimal 10 karakter');
        }
        
        if (errors.length > 0) {
            e.preventDefault();
            alert('Validasi Gagal:\n- ' + errors.join('\n- '));
        }
    });
});
</script>

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