From f64500c9a04f66abd62ae9a619c353341a072d08 Mon Sep 17 00:00:00 2001 From: Ioannis20x Date: Tue, 8 Jul 2025 11:58:26 +0200 Subject: [PATCH] feat: created file for admin page; included repair kits as option for entry with functionality --- lager.php => admin.php | 0 registration.php | 73 ++++++++++++++++++++++++++++++++++-------- 2 files changed, 59 insertions(+), 14 deletions(-) rename lager.php => admin.php (100%) diff --git a/lager.php b/admin.php similarity index 100% rename from lager.php rename to admin.php diff --git a/registration.php b/registration.php index ee5d9c5..59a3f80 100644 --- a/registration.php +++ b/registration.php @@ -6,37 +6,72 @@ require 'db.php'; // Prüfen ob das Formular abgeschickt wurde if ($_SERVER['REQUEST_METHOD'] === 'POST') { - if ($dbhandle->connect_error) { die("Verbindung fehlgeschlagen: " . $dbhandle->connect_error); } - // Daten holen & absichern $clientid = $_SESSION['user']['id']; // Discord-ID - $clientname = $_SESSION['user']['nickname']; // Server-Nickname + $clientname = $_SESSION['user']['nickname']; // Server-Nickname $service = $dbhandle->real_escape_string($_POST['Services']); - $preis = $dbhandle->real_escape_string($_POST['preis']); + $menge = intval($_POST['preis']); // Anzahl für Reparaturkits $modell = $dbhandle->real_escape_string($_POST['modell']); $kennzeichen = $dbhandle->real_escape_string($_POST['kennzeichen']); - // Eintrag speichern - $stmt = $dbhandle->prepare("INSERT INTO contracts (user_id, service, preis, modell, kennzeichen) VALUES (?, ?, ?, ?, ?)"); - $stmt->bind_param("isiss", $clientid, $service, $preis, $modell, $kennzeichen); + if ($service === "repkits") { + $result = $dbhandle->query("SELECT repkits FROM settings"); + if ($result && $row = $result->fetch_assoc()) { + $aktuellerBestand = intval($row['repkits']); + $neuerBestand = $aktuellerBestand + $menge; + if ($neuerBestand < 0) { + $meldung = "❌ Fehler: Nicht genug Reparaturkits im Lager!"; + } else { + // Lagerbestand aktualisieren + $update = $dbhandle->prepare("UPDATE settings SET repkits = ?"); + $update->bind_param("i", $neuerBestand); + if ($update->execute()) { + $meldung = "✅ Lagerbestand aktualisiert! Neuer Bestand: $neuerBestand Kits."; + + // Log-Eintrag + $aktion = ($menge > 0) ? "ADD" : "REMOVE"; + $log = $dbhandle->prepare("INSERT INTO service_log (user_id, service, menge, aktion) VALUES (?, ?, ?, ?)"); + $log->bind_param("isis", $clientid, $service, $menge, $aktion); + $log->execute(); + $log->close(); + } else { + $meldung = "❌ Fehler beim Lager-Update: " . htmlspecialchars($update->error); + } + $update->close(); + } + } else { + $meldung = "❌ Fehler: Lager nicht gefunden."; + } +} +else { + // Auftrag speichern + $stmt = $dbhandle->prepare("INSERT INTO contracts (user_id, service, preis, modell, kennzeichen) VALUES (?, ?, ?, ?, ?)"); + $stmt->bind_param("isiss", $clientid, $service, $menge, $modell, $kennzeichen); if ($stmt->execute()) { $meldung = "✅ Eintrag erfolgreich gespeichert!"; + + // Log-Eintrag + $aktion = "ADD"; + $log = $dbhandle->prepare("INSERT INTO service_log (user_id, service, menge, modell, kennzeichen, aktion) VALUES (?, ?, ?, ?, ?, ?)"); + $log->bind_param("isisss", $clientid, $service, $menge, $modell, $kennzeichen, $aktion); + $log->execute(); + $log->close(); } else { $meldung = "❌ Fehler: " . htmlspecialchars($stmt->error); } - $stmt->close(); - $dbhandle->close(); +} } ?> + @@ -47,7 +82,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { -
3 +

@@ -62,6 +97,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { +
@@ -86,11 +122,20 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {