Vollständige Anwendungskonfiguration (aus config.php) */ private array $config; /** @var SnmpServerStatusService Service, der den Serverstatus (später per SNMP) liefert */ private SnmpServerStatusService $snmpService; /** * Übergibt die Konfiguration an den Controller und initialisiert den SNMP-Statusservice. * * @param array $config Vollständige Konfiguration aus config.php */ public function __construct(array $config) { // Komplette Config lokal speichern (falls später weitere Werte benötigt werden). $this->config = $config; // Teilbereich "snmp" aus der Konfiguration ziehen. // Wenn nicht vorhanden, wird ein leeres Array übergeben (der Service prüft das selbst). $snmpConfig = $config['snmp'] ?? []; // SNMP-Service initialisieren, der den Serverstatus liefert. $this->snmpService = new SnmpServerStatusService($snmpConfig); } /** * Zeigt das Dashboard an. * Holt die Serverstatus-Daten aus dem SnmpServerStatusService und übergibt sie an die View. */ public function show(): void { // Serverstatus über den SNMP-Service ermitteln. // In der aktuellen Version liefert der Service noch Demo-Daten. $serverStatus = $this->snmpService->getServerStatus(); // Pfad zur Dashboard-View (Template-Datei) ermitteln. $viewPath = __DIR__ . '/../../public/views/dashboard.php'; // Falls die View-Datei (noch) nicht existiert, Fallback-HTML direkt aus dem Controller ausgeben. if (file_exists($viewPath) === false) { $this->renderInlineDashboard($serverStatus); return; } // View-Datei einbinden. Die Variable $serverStatus steht in der View zur Verfügung. require $viewPath; } /** * Fallback-Dashboard-Ausgabe direkt aus dem Controller (ohne separate View-Datei). * Nur als Notlösung gedacht, falls die eigentliche View noch nicht vorhanden ist. * * @param array $serverStatus Serverstatus-Daten (Hostname, CPU%, RAM%, etc.) */ private function renderInlineDashboard(array $serverStatus): void { ?> AD Admin Tool – Dashboard

Dashboard

Serverstatus

Logout