<?php
session_start();
require_once 'includes/config.php';
require_once 'includes/format-currency.php';

// KIỂM TRA BẢO MẬT
if (!isset($_SESSION['nguoi_dung_id']) || $_SESSION['vai_tro'] !== 'admin') {
    die("<h2 style='color:red; text-align:center; padding:50px;'>TRUY CẬP BỊ TỪ CHỐI!</h2>");
}

try {
    $pdo->exec("ALTER TABLE su_kien ADD COLUMN IF NOT EXISTS ngay_bat_dau DATETIME NULL");
    $pdo->exec("ALTER TABLE su_kien ADD COLUMN IF NOT EXISTS ngay_ket_thuc DATETIME NULL");
    $pdo->exec("ALTER TABLE su_kien ADD COLUMN IF NOT EXISTS mo_ta TEXT NULL");
    $pdo->exec("ALTER TABLE su_kien ADD COLUMN IF NOT EXISTS so_luong_tong INT DEFAULT NULL");
    // Backfill total from existing remaining if total not set
    $pdo->exec("UPDATE su_kien SET so_luong_tong = so_luong_nhan_su WHERE so_luong_tong IS NULL");
} catch (Exception $e) {}

$thong_bao = '';

if (isset($_GET['tu_yeu_cau_id'])) {
    $yc_id = (int)$_GET['tu_yeu_cau_id'];
    $stmt_yc_detail = $pdo->prepare("SELECT ten_khach_hang, dich_vu_quan_tam FROM yeu_cau_dat_lich WHERE id = ? LIMIT 1");
    $stmt_yc_detail->execute([$yc_id]);
    $yc_detail = $stmt_yc_detail->fetch(PDO::FETCH_ASSOC);
    if ($yc_detail) {
        $_SESSION['ten_su_kien_mac_dinh'] = $yc_detail['dich_vu_quan_tam'] . ' - ' . $yc_detail['ten_khach_hang'];
        header('Location: ?action=danh_sach');
        exit;
    }
}

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (isset($_POST['tao_su_kien'])) {
        $ten_su_kien = trim($_POST['ten_su_kien'] ?? '');
        $linh_vuc = $_POST['linh_vuc'] ?? 'nhac';
        $ngay_bat_dau = !empty($_POST['ngay_bat_dau']) ? date('Y-m-d H:i:s', strtotime($_POST['ngay_bat_dau'])) : null;
        $ngay_ket_thuc = !empty($_POST['ngay_ket_thuc']) ? date('Y-m-d H:i:s', strtotime($_POST['ngay_ket_thuc'])) : null;
        $ngay_dien_ra = $ngay_bat_dau ?: null;
        $thu_lao_du_kien = str_replace(['.', ','], '', $_POST['thu_lao_du_kien'] ?? '0');
        $so_luong_nhan_su = (int)($_POST['so_luong_nhan_su'] ?? 1);
        $mo_ta = trim($_POST['mo_ta'] ?? '');

        if ($ten_su_kien !== '') {
            try {
                $cols = ['ten_su_kien','linh_vuc','ngay_dien_ra','ngay_bat_dau','ngay_ket_thuc','thu_lao_du_kien','so_luong_nhan_su','trang_thai'];
                $values = [$ten_su_kien, $linh_vuc, $ngay_dien_ra, $ngay_bat_dau, $ngay_ket_thuc, $thu_lao_du_kien, $so_luong_nhan_su, 'dang_mo'];
                if ($pdo->query("SHOW COLUMNS FROM su_kien LIKE 'so_luong_tong'")->rowCount() > 0) {
                    $cols[] = 'so_luong_tong';
                    $values[] = $so_luong_nhan_su;
                }
                if ($pdo->query("SHOW COLUMNS FROM su_kien LIKE 'mo_ta'")->rowCount() > 0) {
                    $cols[] = 'mo_ta';
                    $values[] = $mo_ta;
                }
                $sql = 'INSERT INTO su_kien (' . implode(', ', $cols) . ') VALUES (' . str_repeat('?, ', count($cols) - 1) . '?)';
                $lenh_them = $pdo->prepare($sql);
                if ($lenh_them->execute($values)) {
                    $_SESSION['thong_bao_sk'] = 'success';
                } else {
                    $_SESSION['thong_bao_sk'] = 'error';
                }
            } catch (Exception $e) {
                $_SESSION['thong_bao_sk'] = 'error';
            }
            header('Location: phan-bo-su-kien.php');
            exit;
        } else {
            $_SESSION['thong_bao_sk'] = 'error';
        }
        header('Location: phan-bo-su-kien.php');
        exit;
    }

    if (isset($_POST['cap_nhat_su_kien'])) {
        $id_su_kien = (int)($_POST['su_kien_id'] ?? 0);
        $ten_su_kien = trim($_POST['ten_su_kien'] ?? '');
        $linh_vuc = $_POST['linh_vuc'] ?? 'nhac';
        $ngay_bat_dau = !empty($_POST['ngay_bat_dau']) ? date('Y-m-d H:i:s', strtotime($_POST['ngay_bat_dau'])) : null;
        $ngay_ket_thuc = !empty($_POST['ngay_ket_thuc']) ? date('Y-m-d H:i:s', strtotime($_POST['ngay_ket_thuc'])) : null;
        $ngay_dien_ra = $ngay_bat_dau ?: null;
        $thu_lao_du_kien = str_replace(['.', ','], '', $_POST['thu_lao_du_kien'] ?? '0');
        $so_luong_nhan_su = (int)($_POST['so_luong_nhan_su'] ?? 1);
        $mo_ta = trim($_POST['mo_ta'] ?? '');

        if ($id_su_kien > 0 && $ten_su_kien !== '') {
            try {
                $set = ['ten_su_kien = ?', 'linh_vuc = ?', 'ngay_dien_ra = ?', 'ngay_bat_dau = ?', 'ngay_ket_thuc = ?', 'thu_lao_du_kien = ?', 'so_luong_nhan_su = ?'];
                $values = [$ten_su_kien, $linh_vuc, $ngay_dien_ra, $ngay_bat_dau, $ngay_ket_thuc, $thu_lao_du_kien, $so_luong_nhan_su];
                if ($pdo->query("SHOW COLUMNS FROM su_kien LIKE 'so_luong_tong'")->rowCount() > 0) {
                    $set[] = 'so_luong_tong = ?';
                    $values[] = $so_luong_nhan_su;
                }
                if ($pdo->query("SHOW COLUMNS FROM su_kien LIKE 'mo_ta'")->rowCount() > 0) {
                    $set[] = 'mo_ta = ?';
                    $values[] = $mo_ta;
                }
                $set[] = 'id = ?';
                $values[] = $id_su_kien;
                $sql = 'UPDATE su_kien SET ' . implode(', ', $set) . ' WHERE id = ?';
                $lenh_cap_nhat = $pdo->prepare($sql);
                if ($lenh_cap_nhat->execute($values)) {
                    $_SESSION['thong_bao_sk'] = 'updated';
                } else {
                    $_SESSION['thong_bao_sk'] = 'error';
                }
            } catch (Exception $e) {
                $_SESSION['thong_bao_sk'] = 'error';
            }
            header('Location: phan-bo-su-kien.php');
            exit;
        } else {
            $_SESSION['thong_bao_sk'] = 'error';
        }
        header('Location: phan-bo-su-kien.php');
        exit;
    }
}

