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

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

// التحقق من وجود معرف المنخرط
if (!isset($_GET['id']) || empty($_GET['id'])) {
    setAlert('danger', 'معرف المنخرط مطلوب');
    header('Location: ' . SITE_URL . '/members/index.php');
    exit;
}

$memberId = (int)$_GET['id'];

// الحصول على بيانات المنخرط
$query = "SELECT * FROM members WHERE id = :id";
$member = fetchOne($query, [':id' => $memberId]);

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

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

// معالجة النموذج عند الإرسال
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // التحقق من البيانات المدخلة
    $firstName = sanitizeInput($_POST['first_name']);
    $lastName = sanitizeInput($_POST['last_name']);
    $birthDate = sanitizeInput($_POST['birth_date']);
    $categoryId = (int)$_POST['category_id'];
    $phone = sanitizeInput($_POST['phone']);
    $email = sanitizeInput($_POST['email']);
    $address = sanitizeInput($_POST['address']);
    $parentName = sanitizeInput($_POST['parent_name']);
    $parentIdCard = sanitizeInput($_POST['parent_id_card']);
    $notes = sanitizeInput($_POST['notes']);
    
    // التحقق من البيانات المطلوبة
    $errors = [];
    
    if (empty($firstName)) {
        $errors[] = 'الاسم الشخصي مطلوب';
    }
    
    if (empty($lastName)) {
        $errors[] = 'الاسم العائلي مطلوب';
    }
    
    if (empty($birthDate)) {
        $errors[] = 'تاريخ الازدياد مطلوب';
    }
    
    if ($categoryId <= 0) {
        $errors[] = 'الفئة مطلوبة';
    }
    
    // إذا لم تكن هناك أخطاء، قم بتحديث بيانات المنخرط
    if (empty($errors)) {
        // معالجة الصورة إذا تم تحميلها
        $photoName = $member['photo']; // الاحتفاظ بالصورة الحالية افتراضيًا
        
        if (isset($_FILES['photo']) && $_FILES['photo']['error'] === UPLOAD_ERR_OK) {
            $uploadResult = uploadMemberPhoto($_FILES['photo']);
            
            if ($uploadResult['success']) {
                // إذا كانت هناك صورة قديمة، قم بحذفها
                if (!empty($member['photo'])) {
                    $oldPhotoPath = MEMBERS_PHOTOS_PATH . '/' . $member['photo'];
                    if (file_exists($oldPhotoPath)) {
                        unlink($oldPhotoPath);
                    }
                }
                
                $photoName = $uploadResult['file_name'];
            } else {
                $errors[] = $uploadResult['message'];
            }
        }
        
        if (empty($errors)) {
            // تحديث بيانات المنخرط في قاعدة البيانات
            $query = "UPDATE members SET 
                      first_name = :first_name,
                      last_name = :last_name,
                      birth_date = :birth_date,
                      category_id = :category_id,
                      phone = :phone,
                      email = :email,
                      address = :address,
                      parent_name = :parent_name,
                      parent_id_card = :parent_id_card,
                      notes = :notes,
                      photo = :photo
                      WHERE id = :id";
            
            $params = [
                ':first_name' => $firstName,
                ':last_name' => $lastName,
                ':birth_date' => $birthDate,
                ':category_id' => $categoryId,
                ':phone' => $phone,
                ':email' => $email,
                ':address' => $address,
                ':parent_name' => $parentName,
                ':parent_id_card' => $parentIdCard,
                ':notes' => $notes,
                ':photo' => $photoName,
                ':id' => $memberId
            ];
            
            $result = executeQuery($query, $params);
            
            if ($result) {
                setAlert('success', 'تم تحديث بيانات المنخرط بنجاح');
                header('Location: ' . SITE_URL . '/members/view.php?id=' . $memberId);
                exit;
            } else {
                $errors[] = 'حدث خطأ أثناء تحديث بيانات المنخرط';
            }
        }
    }
    
    // إذا كانت هناك أخطاء، قم بعرضها
    if (!empty($errors)) {
        $errorMessage = implode('<br>', $errors);
        setAlert('danger', $errorMessage);
    }
}

// عنوان الصفحة
$pageTitle = 'تعديل بيانات المنخرط - ' . $member['first_name'] . ' ' . $member['last_name'];

// تضمين ملف الهيدر
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-edit me-2"></i> تعديل بيانات المنخرط</h1>
    <div>
        <a href="<?php echo SITE_URL; ?>/members/view.php?id=<?php echo $member['id']; ?>" class="btn btn-secondary">
            <i class="fas fa-arrow-right"></i> العودة إلى بيانات المنخرط
        </a>
    </div>
</div>

<div class="card mb-4">
    <div class="card-body">
        <form action="" method="post" enctype="multipart/form-data">
            <div class="row">
                <!-- البيانات الشخصية -->
                <div class="col-md-6">
                    <h4 class="mb-3">البيانات الشخصية</h4>
                    
                    <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 $member['first_name']; ?>" 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 $member['last_name']; ?>" required>
                        </div>
                    </div>
                    
                    <div class="row mb-3">
                        <div class="col-md-6">
                            <label for="birth_date" class="form-label">تاريخ الازدياد <span class="text-danger">*</span></label>
                            <input type="date" class="form-control" id="birth_date" name="birth_date" value="<?php echo $member['birth_date']; ?>" required>
                        </div>
                        <div class="col-md-6">
                            <label for="category_id" class="form-label">الفئة <span class="text-danger">*</span></label>
                            <select class="form-select" id="category_id" name="category_id" required>
                                <option value="">اختر الفئة</option>
                                <?php foreach ($categories as $category): ?>
                                    <option value="<?php echo $category['id']; ?>" <?php echo ($member['category_id'] == $category['id']) ? 'selected' : ''; ?>>
                                        <?php echo $category['name']; ?>
                                    </option>
                                <?php endforeach; ?>
                            </select>
                        </div>
                    </div>
                    
                    <div class="mb-3">
                        <label for="photo" class="form-label">الصورة الشخصية</label>
                        <input type="file" class="form-control" id="photo" name="photo" accept="image/*">
                        <div class="form-text">اترك هذا الحقل فارغًا للاحتفاظ بالصورة الحالية.</div>
                        
                        <?php if (!empty($member['photo'])): ?>
                            <div class="mt-2">
                                <img src="<?php echo SITE_URL . '/uploads/members/' . $member['photo']; ?>" alt="الصورة الحالية" class="img-thumbnail" style="max-width: 100px;">
                                <div class="form-text">الصورة الحالية</div>
                            </div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <!-- معلومات الاتصال -->
                <div class="col-md-6">
                    <h4 class="mb-3">معلومات الاتصال</h4>
                    
                    <div class="mb-3">
                        <label for="phone" class="form-label">رقم الهاتف</label>
                        <input type="text" class="form-control" id="phone" name="phone" value="<?php echo $member['phone']; ?>">
                    </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 $member['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 $member['address']; ?></textarea>
                    </div>
                </div>
                
                <!-- معلومات ولي الأمر -->
                <div class="col-md-6 mt-4">
                    <h4 class="mb-3">معلومات ولي الأمر</h4>
                    
                    <div class="mb-3">
                        <label for="parent_name" class="form-label">اسم ولي الأمر</label>
                        <input type="text" class="form-control" id="parent_name" name="parent_name" value="<?php echo $member['parent_name']; ?>">
                    </div>
                    
                    <div class="mb-3">
                        <label for="parent_id_card" class="form-label">رقم البطاقة الوطنية لولي الأمر</label>
                        <input type="text" class="form-control" id="parent_id_card" name="parent_id_card" value="<?php echo $member['parent_id_card']; ?>">
                    </div>
                </div>
                
                <!-- ملاحظات إضافية -->
                <div class="col-md-6 mt-4">
                    <h4 class="mb-3">ملاحظات إضافية</h4>
                    
                    <div class="mb-3">
                        <label for="notes" class="form-label">ملاحظات</label>
                        <textarea class="form-control" id="notes" name="notes" rows="4"><?php echo $member['notes']; ?></textarea>
                    </div>
                </div>
            </div>
            
            <div class="d-grid gap-2 d-md-flex justify-content-md-end mt-4">
                <a href="<?php echo SITE_URL; ?>/members/view.php?id=<?php echo $member['id']; ?>" class="btn btn-secondary me-md-2">
                    <i class="fas fa-times"></i> إلغاء
                </a>
                <button type="submit" class="btn btn-primary">
                    <i class="fas fa-save"></i> حفظ التغييرات
                </button>
            </div>
        </form>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // معاينة الصورة قبل التحميل
    const photoInput = document.getElementById('photo');
    
    photoInput.addEventListener('change', function() {
        if (this.files && this.files[0]) {
            const reader = new FileReader();
            
            reader.onload = function(e) {
                // إنشاء عنصر الصورة إذا لم يكن موجودًا
                let previewContainer = document.querySelector('.preview-container');
                
                if (!previewContainer) {
                    previewContainer = document.createElement('div');
                    previewContainer.className = 'mt-2 preview-container';
                    photoInput.parentNode.appendChild(previewContainer);
                    
                    const previewImage = document.createElement('img');
                    previewImage.className = 'img-thumbnail preview-image';
                    previewImage.style.maxWidth = '100px';
                    previewContainer.appendChild(previewImage);
                    
                    const previewText = document.createElement('div');
                    previewText.className = 'form-text';
                    previewText.textContent = 'معاينة الصورة الجديدة';
                    previewContainer.appendChild(previewText);
                }
                
                // تحديث مصدر الصورة
                const previewImage = previewContainer.querySelector('.preview-image');
                previewImage.src = e.target.result;
            };
            
            reader.readAsDataURL(this.files[0]);
        }
    });
});
</script>

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