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

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

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

// معالجة النموذج
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // تحقق من البيانات المدخلة
    $firstName = sanitizeInput($_POST['first_name']);
    $lastName = sanitizeInput($_POST['last_name']);
    $birthDate = sanitizeInput($_POST['birth_date']);
    $specialization = sanitizeInput($_POST['specialization']);
    $phone = sanitizeInput($_POST['phone']);
    $email = sanitizeInput($_POST['email']);
    $address = sanitizeInput($_POST['address']);
    $idCard = sanitizeInput($_POST['id_card']);
    $hireDate = sanitizeInput($_POST['hire_date']);
    $salary = (float)$_POST['salary'];
    $status = sanitizeInput($_POST['status']);
    $notes = sanitizeInput($_POST['notes']);
    $selectedCategories = isset($_POST['categories']) ? $_POST['categories'] : [];
    
    // التحقق من البيانات
    $errors = [];
    
    if (empty($firstName)) {
        $errors[] = 'الاسم الأول مطلوب';
    }
    
    if (empty($lastName)) {
        $errors[] = 'الاسم الأخير مطلوب';
    }
    
    if (empty($specialization)) {
        $errors[] = 'التخصص مطلوب';
    }
    
    if (empty($phone)) {
        $errors[] = 'رقم الهاتف مطلوب';
    }
    
    // التحقق من تحميل الصورة
    $photoName = '';
    if (isset($_FILES['photo']) && $_FILES['photo']['error'] === UPLOAD_ERR_OK) {
        $photoTmpPath = $_FILES['photo']['tmp_name'];
        $photoName = $_FILES['photo']['name'];
        $photoSize = $_FILES['photo']['size'];
        $photoType = $_FILES['photo']['type'];
        
        // التحقق من نوع الملف
        $allowedTypes = ['image/jpeg', 'image/png', 'image/gif'];
        if (!in_array($photoType, $allowedTypes)) {
            $errors[] = 'نوع الصورة غير مدعوم. الأنواع المدعومة هي: JPG, PNG, GIF';
        }
        
        // التحقق من حجم الملف
        if ($photoSize > MAX_UPLOAD_SIZE) {
            $errors[] = 'حجم الصورة كبير جدًا. الحد الأقصى هو: ' . (MAX_UPLOAD_SIZE / 1024 / 1024) . ' ميجابايت';
        }
        
        // إنشاء اسم فريد للصورة
        $photoExtension = pathinfo($photoName, PATHINFO_EXTENSION);
        $photoName = uniqid('coach_') . '.' . $photoExtension;
    }
    
    // إذا لم تكن هناك أخطاء، قم بإدخال البيانات
    if (empty($errors)) {
        try {
            // بدء المعاملة
            $db = initDatabase();
            $db->beginTransaction();
            
            // إدخال بيانات المؤطر
            $query = "INSERT INTO coaches (
                first_name, last_name, birth_date, specialization, phone, email, 
                address, photo, id_card, hire_date, status, salary, notes
            ) VALUES (
                :first_name, :last_name, :birth_date, :specialization, :phone, :email, 
                :address, :photo, :id_card, :hire_date, :status, :salary, :notes
            )";
            
            $params = [
                ':first_name' => $firstName,
                ':last_name' => $lastName,
                ':birth_date' => $birthDate,
                ':specialization' => $specialization,
                ':phone' => $phone,
                ':email' => $email,
                ':address' => $address,
                ':photo' => $photoName,
                ':id_card' => $idCard,
                ':hire_date' => $hireDate,
                ':status' => $status,
                ':salary' => $salary,
                ':notes' => $notes
            ];
            
            $coachId = insert($query, $params);
            
            // إذا تم تحميل صورة، قم بنقلها إلى المجلد المناسب
            if (!empty($photoName) && isset($photoTmpPath)) {
                $targetPath = COACHES_PHOTOS_PATH . '/' . $photoName;
                if (!move_uploaded_file($photoTmpPath, $targetPath)) {
                    throw new Exception('فشل في تحميل الصورة');
                }
            }
            
            // إدخال الفئات التي يدربها المؤطر
            if (!empty($selectedCategories)) {
                foreach ($selectedCategories as $categoryId) {
                    $query = "INSERT INTO coach_categories (coach_id, category_id) VALUES (:coach_id, :category_id)";
                    $params = [
                        ':coach_id' => $coachId,
                        ':category_id' => $categoryId
                    ];
                    insert($query, $params);
                }
            }
            
            // تأكيد المعاملة
            $db->commit();
            
            // رسالة نجاح
            setAlert('success', 'تم إضافة المؤطر بنجاح');
            
            // إعادة التوجيه إلى صفحة المؤطرين
            header('Location: ' . SITE_URL . '/coaches/index.php');
            exit;
            
        } catch (Exception $e) {
            // التراجع عن المعاملة في حالة حدوث خطأ
            $db->rollBack();
            $errors[] = 'حدث خطأ أثناء إضافة المؤطر: ' . $e->getMessage();
        }
    }
}

// عنوان الصفحة
$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-user-tie me-2"></i> إضافة مؤطر جديد</h1>
    <a href="<?php echo SITE_URL; ?>/coaches/index.php" class="btn btn-secondary">
        <i class="fas fa-arrow-right"></i> العودة إلى القائمة
    </a>
</div>

<!-- عرض الأخطاء -->
<?php if (!empty($errors)): ?>
    <div class="alert alert-danger">
        <ul class="mb-0">
            <?php foreach ($errors as $error): ?>
                <li><?php echo $error; ?></li>
            <?php endforeach; ?>
        </ul>
    </div>
<?php endif; ?>

