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

// التحقق من تسجيل الدخول
requireLogin();

// التحقق من الصلاحيات
requirePermission('admin');

// الحصول على قائمة الفئات
$categories = fetchAll("SELECT * FROM categories ORDER BY name ASC");

// الحصول على قائمة المدربين
$coaches = fetchAll("SELECT id, first_name, last_name FROM coaches ORDER BY first_name ASC");

// معالجة إضافة نشاط جديد
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // استخراج البيانات من النموذج
    $title = sanitizeInput($_POST['title']);
    $description = sanitizeInput($_POST['description']);
    $location = sanitizeInput($_POST['location']);
    $startDate = sanitizeInput($_POST['start_date']);
    $endDate = sanitizeInput($_POST['end_date']);
    $startTime = sanitizeInput($_POST['start_time']);
    $endTime = sanitizeInput($_POST['end_time']);
    $categoryId = isset($_POST['category_id']) ? (int)$_POST['category_id'] : null;
    $maxParticipants = isset($_POST['max_participants']) ? (int)$_POST['max_participants'] : 0;
    $registrationRequired = isset($_POST['registration_required']) ? 1 : 0;
    $registrationDeadline = !empty($_POST['registration_deadline']) ? sanitizeInput($_POST['registration_deadline']) : null;
    $status = sanitizeInput($_POST['status']);
    
    // التحقق من البيانات
    $errors = [];
    
    if (empty($title)) {
        $errors[] = 'عنوان النشاط مطلوب';
    }
    
    if (empty($startDate)) {
        $errors[] = 'تاريخ بدء النشاط مطلوب';
    }
    
    // إذا لم تكن هناك أخطاء، قم بإضافة النشاط
    if (empty($errors)) {
        // معالجة تحميل الصورة إذا تم تحديدها
        $imageName = null;
        if (isset($_FILES['image']) && $_FILES['image']['size'] > 0) {
            $uploadDir = '../uploads/events/';
            
            // إنشاء المجلد إذا لم يكن موجودًا
            if (!file_exists($uploadDir)) {
                mkdir($uploadDir, 0777, true);
            }
            
            $fileName = time() . '_' . basename($_FILES['image']['name']);
            $targetFile = $uploadDir . $fileName;
            
            // التحقق من نوع الملف
            $allowedTypes = ['image/jpeg', 'image/png', 'image/gif'];
            if (in_array($_FILES['image']['type'], $allowedTypes)) {
                // نقل الملف إلى المجلد المحدد
                if (move_uploaded_file($_FILES['image']['tmp_name'], $targetFile)) {
                    $imageName = $fileName;
                } else {
                    $errors[] = 'فشل في تحميل الصورة';
                }
            } else {
                $errors[] = 'نوع الملف غير مدعوم. يرجى تحميل صورة بتنسيق JPG أو PNG أو GIF';
            }
        }
        
        if (empty($errors)) {
            try {
                $query = "INSERT INTO events (
                            title, description, location, start_date, end_date, 
                            start_time, end_time, category_id, max_participants, 
                            registration_required, registration_deadline, status, 
                            image, created_by, created_at
                          ) VALUES (
                            :title, :description, :location, :start_date, :end_date,
                            :start_time, :end_time, :category_id, :max_participants,
                            :registration_required, :registration_deadline, :status,
                            :image, :created_by, :created_at
                          )";
                
                $params = [
                    ':title' => $title,
                    ':description' => $description,
                    ':location' => $location,
                    ':start_date' => $startDate,
                    ':end_date' => !empty($endDate) ? $endDate : $startDate,
                    ':start_time' => $startTime,
                    ':end_time' => $endTime,
                    ':category_id' => $categoryId,
                    ':max_participants' => $maxParticipants,
                    ':registration_required' => $registrationRequired,
                    ':registration_deadline' => $registrationDeadline,
                    ':status' => $status,
                    ':image' => $imageName,
                    ':created_by' => $_SESSION['user_id'],
                    ':created_at' => date('Y-m-d H:i:s')
                ];
                
                // Utiliser la fonction insert qui retourne le dernier ID inséré
                $eventId = insert($query, $params);
                
                setAlert('success', 'تمت إضافة النشاط بنجاح');
                header('Location: ' . SITE_URL . '/events/index.php');
                exit;
            } catch (Exception $e) {
                setAlert('danger', 'حدث خطأ أثناء إضافة النشاط: ' . $e->getMessage());
            }
        } else {
            $errorMessage = implode('<br>', $errors);
            setAlert('danger', $errorMessage);
        }
    } else {
        $errorMessage = implode('<br>', $errors);
        setAlert('danger', $errorMessage);
    }
}

// عنوان الصفحة
$pageTitle = 'إضافة نشاط جديد';

// تضمين ملف الهيدر
include '../includes/header.php';
?>

<div class="d-flex justify-content-between align-items-center mb-4">
    <h1 class="h3 mb-0"><i class="fas fa-plus-circle me-2"></i> إضافة نشاط جديد</h1>
    <a href="<?php echo SITE_URL; ?>/events/index.php" class="btn btn-secondary">
        <i class="fas fa-arrow-right"></i> العودة إلى قائمة الأنشطة
    </a>
