diff --git a/accounting.php b/accounting.php index 43cb47c..9ba5d6e 100644 --- a/accounting.php +++ b/accounting.php @@ -4,7 +4,12 @@ require_once 'includes/header.php'; require_once 'includes/accounting_functions.php'; // Check permission -$user_id = $_SESSION['user_id']; +$user_id = $_SESSION['user_id'] ?? 0; +if (!$user_id) { + header('Location: login.php'); + exit; +} + $stmt = db()->prepare("SELECT * FROM user_permissions WHERE user_id = ? AND page = 'accounting' AND can_view = 1"); $stmt->execute([$user_id]); if (!$stmt->fetch()) { @@ -14,19 +19,28 @@ if (!$stmt->fetch()) { } // Handle form submission -if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_entry'])) { - $date = $_POST["date"] ?? ""; - $description = $_POST["description"] ?? ""; - $reference = $_POST["reference"] ?? ""; - $entries = [ - ["account" => $_POST["debit_account"] ?? "", "debit" => (float)($_POST["amount"] ?? 0), "credit" => 0], - ["account" => $_POST["credit_account"] ?? "", "debit" => 0, "credit" => (float)($_POST["amount"] ?? 0)] - ]; - - if (add_journal_entry($date, $description, $reference, $entries)) { - $message = "تم إضافة القيد بنجاح."; - } else { - $error = "حدث خطأ أثناء إضافة القيد."; +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + if (isset($_POST['add_entry'])) { + $date = $_POST["date"] ?? ""; + $description = $_POST["description"] ?? ""; + $reference = $_POST["reference"] ?? ""; + $entries = [ + ["account" => $_POST["debit_account"] ?? "", "debit" => (float)($_POST["amount"] ?? 0), "credit" => 0], + ["account" => $_POST["credit_account"] ?? "", "debit" => 0, "credit" => (float)($_POST["amount"] ?? 0)] + ]; + + if (add_journal_entry($date, $description, $reference, $entries)) { + $message = "تم إضافة القيد بنجاح."; + } else { + $error = "حدث خطأ أثناء إضافة القيد."; + } + } elseif (isset($_POST['delete_entry'])) { + $id_to_delete = (int)$_POST['delete_id']; + if (delete_journal_entry($id_to_delete)) { + $message = "تم حذف القيد بنجاح."; + } else { + $error = "حدث خطأ أثناء حذف القيد."; + } } } @@ -50,8 +64,7 @@ $ledger = array_slice($ledger_all, $offset, $limit);