Files
netwatch/app/index.php

68 lines
1.6 KiB
PHP

<?php
// Einstiegspunkt der Anwendung, Routing zur jeweiligen Modul-Seite
/**
* index.php
*
* Einstiegspunkt der Anwendung
* - Single-User
* - Modulbasiertes Routing
* - Basierend auf _sql.php
* - HTML-Layout via templates/layout.php
*/
/* =========================
* Bootstrap
* ========================= */
require_once __DIR__ . '/bootstrap.php'; // lädt config, DB, helper
// TODO: Session starten / Single-User-Auth prüfen
/* =========================
* Routing
* ========================= */
// Standard-Modul / Aktion
$module = $_GET['module'] ?? 'dashboard';
$action = $_GET['action'] ?? 'list';
// Whitelist der Module
$validModules = ['dashboard', 'device_types', 'devices', 'racks', 'floors', 'connections'];
// Whitelist der Aktionen
$validActions = ['list', 'edit', 'save', 'ports'];
// Prüfen auf gültige Werte
if (!in_array($module, $validModules)) {
// TODO: Fehlerseite anzeigen
die('Ungültiges Modul');
}
if (!in_array($action, $validActions)) {
// TODO: Fehlerseite anzeigen
die('Ungültige Aktion');
}
/* =========================
* Template-Header laden
* ========================= */
require_once __DIR__ . '/templates/header.php';
// TODO: ggf. Navigation einbinden
/* =========================
* Modul laden
* ========================= */
$modulePath = __DIR__ . "/modules/$module/$action.php";
if (file_exists($modulePath)) {
require_once $modulePath;
} else {
// TODO: Fehlerseite oder 404
echo "<p>Die Seite existiert noch nicht.</p>".$modulePath;
}
/* =========================
* Template-Footer laden
* ========================= */
require_once __DIR__ . '/templates/footer.php';