if (isset($_GET['hanh_dong']) && $_GET['hanh_dong'] === 'xoa') {
    $id_xoa = (int)($_GET['id'] ?? 0);
    if ($id_xoa > 0) {
        $pdo->prepare("DELETE FROM su_kien WHERE id = ?")->execute([$id_xoa]);
    }
    header('Location: phan-bo-su-kien.php');
    exit;
}

// LẤy thông báo từ session sau redirect
if (isset($_SESSION['thong_bao_sk'])) {
    if ($_SESSION['thong_bao_sk'] == 'success') {
        $thong_bao = "<div style='background:#d4edda; color:#155724; padding:10px; border-radius:5px; margin-bottom:15px; font-weight:bold;'>Đã khởi tạo sự kiện thành công! Hệ thống đang chờ nhân sự ứng tuyển.</div>";
    } elseif ($_SESSION['thong_bao_sk'] == 'updated') {
        $thong_bao = "<div style='background:#d4edda; color:#155724; padding:10px; border-radius:5px; margin-bottom:15px; font-weight:bold;'>Đã cập nhật thông tin sự kiện thành công.</div>";
    } else {
        $thong_bao = "<div style='background:#f8d7da; color:#721c24; padding:10px; border-radius:5px; margin-bottom:15px; font-weight:bold;'>Có lỗi xảy ra, vui lòng thử lại.</div>";
    }
    unset($_SESSION['thong_bao_sk']);
}

