<?php
session_start();
if (!isset($_SESSION['username']) || !in_array($_SESSION['role'], ['admin', 'pengurus'])) {
    header("Location: index.php"); exit;
}
include 'config.php';

$upload_dir = "uploads_penugasan/";
if (!is_dir($upload_dir)) { mkdir($upload_dir, 0777, true); }

// 1. PROSES SIMPAN
if (isset($_POST['tambah_tugas'])) {
    $nama_tugas   = mysqli_real_escape_string($conn, $_POST['nama_tugas']);
    $deskripsi    = mysqli_real_escape_string($conn, $_POST['deskripsi']);
    $tanggal      = $_POST['tanggal'];
    $lokasi       = mysqli_real_escape_string($conn, $_POST['lokasi']);
    $status       = $_POST['status'];
    
    // Mengambil array nama yang dicentang dan menggabungnya jadi satu string
    $nama_petugas = isset($_POST['pilih_anggota']) ? implode(", ", $_POST['pilih_anggota']) : "Tanpa Petugas";
    
    $foto = "";
    if (!empty($_FILES['foto']['name'])) {
        $ext = pathinfo($_FILES['foto']['name'], PATHINFO_EXTENSION);
        $foto = "TUGAS_" . time() . "_" . rand(100,999) . "." . $ext;
        move_uploaded_file($_FILES['foto']['tmp_name'], $upload_dir . $foto);
    }

    $q = mysqli_query($conn, "INSERT INTO penugasan (nama_tugas, deskripsi, tanggal, nama_petugas, lokasi, status, foto) 
                             VALUES ('$nama_tugas', '$deskripsi', '$tanggal', '$nama_petugas', '$lokasi', '$status', '$foto')");
    
    if($q) { header("Location: penugasan.php?msg=saved"); exit; }
}

// 2. PROSES UPDATE
if (isset($_POST['edit_tugas'])) {
    $id           = $_POST['id_edit'];
    $nama_tugas   = mysqli_real_escape_string($conn, $_POST['nama_tugas']);
    $deskripsi    = mysqli_real_escape_string($conn, $_POST['deskripsi']);
    $tanggal      = $_POST['tanggal'];
    $nama_petugas = mysqli_real_escape_string($conn, $_POST['nama_petugas_edit']);
    $lokasi       = mysqli_real_escape_string($conn, $_POST['lokasi']);
    $status       = $_POST['status'];

    $lama = mysqli_fetch_assoc(mysqli_query($conn, "SELECT foto FROM penugasan WHERE id='$id'"));
    $foto_baru = $lama['foto'];

    if (!empty($_FILES['foto']['name'])) {
        if(!empty($lama['foto']) && file_exists($upload_dir . $lama['foto'])) @unlink($upload_dir . $lama['foto']);
        $ext = pathinfo($_FILES['foto']['name'], PATHINFO_EXTENSION);
        $foto_baru = "TUGAS_UPD_" . time() . "." . $ext;
        move_uploaded_file($_FILES['foto']['tmp_name'], $upload_dir . $foto_baru);
    }

    mysqli_query($conn, "UPDATE penugasan SET nama_tugas='$nama_tugas', deskripsi='$deskripsi', tanggal='$tanggal', nama_petugas='$nama_petugas', lokasi='$lokasi', status='$status', foto='$foto_baru' WHERE id='$id'");
    header("Location: penugasan.php?msg=updated"); exit;
}

// 3. PROSES HAPUS
if (isset($_GET['hapus'])) {
    $id = intval($_GET['hapus']);
    $data = mysqli_fetch_assoc(mysqli_query($conn, "SELECT foto FROM penugasan WHERE id='$id'"));
    if(!empty($data['foto']) && file_exists($upload_dir . $data['foto'])) @unlink($upload_dir . $data['foto']);
    mysqli_query($conn, "DELETE FROM penugasan WHERE id='$id'");
    header("Location: penugasan.php?msg=deleted"); exit;
}
?>

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Penugasan | E-PMR PRO</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700;800&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
    <style>
        :root { --pmr-red: #e11d48; --bg: #f8fafc; }
        body { background: var(--bg); font-family: 'Plus Jakarta Sans', sans-serif; color: #1e293b; }
        .card-custom { border: none; border-radius: 24px; background: white; box-shadow: 0 10px 30px rgba(0,0,0,0.03); overflow: hidden; }
        .form-task { border: none; background: #f1f5f9; border-radius: 12px; padding: 12px; font-size: 14px; }
        .list-petugas { max-height: 160px; overflow-y: auto; background: #f1f5f9; border-radius: 12px; padding: 15px; border: 1px solid #e2e8f0; }
        .img-task { width: 100%; height: 180px; object-fit: cover; }
        .fw-800 { font-weight: 800; }
    </style>
</head>
<body class="pb-5">

<div class="container py-4">
    <div class="d-flex justify-content-between align-items-center mb-4 px-2">
        <div>
            <h3 class="fw-800 mb-0">Input <span class="text-danger">Penugasan</span></h3>
            <p class="text-muted small mb-0">Kelola tugas jaga, UKS, dan bakti anggota</p>
        </div>
        <button class="btn btn-danger rounded-pill fw-bold px-4 shadow-sm" data-bs-toggle="collapse" data-bs-target="#formTambah">Tambah Tugas</button>
    </div>

    <div class="collapse mb-4" id="formTambah">
        <div class="card border-0 shadow-sm p-4 rounded-4">
            <form method="POST" enctype="multipart/form-data" class="row g-3">
                <div class="col-md-12">
                    <label class="small fw-bold mb-2">Pilih Nama Petugas (Bisa Banyak):</label>
                    <div class="list-petugas row g-0">
                        <?php 
                        $qs = mysqli_query($conn, "SELECT nama FROM siswa WHERE status='aktif' ORDER BY nama ASC");
                        while($s = mysqli_fetch_assoc($qs)): ?>
                        <div class="col-md-4 col-6 mb-1">
                            <div class="form-check">
                                <input class="form-check-input" type="checkbox" name="pilih_anggota[]" value="<?= $s['nama'] ?>" id="check-<?= $s['nama'] ?>">
                                <label class="form-check-label small" for="check-<?= $s['nama'] ?>"><?= $s['nama'] ?></label>
                            </div>
                        </div>
                        <?php endwhile; ?>
                    </div>
                </div>
                <div class="col-md-6"><label class="small fw-bold">Nama Tugas / Hari Penting</label><input type="text" name="nama_tugas" class="form-control form-task" placeholder="Contoh: Jaga Upacara Bendera" required></div>
                <div class="col-md-3"><label class="small fw-bold">Tanggal</label><input type="date" name="tanggal" class="form-control form-task" value="<?= date('Y-m-d') ?>" required></div>
                <div class="col-md-3"><label class="small fw-bold">Lokasi</label><input type="text" name="lokasi" class="form-control form-task" placeholder="Contoh: Lapangan / UKS" required></div>
                <div class="col-md-6"><label class="small fw-bold">Status</label>
                    <select name="status" class="form-select form-task">
                        <option value="Selesai">Selesai</option><option value="Izin">Izin</option><option value="Alpha">Alpha</option>
                    </select>
                </div>
                <div class="col-md-6"><label class="small fw-bold">Upload Foto Dokumentasi</label><input type="file" name="foto" class="form-control form-task"></div>
                <div class="col-md-12"><label class="small fw-bold">Deskripsi / Hasil Tugas</label><textarea name="deskripsi" class="form-control form-task" rows="2" placeholder="Catatan hasil kegiatan..."></textarea></div>
                <div class="col-12"><button type="submit" name="tambah_tugas" class="btn btn-danger w-100 rounded-pill fw-bold py-2 shadow">SIMPAN PENUGASAN</button></div>
            </form>
        </div>
    </div>

    <div class="row g-4">
        <?php 
        $q = mysqli_query($conn, "SELECT * FROM penugasan ORDER BY tanggal DESC");
        while($row = mysqli_fetch_assoc($q)):
            $st = $row['status'];
            $bg = ($st == 'Selesai') ? 'bg-success' : 'bg-warning';
        ?>
        <div class="col-md-4">
            <div class="card-custom h-100 shadow-sm">
                <?php if($row['foto']): ?>
                    <img src="<?= $upload_dir . $row['foto'] ?>" class="img-task">
                <?php else: ?>
                    <div class="img-task bg-light d-flex align-items-center justify-content-center text-muted">
                        <i class="fas fa-camera fa-2x opacity-25"></i>
                    </div>
                <?php endif; ?>
                
                <div class="p-4">
                    <div class="d-flex justify-content-between mb-2">
                        <span class="badge <?= $bg ?> rounded-pill small"><?= strtoupper($st) ?></span>
                        <small class="text-muted"><?= date('d M Y', strtotime($row['tanggal'])) ?></small>
                    </div>
                    <h6 class="fw-800 mb-1 text-uppercase"><?= $row['nama_tugas'] ?></h6>
                    <p class="text-danger small mb-2 fw-bold"><i class="fas fa-users-viewfinder me-1"></i> <?= $row['nama_petugas'] ?></p>
                    <p class="text-muted small mb-0"><i class="fas fa-map-pin me-1"></i> <?= $row['lokasi'] ?></p>
                    
                    <div class="mt-3 pt-2 border-top d-flex justify-content-between">
                        <button class="btn btn-sm btn-link text-primary fw-bold text-decoration-none btn-edit" 
                            data-id="<?= $row['id'] ?>" data-nama="<?= $row['nama_tugas'] ?>" 
                            data-des="<?= $row['deskripsi'] ?>" data-tgl="<?= $row['tanggal'] ?>" 
                            data-lok="<?= $row['lokasi'] ?>" data-petugas="<?= $row['nama_petugas'] ?>" 
                            data-st="<?= $row['status'] ?>">Edit</button>
                        <a href="javascript:void(0)" onclick="confirmDel(<?= $row['id'] ?>)" class="text-danger small"><i class="fas fa-trash-alt"></i></a>
                    </div>
                </div>
            </div>
        </div>
        <?php endwhile; ?>
    </div>
</div>

<div class="modal fade" id="modalEdit" tabindex="-1">
    <div class="modal-dialog modal-dialog-centered">
        <form method="POST" enctype="multipart/form-data" class="modal-content border-0 rounded-4">
            <div class="modal-header border-0 pb-0"><h5 class="fw-800">Edit Laporan</h5><button type="button" class="btn-close" data-bs-dismiss="modal"></button></div>
            <div class="modal-body">
                <input type="hidden" name="id_edit" id="ed_id">
                <div class="mb-3"><label class="small fw-bold">Nama Petugas (Edit Teks)</label><input type="text" name="nama_petugas_edit" id="ed_petugas" class="form-control form-task" required></div>
                <div class="mb-3"><label class="small fw-bold">Nama Tugas</label><input type="text" name="nama_tugas" id="ed_nama" class="form-control form-task" required></div>
                <div class="row g-2">
                    <div class="col-6 mb-3"><label class="small fw-bold">Tanggal</label><input type="date" name="tanggal" id="ed_tgl" class="form-control form-task" required></div>
                    <div class="col-6 mb-3"><label class="small fw-bold">Status</label>
                        <select name="status" id="ed_st" class="form-select form-task">
                            <option value="Selesai">Selesai</option><option value="Izin">Izin</option><option value="Alpha">Alpha</option>
                        </select>
                    </div>
                </div>
                <div class="mb-3"><label class="small fw-bold">Lokasi</label><input type="text" name="lokasi" id="ed_lok" class="form-control form-task" required></div>
                <div class="mb-3"><label class="small fw-bold">Deskripsi</label><textarea name="deskripsi" id="ed_des" class="form-control form-task"></textarea></div>
                <div class="mb-3"><label class="small fw-bold text-danger">Ganti Foto (Opsional)</label><input type="file" name="foto" class="form-control form-task"></div>
            </div>
            <div class="modal-footer border-0"><button type="submit" name="edit_tugas" class="btn btn-danger w-100 rounded-pill fw-bold">Simpan Perubahan</button></div>
        </form>
    </div>
</div>

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<script>
    $('.btn-edit').on('click', function() {
        $('#ed_id').val($(this).data('id'));
        $('#ed_nama').val($(this).data('nama'));
        $('#ed_petugas').val($(this).data('petugas'));
        $('#ed_des').val($(this).data('des'));
        $('#ed_tgl').val($(this).data('tgl'));
        $('#ed_lok').val($(this).data('lok'));
        $('#ed_st').val($(this).data('st'));
        $('#modalEdit').modal('show');
    });

    function confirmDel(id) {
        Swal.fire({
            title: 'Hapus data?', text: "Data tidak bisa dikembalikan!", icon: 'warning',
            showCancelButton: true, confirmButtonColor: '#e11d48', confirmButtonText: 'Ya, Hapus'
        }).then((result) => { if (result.isConfirmed) window.location.href = "?hapus=" + id; });
    }
</script>
</body>
</html>