<?php
require_once '../config.php';

// التحقق من تسجيل الدخول وصلاحيات المدير
requireLogin();
requirePermission('admin');

// التحقق من البيانات المرسلة
if (!isset($_POST['event_id']) || empty($_POST['event_id']) || !isset($_POST['status']) || empty($_POST['status'])) {
    setAlert('danger', 'البيانات المرسلة غير صحيحة');
    header('Location: ' . SITE_URL . '/events/index.php');
    exit;
}

$eventId = (int)$_POST['event_id'];
$status = sanitizeInput($_POST['status']);

// التحقق من صحة الحالة
$validStatuses = ['upcoming', 'ongoing', 'completed', 'cancelled'];
if (!in_array($status, $validStatuses)) {
    setAlert('danger', 'حالة النشاط غير صحيحة');
    header('Location: ' . SITE_URL . '/events/view.php?id=' . $eventId);
    exit;
}

// التحقق من وجود النشاط
$query = "SELECT id FROM events WHERE id = :id";
$event = fetchOne($query, [':id' => $eventId]);

if (!$event) {
    setAlert('danger', 'النشاط غير موجود');
    header('Location: ' . SITE_URL . '/events/index.php');
    exit;
}

// تحديث حالة النشاط
$query = "UPDATE events SET status = :status, updated_at = :updated_at WHERE id = :id";
$params = [
    ':id' => $eventId,
    ':status' => $status,
    ':updated_at' => date('Y-m-d H:i:s')
];

$result = execute($query, $params);

if ($result) {
    setAlert('success', 'تم تحديث حالة النشاط بنجاح');
} else {
    setAlert('danger', 'حدث خطأ أثناء تحديث حالة النشاط');
}

// إعادة التوجيه إلى صفحة عرض النشاط
header('Location: ' . SITE_URL . '/events/view.php?id=' . $eventId);
exit;
?>