</div>

<div class="card">
    <div class="card-body">
        <form method="post" enctype="multipart/form-data">
            <div class="row">
                <div class="col-md-8">
                    <!-- المعلومات الأساسية -->
                    <div class="card mb-4">
                        <div class="card-header bg-light">
                            <h5 class="mb-0"><i class="fas fa-info-circle me-2"></i> المعلومات الأساسية</h5>
                        </div>
                        <div class="card-body">
                            <div class="mb-3">
                                <label for="title" class="form-label">عنوان النشاط <span class="text-danger">*</span></label>
                                <input type="text" class="form-control" id="title" name="title" required>
                            </div>
                            
                            <div class="mb-3">
                                <label for="description" class="form-label">وصف النشاط</label>
                                <textarea class="form-control" id="description" name="description" rows="4"></textarea>
                            </div>
                            
                            <div class="mb-3">
                                <label for="location" class="form-label">مكان النشاط</label>
                                <input type="text" class="form-control" id="location" name="location">
                            </div>
                            
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="start_date" class="form-label">تاريخ البدء <span class="text-danger">*</span></label>
                                        <input type="date" class="form-control" id="start_date" name="start_date" required>
                                    </div>
                                </div>
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="end_date" class="form-label">تاريخ الانتهاء</label>
                                        <input type="date" class="form-control" id="end_date" name="end_date">
                                        <small class="form-text text-muted">اتركه فارغًا إذا كان النشاط ليوم واحد</small>
                                    </div>
                                </div>
                            </div>
                            
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="start_time" class="form-label">وقت البدء</label>
                                        <input type="time" class="form-control" id="start_time" name="start_time">
                                    </div>
                                </div>
                                <div class="col-md-6">
                                    <div class="mb-3">
                                        <label for="end_time" class="form-label">وقت الانتهاء</label>
                                        <input type="time" class="form-control" id="end_time" name="end_time">
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    
                    <!-- معلومات التسجيل -->
                    <div class="card mb-4">
                        <div class="card-header bg-light">
                            <h5 class="mb-0"><i class="fas fa-user-plus me-2"></i> معلومات التسجيل</h5>
                        </div>
                        <div class="card-body">
                            <div class="mb-3 form-check">
                                <input type="checkbox" class="form-check-input" id="registration_required" name="registration_required">
                                <label class="form-check-label" for="registration_required">التسجيل مطلوب للمشاركة</label>
                            </div>
                            
                            <div class="mb-3">
                                <label for="max_participants" class="form-label">الحد الأقصى للمشاركين</label>
                                <input type="number" class="form-control" id="max_participants" name="max_participants" min="0">
                                <small class="form-text text-muted">اتركه 0 إذا لم يكن هناك حد أقصى</small>
                            </div>
                            
                            <div class="mb-3">
                                <label for="registration_deadline" class="form-label">آخر أجل للتسجيل</label>
                                <input type="date" class="form-control" id="registration_deadline" name="registration_deadline">
                                <small class="form-text text-muted">اتركه فارغًا إذا لم يكن هناك موعد نهائي للتسجيل</small>
                            </div>
                        </div>
                    </div>
                </div>
                
                <div class="col-md-4">
                    <!-- معلومات إضافية -->
                    <div class="card mb-4">
                        <div class="card-header bg-light">
                            <h5 class="mb-0"><i class="fas fa-cog me-2"></i> معلومات إضافية</h5>
                        </div>
                        <div class="card-body">
                            <div class="mb-3">
                                <label for="category_id" class="form-label">الفئة</label>
                                <select class="form-select" id="category_id" name="category_id">
                                    <option value="">-- اختر الفئة --</option>
                                    <?php foreach ($categories as $category): ?>
                                        <option value="<?php echo $category['id']; ?>"><?php echo htmlspecialchars($category['name']); ?></option>
                                    <?php endforeach; ?>
                                </select>
                            </div>
                            
                            <div class="mb-3">
                                <label for="status" class="form-label">الحالة</label>
                                <select class="form-select" id="status" name="status" required>
                                    <option value="scheduled">مجدول</option>
                                    <option value="completed">مكتمل</option>
                                    <option value="cancelled">ملغي</option>
                                </select>
                            </div>
                            
                            <div class="mb-3">
                                <label for="image" class="form-label">صورة النشاط</label>
                                <input type="file" class="form-control" id="image" name="image" accept="image/jpeg,image/png,image/gif">
                                <small class="form-text text-muted">اختياري. الأنواع المدعومة: JPG، PNG، GIF</small>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <div class="text-end mt-4">
                <button type="reset" class="btn btn-secondary me-2">
                    <i class="fas fa-times"></i> إلغاء
                </button>
                <button type="submit" class="btn btn-primary">
                    <i class="fas fa-save"></i> حفظ النشاط
                </button>
            </div>
        </form>
    </div>
</div>

<?php
// تضمين ملف الفوتر
include '../includes/footer.php';
?>
