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

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

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

// معالجة النموذج عند الإرسال
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // التحقق من البيانات المدخلة
    $amount = (float)$_POST['amount'];
    $category = sanitizeInput($_POST['category']);
    $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($category)) {
        $errors[] = 'فئة المصروف مطلوبة';
    }
    
    if (empty($description)) {
        $errors[] = 'وصف المصروف مطلوب';
    }
    
    if (empty($paymentMethod)) {
        $errors[] = 'طريقة الدفع مطلوبة';
    }
    
    if (empty($paymentDate)) {
        $errors[] = 'تاريخ الدفع مطلوب';
    }
    
    // Le bloc de débogage a été supprimé

    // معالجة الإيصال إذا تم تحميله
    $receiptFile = null;
    
    if (isset($_FILES['receipt_file']) && $_FILES['receipt_file']['error'] === UPLOAD_ERR_OK) {
        $allowedTypes = ['image/jpeg', 'image/png', 'image/gif', 'application/pdf'];
        $maxFileSize = 5 * 1024 * 1024; // 5 ميجابايت
        
        $fileType = $_FILES['receipt_file']['type'];
        $fileSize = $_FILES['receipt_file']['size'];
        $fileName = $_FILES['receipt_file']['name'];
        
        if (!in_array($fileType, $allowedTypes)) {
            $errors[] = 'نوع الملف غير مسموح به. الأنواع المسموح بها: JPEG, PNG, GIF, PDF';
        }
        
        if ($fileSize > $maxFileSize) {
            $errors[] = 'حجم الملف كبير جدًا. الحد الأقصى المسموح به: 5 ميجابايت';
        }
        
        if (empty($errors)) {
            // إنشاء مجلد الإيصالات إذا لم يكن موجودًا
            $uploadDir = UPLOAD_DIR . '/receipts';
            if (!file_exists($uploadDir)) {
                mkdir($uploadDir, 0777, true);
            }
            
            // إنشاء اسم فريد للملف
            $fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);
            $newFileName = uniqid('receipt_') . '.' . $fileExtension;
            $uploadPath = $uploadDir . '/' . $newFileName;
            
            if (move_uploaded_file($_FILES['receipt_file']['tmp_name'], $uploadPath)) {
                $receiptFile = $newFileName;
            } else {
                $errors[] = 'حدث خطأ أثناء تحميل الملف';
            }
        }
    }
    
    // إذا لم تكن هناك أخطاء، قم بإضافة المصروف
    if (empty($errors)) {
        try {
            // S'assurer que les dates sont valides
            if (empty($paymentDate)) {
                $paymentDate = date('Y-m-d');
            }
            
            $query = "INSERT INTO expenses (
                    amount, category, description, payment_method, receipt_number, 
                    receipt_file, payment_date, date, notes, created_by, created_at
                    ) VALUES (
                    :amount, :category, :description, :payment_method, :receipt_number, 
                    :receipt_file, :payment_date, :payment_date, :notes, :created_by, :created_at
                    )";
            
            $params = [
                ':amount' => $amount,
                ':category' => $category,
                ':description' => $description,
                ':payment_method' => $paymentMethod,
                ':receipt_number' => $receiptNumber,
                ':receipt_file' => $receiptFile,
                ':payment_date' => $paymentDate,
                ':notes' => $notes,
                ':created_by' => $_SESSION['user_id'],
                ':created_at' => date('Y-m-d H:i:s')
            ];
            
            $result = executeQuery($query, $params);
            
            if ($result) {
                setAlert('success', 'تمت إضافة المصروف بنجاح');
                header('Location: ' . SITE_URL . '/finance/expenses/index.php');
                exit;
            } else {
                $errors[] = 'حدث خطأ أثناء إضافة المصروف';
            }
        } catch (Exception $e) {
            $errors[] = 'حدث خطأ أثناء إضافة المصروف: ' . $e->getMessage();
        }
    }
    
    // إذا كانت هناك أخطاء، قم بعرضها
    if (!empty($errors)) {
        $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>
    <div>
        <a href="<?php echo SITE_URL; ?>/finance/expenses/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" enctype="multipart/form-data">
            <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="category" class="form-label">فئة المصروف <span class="text-danger">*</span></label>
                        <select class="form-select" id="category" name="category" required>
                            <option value="">اختر الفئة</option>
                            <option value="salaries" <?php echo (isset($_POST['category']) && $_POST['category'] === 'salaries') ? 'selected' : ''; ?>>رواتب ومكافآت</option>
                            <option value="equipment" <?php echo (isset($_POST['category']) && $_POST['category'] === 'equipment') ? 'selected' : ''; ?>>معدات وتجهيزات</option>
                            <option value="rent" <?php echo (isset($_POST['category']) && $_POST['category'] === 'rent') ? 'selected' : ''; ?>>إيجارات</option>
                            <option value="utilities" <?php echo (isset($_POST['category']) && $_POST['category'] === 'utilities') ? 'selected' : ''; ?>>فواتير ومرافق</option>
                            <option value="transportation" <?php echo (isset($_POST['category']) && $_POST['category'] === 'transportation') ? 'selected' : ''; ?>>نقل ومواصلات</option>
                            <option value="maintenance" <?php echo (isset($_POST['category']) && $_POST['category'] === 'maintenance') ? 'selected' : ''; ?>>صيانة</option>
                            <option value="events" <?php echo (isset($_POST['category']) && $_POST['category'] === 'events') ? 'selected' : ''; ?>>فعاليات ومسابقات</option>
                            <option value="administrative" <?php echo (isset($_POST['category']) && $_POST['category'] === 'administrative') ? 'selected' : ''; ?>>مصاريف إدارية</option>
                            <option value="other" <?php echo (isset($_POST['category']) && $_POST['category'] === '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="receipt_file" class="form-label">صورة الإيصال</label>
                        <input type="file" class="form-control" id="receipt_file" name="receipt_file" accept="image/jpeg,image/png,image/gif,application/pdf">
                        <div class="form-text">الأنواع المسموح بها: JPEG, PNG, GIF, PDF. الحد الأقصى للحجم: 5 ميجابايت.</div>
                    </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/expenses/index.php" class="btn btn-secondary me-md-2">
                    <i class="fas fa-times"></i> إلغاء
                </a>
                <button type="submit" class="btn btn-danger">
                    <i class="fas fa-save"></i> إضافة المصروف
                </button>
            </div>
        </form>
    </div>
</div>

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