$action = trim($_GET['action'] ?? '');
$edit_id = isset($_GET['edit_id']) ? (int)$_GET['edit_id'] : 0;
$su_kien_sua = null;
if ($edit_id > 0) {
    $stmt_edit = $pdo->prepare("SELECT * FROM su_kien WHERE id = ? LIMIT 1");
    $stmt_edit->execute([$edit_id]);
    $su_kien_sua = $stmt_edit->fetch();
}

// Lấy danh sách yêu cầu đã duyệt từ trang xử lý hoạt động (chỉ dịch vụ/sự kiện, không khóa học)
$danh_sach_yeu_cau_duyet = [];
if ($action === 'tu_yeu_cau') {
    $stmt_yc = $pdo->prepare(<<<'SQL'
        SELECT id, ten_khach_hang, so_dien_thoai, dich_vu_quan_tam, tinh_thanh, dia_chi, ngay_tao, linh_vuc
        FROM yeu_cau_dat_lich
        WHERE trang_thai = 'hoan_thanh' AND linh_vuc IN ('nhac', 'hoa', 'dich_vu')
        ORDER BY ngay_tao DESC
SQL);
    $stmt_yc->execute();
    $danh_sach_yeu_cau_duyet = $stmt_yc->fetchAll(PDO::FETCH_ASSOC);
}

// Truy xuất danh sách sự kiện hiện có
$truy_van_sk = $pdo->query("SELECT * FROM su_kien ORDER BY ngay_tao DESC");
$danh_sach_su_kien = $truy_van_sk->fetchAll();
?>
<!DOCTYPE html>
<html lang="vi">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Phân bổ Sự kiện - Trạm Quản trị</title>
    <link rel="stylesheet" href="includes/admin-style.css">
