// --- User & Role Groups Handlers --- if (isset($_POST['add_role_group'])) { $name = $_POST['name'] ?? ''; $permissions = isset($_POST['permissions']) ? json_encode($_POST['permissions']) : '[]'; if ($name) { try { $stmt = db()->prepare("INSERT INTO role_groups (name, permissions) VALUES (?, ?)"); $stmt->execute([$name, $permissions]); $message = "Role Group added successfully!"; } catch (PDOException $e) { $message = "Error adding role group: " . $e->getMessage(); } } } if (isset($_POST['add_user'])) { $username = $_POST['username'] ?? ''; $password = $_POST['password'] ?? ''; $email = $_POST['email'] ?? ''; $group_id = (int)($_POST['group_id'] ?? 0) ?: null; if ($username && $password) { $hashed_password = password_hash($password, PASSWORD_DEFAULT); $stmt = db()->prepare("INSERT INTO users (username, password, email, group_id) VALUES (?, ?, ?, ?)"); try { $stmt->execute([$username, $hashed_password, $email, $group_id]); $message = "User added successfully!"; } catch (PDOException $e) { if ($e->getCode() == '23000') { $message = "Error: Username already exists."; } else {