strtolower(trim($group, '/')), array_values(array_map('strval', (array) ($currentUser['groups'] ?? []))) ); $isPartial = !empty($_GET['partial']); if (!in_array('administrators', $currentGroups, true)) { http_response_code(403); $forbidden = '

Kein Zugriff auf User Management.

'; if ($isPartial) { echo $forbidden; return; } ?> User Management approve($selectedId, [ 'member_of_list' => $memberOfList, 'admin_note' => (string) ($_POST['admin_note'] ?? ''), ], (string) ($currentUser['username'] ?? 'administrator')); if (($result['success'] ?? false) !== true) { $errors = array_merge($errors, array_values(array_map('strval', (array) ($result['errors'] ?? [])))); } else { $messages[] = 'Registrierung wurde freigeschaltet.'; } $section = 'pending'; } elseif ($action === 'deactivate-user') { $result = $registration->deactivateUser($manualUsername); if (($result['success'] ?? false) === true) { $messages[] = (string) ($result['message'] ?? ''); } else { $errors[] = (string) ($result['message'] ?? ''); } $section = 'users'; } elseif ($action === 'activate-user') { $groupDns = array_values(array_filter(array_map('strval', (array) ($_POST['manual_group_dns'] ?? [])))); $result = $registration->activateExistingUser($manualUsername, $groupDns); if (($result['success'] ?? false) === true) { $messages[] = (string) ($result['message'] ?? ''); } else { $errors[] = (string) ($result['message'] ?? ''); } $section = 'users'; } elseif ($action === 'send-reset-mail') { $origin = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http') . '://' . ($_SERVER['HTTP_HOST'] ?? 'localhost'); $result = $registration->sendPasswordReset($manualResetUsername, $origin); if (($result['success'] ?? false) === true) { $messages[] = (string) ($result['message'] ?? ''); } else { $errors[] = (string) ($result['message'] ?? ''); } $section = 'reset'; } elseif ($action === 'set-password') { if (strlen($manualResetPassword) < 12) { $errors[] = 'Das neue Passwort muss mindestens 12 Zeichen lang sein.'; } else { $result = $registration->setUserPassword($manualResetUsername, $manualResetPassword); if (($result['success'] ?? false) === true) { $messages[] = (string) ($result['message'] ?? ''); } else { $errors[] = (string) ($result['message'] ?? ''); } } $section = 'reset'; } } } $pendingRequests = $registration->pendingApprovals(); $availableGroups = $registration->availableGroups(); $selected = $selectedId !== '' ? $registration->find($selectedId) : ($pendingRequests[0] ?? null); if ($selectedId === '' && is_array($selected) && isset($selected['id'])) { $selectedId = (string) $selected['id']; } $h = static fn (?string $value): string => htmlspecialchars($value ?? '', ENT_QUOTES); $sectionUrl = static function (string $targetSection, string $requestId = ''): string { $query = ['section' => $targetSection]; if ($requestId !== '') { $query['id'] = $requestId; } return '/admin/users/?' . http_build_query($query, '', '&', PHP_QUERY_RFC3986); }; $sectionMeta = [ 'pending' => [ 'label' => 'Freischaltungen', 'title' => 'Offene Registrierungen', 'description' => 'Neue Registrierungen pruefen, Gruppen zuweisen und Freischaltungen sauber dokumentieren.', 'nav' => 'Anfragen sichten und direkt freigeben.', ], 'users' => [ 'label' => 'Benutzerstatus', 'title' => 'Bestehende Benutzer', 'description' => 'LDAP-Benutzer aktivieren, deaktivieren und Gruppen fuer die Desktop-Nutzung zuweisen.', 'nav' => 'Aktivierung und Sperrung vorhandener Konten.', ], 'reset' => [ 'label' => 'Passwort-Reset', 'title' => 'Passwortverwaltung', 'description' => 'Reset-Mails ausloesen oder ein Passwort direkt als Administrator setzen.', 'nav' => 'Ruecksetzen oder direkt neu vergeben.', ], ]; ob_start(); ?>

User Management

Administrators only Desktop Auth Section:
Ergebnis
Bitte pruefen

Queue

Wartende Registrierungen

offen
Aktuell gibt es keine offenen Registrierungen.

Approval

Freischaltung

Benutzer
E-Mail
Status
Gruppen fuer Freischaltung
Keine Anfrage ausgewaehlt.

Existing User

Bestehenden Benutzer verwalten

Gruppen fuer Aktivierung

Reset

Passwort zuruecksetzen

User Management