diff --git a/admin/colors.php b/admin/colors.php index 47434df..2b80b44 100755 --- a/admin/colors.php +++ b/admin/colors.php @@ -77,7 +77,6 @@ require_once '../inc/header.php'; ?>
-

Farbverwaltung

-
-
-

-
-
-
- - - -
-
- - -
-
- - -
-
- - - Abbrechen - -
-
-
+
+

Farbverwaltung

+ +
+ +
+
+
+

+
+
+
+ + + +
+
+ + +
+
+ + +
+
+ + + Abbrechen + +
+
+
+
+
+

Aktuelle Farben

+
diff --git a/admin/planning.php b/admin/planning.php index 1201c5a..2bdf64e 100755 --- a/admin/planning.php +++ b/admin/planning.php @@ -75,7 +75,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'delete' && isset($_GET['id'])) // Aktion Bearbeiten (Formular laden) if (isset($_GET['action']) && $_GET['action'] == 'edit' && isset($_GET['id'])) { $id = $_GET['id']; - $stmt = mysqli_prepare($conn, "SELECT id, meeting_date, color_id, reason FROM meetings WHERE id = ?"); // <<< NEU: 'reason' in der Abfrage + $stmt = mysqli_prepare($conn, "SELECT id, meeting_date, color_id, reason FROM meetings WHERE id = ?"); mysqli_stmt_bind_param($stmt, "i", $id); mysqli_stmt_execute($stmt); $result = mysqli_stmt_get_result($stmt); @@ -93,15 +93,15 @@ if (isset($_GET['action']) && $_GET['action'] == 'edit' && isset($_GET['id'])) { if ($_SERVER["REQUEST_METHOD"] == "POST") { $meeting_date_only = $_POST['meeting_date']; - $meeting_time_only = $_POST['meeting_time'] ?? '12:00'; // Standardwert 12:00 Uhr + $meeting_time_only = $_POST['meeting_time'] ?? '12:00'; $meeting_date = $meeting_date_only . ' ' . $meeting_time_only; $color_id = $_POST['color_id']; - $reason = $_POST['reason'] ?? 'Zufallsfarbe'; // <<< NEU: Grund aus dem Formular holen, Standardwert bei leerem Feld + $reason = $_POST['reason'] ?? 'Zufallsfarbe'; $id = $_POST['id'] ?? null; if ($id) { // Update-Logik - $stmt = mysqli_prepare($conn, "UPDATE meetings SET meeting_date = ?, color_id = ?, reason = ? WHERE id = ?"); // <<< NEU: 'reason' in der Abfrage - mysqli_stmt_bind_param($stmt, "sisi", $meeting_date, $color_id, $reason, $id); // <<< NEU: 's' für den String-Parameter + $stmt = mysqli_prepare($conn, "UPDATE meetings SET meeting_date = ?, color_id = ?, reason = ? WHERE id = ?"); + mysqli_stmt_bind_param($stmt, "sisi", $meeting_date, $color_id, $reason, $id); if (mysqli_stmt_execute($stmt)) { $message = "Termin erfolgreich aktualisiert!"; $message_type = 'success'; @@ -111,8 +111,8 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { } mysqli_stmt_close($stmt); } else { // Insert-Logik - $stmt = mysqli_prepare($conn, "INSERT INTO meetings (meeting_date, color_id, reason) VALUES (?, ?, ?)"); // <<< NEU: 'reason' in der Abfrage - mysqli_stmt_bind_param($stmt, "sis", $meeting_date, $color_id, $reason); // <<< NEU: 's' für den String-Parameter + $stmt = mysqli_prepare($conn, "INSERT INTO meetings (meeting_date, color_id, reason) VALUES (?, ?, ?)"); + mysqli_stmt_bind_param($stmt, "sis", $meeting_date, $color_id, $reason); if (mysqli_stmt_execute($stmt)) { $message = "Neuer Termin erfolgreich hinzugefügt!"; $message_type = 'success'; @@ -139,9 +139,9 @@ for ($i = 0; $i < 2; $i++) { 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, reason) VALUES (?, ?, ?)"); // <<< NEU: 'reason' in der Abfrage - $default_reason = "Zufallsfarbe"; // <<< NEU: Grund für automatisch erstellte Termine - mysqli_stmt_bind_param($stmt_insert, "sis", $next_thursday, $color_id, $default_reason); // <<< NEU: 's' für den String-Parameter + $stmt_insert = mysqli_prepare($conn, "INSERT INTO meetings (meeting_date, color_id, reason) VALUES (?, ?, ?)"); + $default_reason = "Zufallsfarbe"; + mysqli_stmt_bind_param($stmt_insert, "sis", $next_thursday, $color_id, $default_reason); mysqli_stmt_execute($stmt_insert); mysqli_stmt_close($stmt_insert); } @@ -159,7 +159,7 @@ while ($row = mysqli_fetch_assoc($result)) { } $meetings = []; -$result = mysqli_query($conn, "SELECT m.id, m.meeting_date, m.created_at, m.reason, 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"); // <<< NEU: 'reason' in der Abfrage +$result = mysqli_query($conn, "SELECT m.id, m.meeting_date, m.created_at, m.reason, c.name AS color_name, c.hex_code FROM meetings m JOIN colors c ON m.color_id = c.id WHERE m.meeting_date >= CURDATE() ORDER BY m.meeting_date"); while ($row = mysqli_fetch_assoc($result)) { $meetings[] = $row; } @@ -168,7 +168,6 @@ require_once '../inc/header.php'; ?>
-

Terminverwaltung

-
-
-

-
-
-
- - - -
-
- - - -
-
- - - -
-
- - - -
-
- - -
wenn leer, wird automatisch "Zufallsfarbe" eingetragen
-
-
-
- - - Abbrechen - +
+

Terminverwaltung

+ +
+ +
+
+
+

+
+
+ + + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + +
wenn leer, wird automatisch "Zufallsfarbe" eingetragen
+
+
+
+ + + Abbrechen + +
-
- + +
+
@@ -248,21 +257,21 @@ require_once '../inc/header.php'; - +
-
+
- -
Grund:
+ +
Grund:
- + mode_edit_outline - + delete_outline diff --git a/admin/users.php b/admin/users.php index 65caa71..2934a47 100755 --- a/admin/users.php +++ b/admin/users.php @@ -28,7 +28,8 @@ if (isset($_GET['action']) && $_GET['action'] == 'delete' && isset($_GET['id'])) // 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 = ?"); + // E-Mail-Feld zur Abfrage hinzugefügt, da es für das Bearbeiten benötigt wird + $stmt = mysqli_prepare($conn, "SELECT id, username, email, role FROM users WHERE id = ?"); mysqli_stmt_bind_param($stmt, "i", $id); mysqli_stmt_execute($stmt); $result = mysqli_stmt_get_result($stmt); @@ -42,6 +43,8 @@ if (isset($_GET['action']) && $_GET['action'] == 'edit' && isset($_GET['id'])) { if ($_SERVER["REQUEST_METHOD"] == "POST") { $username = $_POST['username']; $password = $_POST['password']; + // E-Mail-Feld aus dem Formular auslesen + $email = $_POST['email'] ?? null; $role = $_POST['role'] === 'admin' ? 'admin' : 'member'; $id = $_POST['id'] ?? null; @@ -49,11 +52,15 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { // Ü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); + // E-Mail-Feld zum UPDATE-Statement hinzugefügt + $stmt = mysqli_prepare($conn, "UPDATE users SET username = ?, password = ?, email = ?, role = ? WHERE id = ?"); + // `email` zur Parameter-Bindung hinzugefügt + mysqli_stmt_bind_param($stmt, "ssssi", $username, $password_hashed, $email, $role, $id); } else { - $stmt = mysqli_prepare($conn, "UPDATE users SET username = ?, role = ? WHERE id = ?"); - mysqli_stmt_bind_param($stmt, "ssi", $username, $role, $id); + // E-Mail-Feld zum UPDATE-Statement hinzugefügt + $stmt = mysqli_prepare($conn, "UPDATE users SET username = ?, email = ?, role = ? WHERE id = ?"); + // `email` zur Parameter-Bindung hinzugefügt + mysqli_stmt_bind_param($stmt, "sssi", $username, $email, $role, $id); } if (mysqli_stmt_execute($stmt)) { @@ -66,8 +73,10 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { 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); + // E-Mail-Feld zum INSERT-Statement hinzugefügt + $stmt = mysqli_prepare($conn, "INSERT INTO users (username, password, email, role) VALUES (?, ?, ?, ?)"); + // `email` zur Parameter-Bindung hinzugefügt + mysqli_stmt_bind_param($stmt, "ssss", $username, $password_hashed, $email, $role); if (mysqli_stmt_execute($stmt)) { $message = "Benutzer erfolgreich hinzugefügt."; $message_type = 'success'; @@ -79,7 +88,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { } } -// Benutzerübersicht abrufen +// Benutzerübersicht abrufen (E-Mail-Feld entfernt) $users = []; $result = mysqli_query($conn, "SELECT id, username, role FROM users ORDER BY id ASC"); if ($result) { @@ -92,7 +101,6 @@ require_once('../inc/header.php'); ?>
-

Benutzerverwaltung

-
-
-

-
-
-
- - - -
-
- - - -
-
- - > -
- +
+

Benutzerverwaltung

+ +
+ +
+
+
+

+
+
+ + + + +
+
+ + + +
+
+ + + +
+
+ + > +
+ +
+
+
+ + + +
+
+ + + Abbrechen +
-
- - - -
-
- - - Abbrechen - -
-
- + +
+