@@ -105,16 +105,15 @@ require_once '../inc/header.php';
-
diff --git a/admin/meetings.php b/admin/meetings.php
new file mode 100755
index 0000000..07a8019
--- /dev/null
+++ b/admin/meetings.php
@@ -0,0 +1,259 @@
+modify('next thursday');
+
+for ($i = 0; $i < 2; $i++) {
+ $next_thursday = $date->format('Y-m-d');
+
+ $stmt = mysqli_prepare($conn, "SELECT id FROM meetings WHERE meeting_date = ?");
+ mysqli_stmt_bind_param($stmt, "s", $next_thursday);
+ mysqli_stmt_execute($stmt);
+ mysqli_stmt_store_result($stmt);
+
+ if (mysqli_stmt_num_rows($stmt) == 0) {
+ $color_id = get_weighted_random_color($conn);
+ if ($color_id) {
+ $stmt_insert = mysqli_prepare($conn, "INSERT INTO meetings (meeting_date, color_id) VALUES (?, ?)");
+ mysqli_stmt_bind_param($stmt_insert, "si", $next_thursday, $color_id);
+ mysqli_stmt_execute($stmt_insert);
+ mysqli_stmt_close($stmt_insert);
+ }
+ }
+ mysqli_stmt_close($stmt);
+
+ $date->modify('+1 week');
+}
+
+// --- Termine und alle Farben abrufen (für Übersicht und Formular) ---
+$all_colors = [];
+$result = mysqli_query($conn, "SELECT id, name, hex_code FROM colors ORDER BY name");
+while ($row = mysqli_fetch_assoc($result)) {
+ $all_colors[] = $row;
+}
+
+$meetings = [];
+$result = mysqli_query($conn, "SELECT m.id, m.meeting_date, m.created_at, c.name AS color_name, c.hex_code FROM meetings m JOIN colors c ON m.color_id = c.id ORDER BY m.meeting_date");
+while ($row = mysqli_fetch_assoc($result)) {
+ $meetings[] = $row;
+}
+
+require_once '../inc/header.php';
+?>
+
+
+
Terminverwaltung
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Es sind noch keine Termine vorhanden.
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/admin/users.php b/admin/users.php
index d8bd105..b995cf0 100755
--- a/admin/users.php
+++ b/admin/users.php
@@ -2,7 +2,7 @@
include('../inc/check_login.php');
require_once('../inc/db.php');
-// Zugriff nur für eingeloggte Admins
+// Nur Admins haben Zugriff
if ($_SESSION['role'] !== 'admin') {
die("Zugriff nur für Admins");
}
@@ -12,20 +12,75 @@ $message_type = '';
$edit_mode = false;
$edit_user = null;
-// Benutzer hinzufügen
-if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['username'], $_POST['password'], $_POST['role'])) {
- $username = mysqli_real_escape_string($conn, $_POST['username']);
- $password = password_hash($_POST['password'], PASSWORD_DEFAULT);
- $role = $_POST['role'] === 'admin' ? 'admin' : 'member';
+// --- Logik zum Löschen und Bearbeiten von Benutzern ---
- $sql = "INSERT INTO users (username, password, role) VALUES ('$username', '$password', '$role')";
- if (mysqli_query($conn, $sql)) {
- $message = "Benutzer erfolgreich hinzugefügt.";
+// Aktion Löschen
+if (isset($_GET['action']) && $_GET['action'] == 'delete' && isset($_GET['id'])) {
+ $id = $_GET['id'];
+ $stmt = mysqli_prepare($conn, "DELETE FROM users WHERE id = ?");
+ mysqli_stmt_bind_param($stmt, "i", $id);
+ if (mysqli_stmt_execute($stmt)) {
+ $message = "Benutzer erfolgreich gelöscht!";
$message_type = 'success';
} else {
- $message = "Fehler beim Hinzufügen: " . mysqli_error($conn);
+ $message = "Fehler beim Löschen des Benutzers.";
$message_type = 'danger';
}
+ mysqli_stmt_close($stmt);
+}
+
+// Aktion Bearbeiten (Formular laden)
+if (isset($_GET['action']) && $_GET['action'] == 'edit' && isset($_GET['id'])) {
+ $id = $_GET['id'];
+ $stmt = mysqli_prepare($conn, "SELECT id, username, role FROM users WHERE id = ?");
+ mysqli_stmt_bind_param($stmt, "i", $id);
+ mysqli_stmt_execute($stmt);
+ $result = mysqli_stmt_get_result($stmt);
+ $edit_user = mysqli_fetch_assoc($result);
+ mysqli_stmt_close($stmt);
+ $edit_mode = true;
+}
+
+// --- Logik zum Hinzufügen oder Speichern von Benutzern ---
+
+if ($_SERVER["REQUEST_METHOD"] == "POST") {
+ $username = $_POST['username'];
+ $password = $_POST['password'];
+ $role = $_POST['role'] === 'admin' ? 'admin' : 'member';
+ $id = $_POST['id'] ?? null;
+
+ if ($id) { // Update-Logik
+ // Überprüfen, ob ein neues Passwort gesetzt wurde
+ if (!empty($password)) {
+ $password_hashed = password_hash($password, PASSWORD_DEFAULT);
+ $stmt = mysqli_prepare($conn, "UPDATE users SET username = ?, password = ?, role = ? WHERE id = ?");
+ mysqli_stmt_bind_param($stmt, "sssi", $username, $password_hashed, $role, $id);
+ } else {
+ $stmt = mysqli_prepare($conn, "UPDATE users SET username = ?, role = ? WHERE id = ?");
+ mysqli_stmt_bind_param($stmt, "ssi", $username, $role, $id);
+ }
+
+ if (mysqli_stmt_execute($stmt)) {
+ $message = "Benutzer erfolgreich aktualisiert!";
+ $message_type = 'success';
+ } else {
+ $message = "Fehler beim Aktualisieren des Benutzers.";
+ $message_type = 'danger';
+ }
+ mysqli_stmt_close($stmt);
+ } else { // Insert-Logik
+ $password_hashed = password_hash($password, PASSWORD_DEFAULT);
+ $stmt = mysqli_prepare($conn, "INSERT INTO users (username, password, role) VALUES (?, ?, ?)");
+ mysqli_stmt_bind_param($stmt, "sss", $username, $password_hashed, $role);
+ if (mysqli_stmt_execute($stmt)) {
+ $message = "Benutzer erfolgreich hinzugefügt.";
+ $message_type = 'success';
+ } else {
+ $message = "Fehler beim Hinzufügen: " . mysqli_error($conn);
+ $message_type = 'danger';
+ }
+ mysqli_stmt_close($stmt);
+ }
}
// Benutzerübersicht abrufen
@@ -52,31 +107,42 @@ require_once('../inc/header.php');