prepare("INSERT INTO expenses (date, category_id, amount, description, reference, vendor, payment_method, receipt_file, user_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"); $stmt->execute([$date, $category_id, $amount, $description, $reference, $vendor, $payment_method, $receipt_path, $_SESSION['user_id']]); $_SESSION['success'] = 'تم إضافة المصروف بنجاح'; } else { // Get old file if not replaced if (!$receipt_path) { $stmt = $db->prepare("SELECT receipt_file FROM expenses WHERE id = ?"); $stmt->execute([$id]); $receipt_path = $stmt->fetchColumn(); } $stmt = $db->prepare("UPDATE expenses SET date=?, category_id=?, amount=?, description=?, reference=?, vendor=?, payment_method=?, receipt_file=? WHERE id=?"); $stmt->execute([$date, $category_id, $amount, $description, $reference, $vendor, $payment_method, $receipt_path, $id]); $_SESSION['success'] = 'تم تحديث المصروف بنجاح'; } redirect('expenses.php'); } catch (PDOException $e) { $error = 'حدث خطأ: ' . $e->getMessage(); } } } } if (isset($_GET['action']) && $_GET['action'] === 'delete' && isset($_GET['id'])) { if (!canDelete('expenses')) redirect('expenses.php'); $id = $_GET['id']; $db = db(); // Get file to delete $stmt = $db->prepare("SELECT receipt_file FROM expenses WHERE id = ?"); $stmt->execute([$id]); $file = $stmt->fetchColumn(); if ($file && file_exists($file)) unlink($file); $stmt = $db->prepare("DELETE FROM expenses WHERE id = ?"); $stmt->execute([$id]); $_SESSION['success'] = 'تم حذف المصروف بنجاح'; redirect('expenses.php'); } // Fetch Data for List $date_from = $_GET['date_from'] ?? date('Y-m-01'); $date_to = $_GET['date_to'] ?? date('Y-m-t'); $category_filter = $_GET['category_id'] ?? ''; $search = $_GET['search'] ?? ''; $sql = "SELECT e.*, c.name as category_name, u.username as created_by_name FROM expenses e LEFT JOIN expense_categories c ON e.category_id = c.id LEFT JOIN users u ON e.user_id = u.id WHERE e.date BETWEEN ? AND ?"; $params = [$date_from, $date_to]; if ($category_filter) { $sql .= " AND e.category_id = ?"; $params[] = $category_filter; } if ($search) { $sql .= " AND (e.description LIKE ? OR e.vendor LIKE ? OR e.reference LIKE ?)"; $params[] = "%$search%"; $params[] = "%$search%"; $params[] = "%$search%"; } $sql .= " ORDER BY e.date DESC, e.id DESC"; $stmt = db()->prepare($sql); $stmt->execute($params); $expenses = $stmt->fetchAll(PDO::FETCH_ASSOC); // Fetch Categories for Dropdown $categories = db()->query("SELECT * FROM expense_categories ORDER BY name")->fetchAll(PDO::FETCH_ASSOC); if (isset($_SESSION['success'])) { $success = $_SESSION['success']; unset($_SESSION['success']); } ?>

سجل المصروفات

التاريخ التصنيف الوصف المورد المبلغ طريقة الدفع الإيصال الإجراءات
لا توجد سجلات مطابقة

Ref:
-
الإجمالي: