basePdo(); $error = null; $notice = null; require_admin(); if (!$pdo) { echo '
Base-DB nicht aktiviert.
'; return; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $action = (string)($_POST['action'] ?? ''); if ($action === 'add_role') { $role = trim((string)($_POST['role'] ?? '')); $desc = trim((string)($_POST['description'] ?? '')); if ($role === '') { $error = 'Rollenname fehlt.'; } else { $stmt = $pdo->prepare( "INSERT INTO nexus_roles (name, description) VALUES (:name, :description) ON CONFLICT(name) DO UPDATE SET description = excluded.description" ); $stmt->execute(['name' => $role, 'description' => $desc]); $notice = 'Rolle gespeichert.'; } } elseif ($action === 'add_user') { $email = trim((string)($_POST['email'] ?? '')); $password = (string)($_POST['password'] ?? ''); $role = trim((string)($_POST['role'] ?? 'user')); if ($email === '' || $password === '') { $error = 'E-Mail und Passwort sind erforderlich.'; } else { $hash = password_hash($password, PASSWORD_DEFAULT); $pdo->prepare( "INSERT INTO nexus_users (email, password_hash, role, is_active) VALUES (:email, :hash, :role, 1)" )->execute([ 'email' => $email, 'hash' => $hash, 'role' => $role !== '' ? $role : 'user', ]); $pdo->prepare( "INSERT INTO nexus_roles (name) VALUES (:name) ON CONFLICT(name) DO NOTHING" )->execute(['name' => $role !== '' ? $role : 'user']); $notice = 'User angelegt.'; } } } $roles = $pdo->query("SELECT name, description FROM nexus_roles ORDER BY name")->fetchAll(PDO::FETCH_ASSOC) ?: []; $users = $pdo->query("SELECT id, email, role, is_active, created_at FROM nexus_users ORDER BY id DESC")->fetchAll(PDO::FETCH_ASSOC) ?: []; ?>
Userverwaltung

User & Rollen

Admin kann Module aktivieren/deaktivieren, Benutzer können Module nutzen.

Rollen
User anlegen

Userliste

E-Mail Rolle Aktiv Erstellt