<!-- نموذج إضافة مؤطر -->
<div class="card">
    <div class="card-body">
        <form method="post" action="" enctype="multipart/form-data">
            <div class="row">
                <!-- البيانات الشخصية -->
                <div class="col-md-6">
                    <h5 class="border-bottom pb-2 mb-3">البيانات الشخصية</h5>
                    
                    <div class="row mb-3">
                        <div class="col-md-6">
                            <label for="first_name" class="form-label">الاسم الأول <span class="text-danger">*</span></label>
                            <input type="text" class="form-control" id="first_name" name="first_name" value="<?php echo isset($firstName) ? $firstName : ''; ?>" required>
                        </div>
                        <div class="col-md-6">
                            <label for="last_name" class="form-label">الاسم الأخير <span class="text-danger">*</span></label>
                            <input type="text" class="form-control" id="last_name" name="last_name" value="<?php echo isset($lastName) ? $lastName : ''; ?>" required>
                        </div>
                    </div>
                    
                    <div class="mb-3">
                        <label for="birth_date" class="form-label">تاريخ الازدياد</label>
                        <input type="date" class="form-control" id="birth_date" name="birth_date" value="<?php echo isset($birthDate) ? $birthDate : ''; ?>">
                    </div>
                    
                    <div class="mb-3">
                        <label for="specialization" class="form-label">التخصص <span class="text-danger">*</span></label>
                        <input type="text" class="form-control" id="specialization" name="specialization" value="<?php echo isset($specialization) ? $specialization : ''; ?>" required>
                    </div>
                    
                    <div class="mb-3">
                        <label for="id_card" class="form-label">رقم البطاقة الوطنية</label>
                        <input type="text" class="form-control" id="id_card" name="id_card" value="<?php echo isset($idCard) ? $idCard : ''; ?>">
                    </div>
                    
                    <div class="mb-3">
                        <label for="photo" class="form-label">الصورة الشخصية</label>
                        <input type="file" class="form-control" id="photo" name="photo" accept="image/*">
                        <small class="text-muted">الحد الأقصى للحجم: <?php echo MAX_UPLOAD_SIZE / 1024 / 1024; ?> ميجابايت. الصيغ المدعومة: JPG, PNG, GIF</small>
                    </div>
                </div>
                
                <!-- معلومات الاتصال والعمل -->
                <div class="col-md-6">
                    <h5 class="border-bottom pb-2 mb-3">معلومات الاتصال والعمل</h5>
                    
                    <div class="mb-3">
                        <label for="phone" class="form-label">رقم الهاتف <span class="text-danger">*</span></label>
                        <input type="text" class="form-control" id="phone" name="phone" value="<?php echo isset($phone) ? $phone : ''; ?>" required>
                    </div>
                    
                    <div class="mb-3">
                        <label for="email" class="form-label">البريد الإلكتروني</label>
                        <input type="email" class="form-control" id="email" name="email" value="<?php echo isset($email) ? $email : ''; ?>">
                    </div>
                    
                    <div class="mb-3">
                        <label for="address" class="form-label">العنوان</label>
                        <textarea class="form-control" id="address" name="address" rows="2"><?php echo isset($address) ? $address : ''; ?></textarea>
                    </div>
                    
                    <div class="mb-3">
                        <label for="hire_date" class="form-label">تاريخ التعيين</label>
                        <input type="date" class="form-control" id="hire_date" name="hire_date" value="<?php echo isset($hireDate) ? $hireDate : date('Y-m-d'); ?>">
                    </div>
                    
                    <div class="mb-3">
                        <label for="salary" class="form-label">الراتب الشهري (درهم)</label>
                        <input type="number" step="0.01" min="0" class="form-control" id="salary" name="salary" value="<?php echo isset($salary) ? $salary : '0.00'; ?>">
                    </div>
                    
                    <div class="mb-3">
                        <label for="status" class="form-label">الحالة</label>
                        <select class="form-select" id="status" name="status">
                            <option value="active" <?php echo (isset($status) && $status === 'active') ? 'selected' : ''; ?>>نشط</option>
                            <option value="inactive" <?php echo (isset($status) && $status === 'inactive') ? 'selected' : ''; ?>>غير نشط</option>
                        </select>
                    </div>
                </div>
                
                <!-- الفئات والملاحظات -->
                <div class="col-12 mt-4">
                    <h5 class="border-bottom pb-2 mb-3">الفئات التي يدربها</h5>
                    
                    <div class="mb-3">
                        <div class="row">
                            <?php foreach ($categories as $category): ?>
                                <div class="col-md-3 mb-2">
                                    <div class="form-check">
                                        <input class="form-check-input" type="checkbox" name="categories[]" value="<?php echo $category['id']; ?>" id="category_<?php echo $category['id']; ?>" <?php echo (isset($selectedCategories) && in_array($category['id'], $selectedCategories)) ? 'checked' : ''; ?>>
                                        <label class="form-check-label" for="category_<?php echo $category['id']; ?>">
                                            <?php echo $category['name']; ?>
                                        </label>
                                    </div>
                                </div>
                            <?php endforeach; ?>
                        </div>
                    </div>
                    
                    <div class="mb-3">
                        <label for="notes" class="form-label">ملاحظات</label>
                        <textarea class="form-control" id="notes" name="notes" rows="3"><?php echo isset($notes) ? $notes : ''; ?></textarea>
                    </div>
                </div>
            </div>
            
            <div class="mt-4 text-center">
                <button type="submit" class="btn btn-primary btn-lg px-5">
                    <i class="fas fa-save me-2"></i> حفظ
                </button>
            </div>
        </form>
    </div>
</div>

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