Vollständige Anwendungskonfiguration (aus config.php) */ private array $config; /** @var LdapDirectoryService Service für das Lesen von Benutzern und Gruppen aus dem LDAP/AD */ private LdapDirectoryService $directoryService; /** * @param array $config Vollständige Konfiguration aus config.php */ public function __construct(array $config) { // Komplette Konfiguration speichern (falls später weitere Werte benötigt werden). $this->config = $config; // LDAP-Konfiguration aus der Gesamt-Konfiguration herausziehen. $ldapConfig = $config['ldap'] ?? []; // Directory-Service initialisieren, der die eigentliche LDAP-Arbeit übernimmt. $this->directoryService = new LdapDirectoryService($ldapConfig); } /** * Zeigt Benutzer- und Gruppenliste an. * Wird typischerweise über die Route "users" (index.php?route=users) aufgerufen. */ public function show(): void { // Standardwerte für die View-Variablen vorbereiten. $error = null; $users = []; $groups = []; try { // Benutzer- und Gruppenlisten aus dem AD laden. $users = $this->directoryService->getUsers(); $groups = $this->directoryService->getGroups(); } catch (\Throwable $exception) { // Sämtliche technischen Fehler (z. B. Verbindungs- oder Konfigurationsprobleme) // werden hier in eine für den Benutzer lesbare Fehlermeldung übersetzt. $error = 'Fehler beim Laden von Benutzern/Gruppen: ' . $exception->getMessage(); } // Pfad zur eigentlichen View-Datei bestimmen. $viewPath = __DIR__ . '/../../public/views/users.php'; // Falls die View-Datei (noch) nicht existiert, Fallback-Ausgabe verwenden. if (file_exists($viewPath) === false) { $this->renderInline($users, $groups, $error); return; } // Variablen $users, $groups, $error stehen in der View zur Verfügung, // weil sie im aktuellen Scope definiert sind. require $viewPath; } /** * Fallback-Ausgabe, falls noch keine View-Datei existiert. * * @param array> $users Liste der Benutzer-Datensätze * @param array> $groups Liste der Gruppen-Datensätze * @param string|null $error Fehlermeldung (falls vorhanden) */ private function renderInline(array $users, array $groups, ?string $error): void { ?> AD Admin Tool – Benutzer & Gruppen

Benutzer & Gruppen

Benutzer

Benutzername (sAMAccountName) Anzeigename E-Mail

Gruppen

Gruppenname (sAMAccountName) CN Beschreibung

Zurück zum Dashboard | Logout