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

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

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

// التحقق من وجود معرف الإيراد
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
    setAlert('danger', 'معرف الإيراد غير صحيح');
    header('Location: ' . SITE_URL . '/finance/income/index.php');
    exit;
}

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

// الحصول على بيانات الإيراد
$query = "SELECT * FROM income WHERE id = :id";
$params = [':id' => $incomeId];
$income = fetchOne($query, $params);

// التحقق من وجود الإيراد
if (!$income) {
    setAlert('danger', 'الإيراد غير موجود');
    header('Location: ' . SITE_URL . '/finance/income/index.php');
    exit;
}

// معالجة النموذج عند الإرسال
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // التحقق من البيانات المدخلة
    $amount = (float)$_POST['amount'];
    $source = sanitizeInput($_POST['source']);
    $description = sanitizeInput($_POST['description']);
    $paymentMethod = sanitizeInput($_POST['payment_method']);
    $receiptNumber = sanitizeInput($_POST['receipt_number']);
    $paymentDate = sanitizeInput($_POST['payment_date']);
    $notes = sanitizeInput($_POST['notes']);
    
    // التحقق من البيانات المطلوبة
    $errors = [];
    
    if ($amount <= 0) {
        $errors[] = 'المبلغ يجب أن يكون أكبر من صفر';
    }
    
    if (empty($source)) {
        $errors[] = 'مصدر الإيراد مطلوب';
    }
    
    if (empty($description)) {
        $errors[] = 'وصف الإيراد مطلوب';
    }
    
    if (empty($paymentMethod)) {
        $errors[] = 'طريقة الدفع مطلوبة';
    }
    
    if (empty($paymentDate)) {
        $errors[] = 'تاريخ الدفع مطلوب';
    }
    
    // إذا لم تكن هناك أخطاء، قم بتحديث الإيراد
    if (empty($errors)) {
        $query = "UPDATE income SET 
                  amount = :amount, 
                  source = :source, 
                  description = :description, 
                  payment_method = :payment_method, 
                  receipt_number = :receipt_number, 
                  payment_date = :payment_date, 
                  notes = :notes, 
                  updated_by = :updated_by, 
                  updated_at = :updated_at 
                  WHERE id = :id";
        
        $params = [
            ':amount' => $amount,
            ':source' => $source,
            ':description' => $description,
            ':payment_method' => $paymentMethod,
            ':receipt_number' => $receiptNumber,
            ':payment_date' => $paymentDate,
            ':notes' => $notes,
            ':updated_by' => $_SESSION['user_id'],
            ':updated_at' => date('Y-m-d H:i:s'),
            ':id' => $incomeId
        ];
        
        $result = executeQuery($query, $params);
        
        if ($result) {
            setAlert('success', 'تم تحديث الإيراد بنجاح');
            header('Location: ' . SITE_URL . '/finance/income/index.php');
            exit;
        } else {
            $errors[] = 'حدث خطأ أثناء تحديث الإيراد';
        }
    }
    
    // إذا كانت هناك أخطاء، قم بعرضها
    if (!empty($errors)) {
        $errorMessage = implode('<br>', $errors);
        setAlert('danger', $errorMessage);
    }
} else {
    // تعبئة النموذج ببيانات الإيراد الحالية
    $_POST = $income;
}

// عنوان الصفحة
$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-edit me-2"></i> تعديل الإيراد</h1>
    <div>
        <a href="<?php echo SITE_URL; ?>/finance/income/index.php" 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">
            <div class="row">
                <!-- معلومات الإيراد الأساسية -->
                <div class="col-md-6">
                    <h4 class="mb-3">معلومات الإيراد</h4>
                    
                    <div class="mb-3">
                        <label for="amount" class="form-label">المبلغ (درهم) <span class="text-danger">*</span></label>
                        <input type="number" class="form-control" id="amount" name="amount" value="<?php echo isset($_POST['amount']) ? $_POST['amount'] : ''; ?>" step="0.01" min="0" required>
                    </div>
                    
                    <div class="mb-3">
                        <label for="source" class="form-label">مصدر الإيراد <span class="text-danger">*</span></label>
                        <select class="form-select" id="source" name="source" required>
                            <option value="">اختر المصدر</option>
                            <option value="subscription" <?php echo (isset($_POST['source']) && $_POST['source'] === 'subscription') ? 'selected' : ''; ?>>اشتراكات الأعضاء</option>
                            <option value="donation" <?php echo (isset($_POST['source']) && $_POST['source'] === 'donation') ? 'selected' : ''; ?>>تبرعات</option>
                            <option value="event" <?php echo (isset($_POST['source']) && $_POST['source'] === 'event') ? 'selected' : ''; ?>>فعاليات</option>
                            <option value="sponsorship" <?php echo (isset($_POST['source']) && $_POST['source'] === 'sponsorship') ? 'selected' : ''; ?>>رعاية</option>
                            <option value="other" <?php echo (isset($_POST['source']) && $_POST['source'] === 'other') ? 'selected' : ''; ?>>أخرى</option>
                        </select>
                    </div>
                    
                    <div class="mb-3">
                        <label for="description" class="form-label">وصف الإيراد <span class="text-danger">*</span></label>
                        <textarea class="form-control" id="description" name="description" rows="3" required><?php echo isset($_POST['description']) ? $_POST['description'] : ''; ?></textarea>
                    </div>
                </div>
                
                <!-- معلومات الدفع -->
                <div class="col-md-6">
                    <h4 class="mb-3">معلومات الدفع</h4>
                    
                    <div class="mb-3">
                        <label for="payment_method" class="form-label">طريقة الدفع <span class="text-danger">*</span></label>
                        <select class="form-select" id="payment_method" name="payment_method" required>
                            <option value="">اختر طريقة الدفع</option>
                            <option value="cash" <?php echo (isset($_POST['payment_method']) && $_POST['payment_method'] === 'cash') ? 'selected' : ''; ?>>نقدا</option>
                            <option value="bank_transfer" <?php echo (isset($_POST['payment_method']) && $_POST['payment_method'] === 'bank_transfer') ? 'selected' : ''; ?>>تحويل بنكي</option>
                            <option value="check" <?php echo (isset($_POST['payment_method']) && $_POST['payment_method'] === 'check') ? 'selected' : ''; ?>>شيك</option>
                        </select>
                    </div>
                    
                    <div class="mb-3">
                        <label for="receipt_number" class="form-label">رقم الإيصال</label>
                        <input type="text" class="form-control" id="receipt_number" name="receipt_number" value="<?php echo isset($_POST['receipt_number']) ? $_POST['receipt_number'] : ''; ?>">
                    </div>
                    
                    <div class="mb-3">
                        <label for="payment_date" class="form-label">تاريخ الدفع <span class="text-danger">*</span></label>
                        <input type="date" class="form-control" id="payment_date" name="payment_date" value="<?php echo isset($_POST['payment_date']) ? $_POST['payment_date'] : date('Y-m-d'); ?>" required>
                    </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($_POST['notes']) ? $_POST['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; ?>/finance/income/index.php" 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>

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