</head>
<body>

    <?php require_once 'includes/menu-admin.php'; ?>

    <div class="khu-vuc-du-lieu">
        <div class="thanh-tren">
            Trung tâm Điều phối & Phân bổ Công việc
        </div>
        
        <div class="noi-dung-chinh">
            <?php echo $thong_bao; ?>
            
            <div style="display:flex; gap:10px; margin-bottom:20px; border-bottom:2px solid #0056b3;">
                <a href="?action=danh_sach" style="padding:12px 20px; background:<?php echo ($action !== 'tu_yeu_cau' ? '#0056b3' : '#e9ecef'); ?>; color:<?php echo ($action !== 'tu_yeu_cau' ? 'white' : '#333'); ?>; text-decoration:none; border-radius:5px 5px 0 0; font-weight:bold; cursor:pointer;">📋 Danh sách sự kiện</a>
                <a href="?action=tu_yeu_cau" style="padding:12px 20px; background:<?php echo ($action === 'tu_yeu_cau' ? '#0056b3' : '#e9ecef'); ?>; color:<?php echo ($action === 'tu_yeu_cau' ? 'white' : '#333'); ?>; text-decoration:none; border-radius:5px 5px 0 0; font-weight:bold; cursor:pointer;">➕ Tạo từ Yêu cầu đã duyệt</a>
            </div>
            
            <?php if ($action === 'tu_yeu_cau'): ?>
            <div class="khung-bang">
                <h3 style="margin-top:0;">Danh sách Yêu cầu đã duyệt</h3>
                <div class="bang-cuon"><table class="bang-du-lieu">
                    <thead>
                        <tr>
                            <th>Tên Khách hàng</th>
                            <th>Dịch vụ / Sự kiện</th>
                            <th>Địa chỉ</th>
                            <th>Ngày tạo</th>
                            <th>Thao tác</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php if (count($danh_sach_yeu_cau_duyet) > 0): ?>
                            <?php foreach ($danh_sach_yeu_cau_duyet as $yc): ?>
                                <tr>
                                    <td><strong><?php echo htmlspecialchars($yc['ten_khach_hang']); ?></strong><br><small style="color:#666;"><?php echo htmlspecialchars($yc['so_dien_thoai']); ?></small></td>
                                    <td><?php echo htmlspecialchars($yc['dich_vu_quan_tam']); ?></td>
                                    <td><?php echo htmlspecialchars($yc['dia_chi'] ?? $yc['tinh_thanh']); ?></td>
                                    <td><?php echo date('d/m/Y', strtotime($yc['ngay_tao'])); ?></td>
                                    <td>
                                        <a href="?action=tu_yeu_cau&tu_yeu_cau_id=<?php echo (int)$yc['id']; ?>" class="nut-hanh-dong">Tạo sự kiện</a>
                                    </td>
                                </tr>
                            <?php endforeach; ?>
                        <?php else: ?>
                            <tr>
                                <td colspan="5" style="text-align:center; padding: 20px; color: #999;">Chưa có yêu cầu nào được duyệt.</td>
                            </tr>
                        <?php endif; ?>
                    </tbody>
                </table></div>
            </div>
            <?php endif; ?>
            
            <?php if ($action !== 'tu_yeu_cau'): ?>
            <div class="khung-tao-moi" id="form-tao-su-kien">
                <h3 style="margin-top:0; color:#0056b3;">+ Tạo Sự kiện / Công việc mới</h3>
                <form method="POST" action="">
                    <div class="luoi-form-3">
                        <div class="nhom-nhap" style="grid-column: span 3;">
                            <label>Tên Sự kiện / Hạng mục công việc:</label>
                            <input type="text" id="ten_su_kien" name="ten_su_kien" required placeholder="Ví dụ: Chương trình Đào tạo Nghệ thuật Hè 2026, Cung cấp Ban nhạc Khai trương..." value="<?php echo htmlspecialchars($_SESSION['ten_su_kien_mac_dinh'] ?? ''); unset($_SESSION['ten_su_kien_mac_dinh']); ?>">
                        </div>
                        <div class="nhom-nhap">
                            <label>Lĩnh vực chuyên môn:</label>
                            <select name="linh_vuc">
                                <option value="nhac">Không gian Âm nhạc</option>
                                <option value="hoa">Không gian Hội họa</option>
                                <option value="chung">Hoạt động Cộng đồng</option>
                            </select>
                        </div>
                        <div class="nhom-nhap">
                            <label>Thời gian bắt đầu:</label>
                            <input type="datetime-local" name="ngay_bat_dau" required>
                        </div>
                        <div class="nhom-nhap">
                            <label>Thời gian kết thúc:</label>
                            <input type="datetime-local" name="ngay_ket_thuc" required>
                        </div>
                        <div class="nhom-nhap">
                            <label>Số lượng nhân sự cần:</label>
                            <input type="number" name="so_luong_nhan_su" min="1" value="1" required>
                        </div>
                        <div class="nhom-nhap">
                            <label>Tổng Thù lao / Ngân sách (VNĐ):</label>
                            <input type="text" name="thu_lao_du_kien" required placeholder="Ví dụ: 5000000">
                        </div>
                        <div class="nhom-nhap" style="grid-column: 1 / -1; width: 100%;">
                            <label>Mô tả công việc / yêu cầu:</label>
                            <textarea name="mo_ta" rows="6" style="width:100%; min-height:180px; resize:vertical; padding:10px; border:1px solid #cfd8e3; border-radius:8px; font-size:14px; line-height:1.5;" placeholder="Mô tả chi tiết về sự kiện, nhiệm vụ, địa điểm, yêu cầu của công việc..."></textarea>
                        </div>
                        <div class="nhom-nhap">
                            <button type="submit" name="tao_su_kien" class="nut-tao">Phát hành Yêu cầu</button>
                        </div>
                    </div>
                </form>
            </div>
            <?php endif; ?>

            <?php if ($su_kien_sua): ?>
            <div class="khung-tao-moi" style="border: 2px solid #f0ad4e; background: #fff8e1;">
                <h3 style="margin-top:0; color:#8a6d3b;">✏️ Chỉnh sửa sự kiện</h3>
                <form method="POST" action="">
                    <input type="hidden" name="su_kien_id" value="<?php echo (int)$su_kien_sua['id']; ?>">
                    <div class="luoi-form-3">
                        <div class="nhom-nhap" style="grid-column: span 3;">
                            <label>Tên Sự kiện / Hạng mục công việc:</label>
                            <input type="text" name="ten_su_kien" required value="<?php echo htmlspecialchars($su_kien_sua['ten_su_kien']); ?>">
                        </div>
                        <div class="nhom-nhap">
                            <label>Lĩnh vực chuyên môn:</label>
                            <select name="linh_vuc">
                                <option value="nhac" <?php echo ($su_kien_sua['linh_vuc'] ?? '') === 'nhac' ? 'selected' : ''; ?>>Không gian Âm nhạc</option>
                                <option value="hoa" <?php echo ($su_kien_sua['linh_vuc'] ?? '') === 'hoa' ? 'selected' : ''; ?>>Không gian Hội họa</option>
                                <option value="chung" <?php echo ($su_kien_sua['linh_vuc'] ?? '') === 'chung' ? 'selected' : ''; ?>>Hoạt động Cộng đồng</option>
                            </select>
                        </div>
                        <div class="nhom-nhap">
                            <label>Thời gian bắt đầu:</label>
                            <input type="datetime-local" name="ngay_bat_dau" value="<?php echo !empty($su_kien_sua['ngay_bat_dau']) ? date('Y-m-d\TH:i', strtotime($su_kien_sua['ngay_bat_dau'])) : (!empty($su_kien_sua['ngay_dien_ra']) ? date('Y-m-d\TH:i', strtotime($su_kien_sua['ngay_dien_ra'])) : ''); ?>">
                        </div>
                        <div class="nhom-nhap">
                            <label>Thời gian kết thúc:</label>
                            <input type="datetime-local" name="ngay_ket_thuc" value="<?php echo !empty($su_kien_sua['ngay_ket_thuc']) ? date('Y-m-d\TH:i', strtotime($su_kien_sua['ngay_ket_thuc'])) : ''; ?>">
                        </div>
                        <div class="nhom-nhap">
                            <label>Số lượng nhân sự cần:</label>
                            <input type="number" name="so_luong_nhan_su" min="1" value="<?php echo (int)($su_kien_sua['so_luong_nhan_su'] ?? 1); ?>" required>
                        </div>
                        <div class="nhom-nhap">
                            <label>Tổng Thù lao / Ngân sách (VNĐ):</label>
                            <input type="text" name="thu_lao_du_kien" required value="<?php echo htmlspecialchars($su_kien_sua['thu_lao_du_kien'] ?? ''); ?>">
                        </div>
                        <div class="nhom-nhap" style="grid-column: 1 / -1; width: 100%;">
                            <label>Mô tả công việc / yêu cầu:</label>
                            <textarea name="mo_ta" rows="6" style="width:100%; min-height:180px; resize:vertical; padding:10px; border:1px solid #cfd8e3; border-radius:8px; font-size:14px; line-height:1.5;"><?php echo htmlspecialchars($su_kien_sua['mo_ta'] ?? ''); ?></textarea>
                        </div>
                        <div class="nhom-nhap">
                            <button type="submit" name="cap_nhat_su_kien" class="nut-tao">💾 Lưu thay đổi</button>
                        </div>
                        <div class="nhom-nhap">
                            <a href="phan-bo-su-kien.php" style="display:inline-block;padding:10px 14px;background:#6c757d;color:white;border-radius:5px;text-decoration:none;">Hủy</a>
                        </div>
                    </div>
                </form>
            </div>
            <?php endif; ?>

            <?php if ($action !== 'tu_yeu_cau'): ?>
            <div class="khung-bang">
                <h3 style="margin-top:0;">Danh sách Đang điều phối</h3>
                <div class="bang-cuon"><table class="bang-du-lieu">
                    <thead>
                        <tr>
                            <th>Tên Sự kiện</th>
                            <th>Lĩnh vực</th>
                            <th>Thời gian</th>
                            <th>Ngân sách</th>
                            <th>Trạng thái</th>
                            <th>Thao tác</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php if (count($danh_sach_su_kien) > 0): ?>
                            <?php foreach ($danh_sach_su_kien as $sk): ?>
                                <tr>
                                    <td><strong><?php echo htmlspecialchars($sk['ten_su_kien']); ?></strong></td>
                                    <td>
                                        <?php 
                                            $ten_lv = ['nhac' => 'Âm nhạc', 'hoa' => 'Hội họa', 'chung' => 'Cộng đồng'];
                                            echo isset($ten_lv[$sk['linh_vuc']]) ? $ten_lv[$sk['linh_vuc']] : $sk['linh_vuc'];
                                        ?>
                                    </td>
                                    <td><?php echo date('d/m/Y H:i', strtotime($sk['ngay_dien_ra'])); ?></td>
                                    <td style="color:#28a745; font-weight:bold;"><?php echo number_format($sk['thu_lao_du_kien'], 0, ',', '.'); ?> ₫</td>
                                    <td>
                                        <?php if($sk['trang_thai'] == 'dang_mo'): ?>
                                            <span class="trang-thai-mo">Đang nhận hồ sơ (Cần <?php echo $sk['so_luong_nhan_su']; ?>)</span>
                                        <?php elseif($sk['trang_thai'] == 'da_chot'): ?>
                                            <span class="trang-thai-chot">Đã chốt danh sách</span>
                                        <?php else: ?>
                                            <span style="background: #d4edda; color: #155724; padding: 4px 8px; border-radius: 4px; font-size: 12px; font-weight:bold;">Hoàn tất</span>
                                        <?php endif; ?>
                                    </td>
                                    <td>
                                        <div style="display:flex; flex-direction:column; gap:6px;">
                                            <a href="quan-ly-ung-tuyen.php?su_kien_id=<?php echo (int)$sk['id']; ?>" class="nut-hanh-dong">Chi tiết & Giao việc</a>
                                            <a href="?edit_id=<?php echo (int)$sk['id']; ?>" style="color:#0d6efd; font-weight:bold; text-decoration:none;">✏️ Sửa</a>
                                            <a href="?hanh_dong=xoa&id=<?php echo (int)$sk['id']; ?>" style="color:#dc3545; font-weight:bold; text-decoration:none;" onclick="return confirm('Xóa sự kiện này?')">🗑 Xóa</a>
                                        </div>
                                    </td>
                                </tr>
                            <?php endforeach; ?>
                        <?php else: ?>
                            <tr>
                                <td colspan="6" style="text-align:center; padding: 20px; color: #999;">Chưa có sự kiện nào được tạo.</td>
                            </tr>
                        <?php endif; ?>
                    </tbody>
                </table></div>
            </div>
            <?php endif; ?>
        </div>
    </div>

    <script>
    <?php if (isset($_SESSION['ten_su_kien_mac_dinh'])): ?>
        window.addEventListener('load', function() {
            document.getElementById('form-tao-su-kien').scrollIntoView({ behavior: 'smooth' });
            document.getElementById('ten_su_kien').focus();
        });
    <?php endif; ?>
    </script>

</body>
</html>