canManage()) { http_response_code(403); echo 'Kein Zugriff auf Registrierungsfreigaben.'; exit; } $csrfToken = (string) ($_SESSION['registration_admin_token'] ?? ''); if ($csrfToken === '') { $csrfToken = bin2hex(random_bytes(16)); $_SESSION['registration_admin_token'] = $csrfToken; } $currentUser = is_array($_SESSION['desktop_auth']['user'] ?? null) ? $_SESSION['desktop_auth']['user'] : []; $reviewer = (string) ($currentUser['username'] ?? 'unbekannt'); $selectedId = trim((string) ($_GET['id'] ?? $_POST['id'] ?? '')); $errors = []; $notice = null; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $postedToken = (string) ($_POST['csrf_token'] ?? ''); if ($postedToken === '' || !hash_equals($csrfToken, $postedToken)) { $errors[] = 'Die Formularprüfung ist fehlgeschlagen.'; } else { $action = (string) ($_POST['action'] ?? ''); if ($action === 'approve') { $result = $registration->approve($selectedId, array_map('strval', $_POST), $reviewer); if (($result['success'] ?? false) !== true) { $errors = array_values(array_map('strval', (array) ($result['errors'] ?? []))); } else { $notice = 'Registrierung freigegeben und als inaktiver LDAP-Benutzer angelegt.'; } } elseif ($action === 'reject') { $result = $registration->reject($selectedId, (string) ($_POST['reject_reason'] ?? ''), $reviewer); if (($result['success'] ?? false) !== true) { $errors = array_values(array_map('strval', (array) ($result['errors'] ?? []))); } else { $notice = 'Registrierung abgelehnt.'; } } } } $requests = $registration->all(); $selected = $selectedId !== '' ? $registration->find($selectedId) : ($requests[0] ?? null); $provisioning = is_array($selected['provisioning'] ?? null) ? $selected['provisioning'] : []; ?> Registrierungsfreigaben

Status:

Benutzername:

E-Mail:

Angelegt:

Zusatzinfo: