X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=expense_delete.php;h=49bb8ac1be508c94c08edcfe84f7af89ea2050e3;hb=1c55e1b9d6da2173f7e946011908c02dd80df26d;hp=06c9690b0fca79cfd673e56f13268dd584935183;hpb=a62e4bdd1bc89ea4f3cf29507399b5b8f229597a;p=timetracker.git diff --git a/expense_delete.php b/expense_delete.php index 06c9690b..49bb8ac1 100644 --- a/expense_delete.php +++ b/expense_delete.php @@ -31,17 +31,23 @@ import('form.Form'); import('DateAndTime'); import('ttExpenseHelper'); -// Access check. -if (!ttAccessAllowed('track_own_expenses') || !$user->isPluginEnabled('ex')) { +// Access checks. +if (!(ttAccessAllowed('track_own_expenses') || ttAccessAllowed('track_expenses'))) { header('Location: access_denied.php'); exit(); } - -$cl_id = $request->getParameter('id'); +if (!$user->isPluginEnabled('ex')) { + header('Location: feature_disabled.php'); + exit(); +} +$cl_id = (int)$request->getParameter('id'); +// Get the expense item we are deleting. $expense_item = ttExpenseHelper::getItem($cl_id, $user->getActiveUser()); - -// Prohibit deleting invoiced records. -if ($expense_item['invoice_id']) die($i18n->get('error.sys')); +if (!$expense_item || $expense_item['invoice_id']) { + // Prohibit deleting not ours or invoiced items. + header('Location: access_denied.php'); + exit(); +} if ($request->isPost()) { if ($request->getParameter('delete_button')) { // Delete button pressed.