From 8a1f665f1ff9c5084b9c6372d21b49e8a36713b3 Mon Sep 17 00:00:00 2001 From: arf20 Date: Sun, 24 Mar 2024 01:41:55 +0100 Subject: Invoice management --- manageinvoices.php | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 manageinvoices.php (limited to 'manageinvoices.php') diff --git a/manageinvoices.php b/manageinvoices.php new file mode 100644 index 0000000..4e4e9a6 --- /dev/null +++ b/manageinvoices.php @@ -0,0 +1,173 @@ +fetch_all(MYSQLI_ASSOC); + +// Get invoices +$sql = "SELECT id, client, `desc`, amount, date, status FROM invoices"; +$stmt = mysqli_prepare($link, $sql); +mysqli_stmt_execute($stmt); +$result = mysqli_stmt_get_result($stmt); +$invoices = $result->fetch_all(MYSQLI_ASSOC); + +// GET actions +// delete entry +if (isset($_GET["del"])) { + $sql = "DELETE FROM invoices WHERE id = ?"; + $stmt = mysqli_prepare($link, $sql); + mysqli_stmt_bind_param($stmt, "s", $param_id); + $param_id = $_GET["del"]; + if (!mysqli_stmt_execute($stmt) || mysqli_stmt_affected_rows($stmt) != 1) { + echo "SQL error."; + } else header("location: ".$_SERVER['SCRIPT_NAME']); +} + +if (isset($_GET["pdf"])) { + // Get invoice + $sql = "SELECT pdf FROM invoices WHERE id = ?"; + $stmt = mysqli_prepare($link, $sql); + mysqli_stmt_bind_param($stmt, "s", $param_id); + $param_id = $_GET["pdf"]; + mysqli_stmt_execute($stmt); + $result = mysqli_stmt_get_result($stmt); + $pdf = $result->fetch_all(MYSQLI_ASSOC)[0]["pdf"]; + header("Content-type: application/pdf"); + header("Content-Disposition: inline;filename=\"invoice.pdf\""); + echo $pdf; +} + +// POST actions +if ($_SERVER["REQUEST_METHOD"] == "POST") { + // edit entry + if (isset($_POST["save"])) { + $sql = "UPDATE invoices SET status = ? WHERE id = ?"; + $stmt = mysqli_prepare($link, $sql); + mysqli_stmt_bind_param($stmt, "ss", $param_status, $param_id); + $param_status = $_POST["status"]; + $param_id = $_POST["id"]; + + if (!mysqli_stmt_execute($stmt) || (mysqli_stmt_affected_rows($stmt) != 1)) { + echo "SQL error."; + } else header("location: ".$_SERVER['SCRIPT_NAME']); + } +} + +function getorderbyid($id) { + global $orders; + foreach ($orders as $order) { + if ($order["id"] == $id) { + return $order; + } + } +} + +function getservicebyid($id) { + global $services; + foreach ($services as $service) { + if ($service["id"] == $id) { + return $service; + } + } +} + +function getclientbyid($id) { + global $clients; + foreach ($clients as $client) { + if ($client["id"] == $id) { + return $client; + } + } +} + +function getinvoicebyid($id) { + global $invoices; + foreach ($invoices as $invoice) { + if ($invoice["id"] == $id) { + return $invoice; + } + } +} + +?> + + + + + + + ARFNET CSTIMS + + +
+ ARFNET +
+
+
+
+
+

ARFNET Client Service Ticket and Invoice Management System

+

panel

+

Orders

+ +

Edit invoice ".$invoice["id"]."

\n" + ."

\n" + ."

\n" + ."

\n" + ."

\n" + ."

\n" + ."" + ."
cancel" + ."
"; + } + ?> + + add + + + " + ."" + ."" + ."" + ."" + ."" + ."" + ."\n"; + } + ?> +
idclientdescriptionamountdatepdfstatusaction
".$invoice["id"]."".getclientbyid($invoice["client"])["username"]."".$invoice["desc"]."".$invoice["amount"]." €".$invoice["date"]."pdf".$invoice["status"]."del edit
+ +
+ + +
+ + + -- cgit v1.2.3