Compare commits
No commits in common. "2f55cb9934cf5ee79b3499283b08f4f52d73f3a5" and "d7811fcdb2767e56eeea9d8fb195cf6eb6a317e6" have entirely different histories.
2f55cb9934
...
d7811fcdb2
0
app/Controllers/.gitkeep
Normal file
0
app/Controllers/.gitkeep
Normal file
@ -1,120 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
// Strenge Typprüfung für Parameter- und Rückgabetypen aktivieren.
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace App\Controllers;
|
|
||||||
|
|
||||||
use App\Services\Snmp\SnmpServerStatusService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Controller für das Dashboard.
|
|
||||||
* Zuständig für:
|
|
||||||
* - Abrufen des Serverstatus (über SnmpServerStatusService)
|
|
||||||
* - Auswählen und Rendern der Dashboard-View
|
|
||||||
*/
|
|
||||||
class DashboardController
|
|
||||||
{
|
|
||||||
/** @var array<string, mixed> 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<string, mixed> $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<string, mixed> $serverStatus Serverstatus-Daten (Hostname, CPU%, RAM%, etc.)
|
|
||||||
*/
|
|
||||||
private function renderInlineDashboard(array $serverStatus): void
|
|
||||||
{
|
|
||||||
?>
|
|
||||||
<!doctype html>
|
|
||||||
<html lang="de">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>AD Admin Tool – Dashboard</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>Dashboard</h1>
|
|
||||||
|
|
||||||
<h2>Serverstatus</h2>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
Hostname:
|
|
||||||
<?php echo htmlspecialchars((string)$serverStatus['hostname'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); ?>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
Betriebssystem:
|
|
||||||
<?php echo htmlspecialchars((string)$serverStatus['os'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); ?>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
Uptime:
|
|
||||||
<?php echo htmlspecialchars((string)$serverStatus['uptime'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); ?>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
CPU-Auslastung:
|
|
||||||
<?php echo (int)$serverStatus['cpu_usage']; ?>%
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
RAM-Auslastung:
|
|
||||||
<?php echo (int)$serverStatus['memory_usage']; ?>%
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
Datenträger C:
|
|
||||||
<?php echo (int)$serverStatus['disk_usage_c']; ?>%
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
Letzte Aktualisierung:
|
|
||||||
<?php echo htmlspecialchars((string)$serverStatus['last_update'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); ?>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p><a href="index.php?route=logout">Logout</a></p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -51,7 +51,7 @@ class LdapAuthService
|
|||||||
// Benötigte Werte aus der LDAP-Konfiguration auslesen.
|
// Benötigte Werte aus der LDAP-Konfiguration auslesen.
|
||||||
// Falls einzelne Werte fehlen, werden sinnvolle Standardwerte gesetzt.
|
// Falls einzelne Werte fehlen, werden sinnvolle Standardwerte gesetzt.
|
||||||
$server = (string)($this->config['server'] ?? '');
|
$server = (string)($this->config['server'] ?? '');
|
||||||
$port = (int)($this->config['port'] ?? 389);
|
$port = (int)($this->config['port'] ?? 636);
|
||||||
$domainSuffix = (string)($this->config['domain_suffix'] ?? '');
|
$domainSuffix = (string)($this->config['domain_suffix'] ?? '');
|
||||||
$timeout = (int)($this->config['timeout'] ?? 5);
|
$timeout = (int)($this->config['timeout'] ?? 5);
|
||||||
|
|
||||||
|
|||||||
0
app/Services/Snmp/.gitkeep
Normal file
0
app/Services/Snmp/.gitkeep
Normal file
@ -1,68 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
// Strenge Typprüfung für Parameter- und Rückgabetypen aktivieren.
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace App\Services\Snmp;
|
|
||||||
|
|
||||||
use RuntimeException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Service zur Ermittlung des Serverstatus.
|
|
||||||
*
|
|
||||||
* In dieser ersten Version werden noch statische Demo-Daten zurückgegeben.
|
|
||||||
* Später können hier echte SNMP-Abfragen eingebaut werden, ohne dass sich
|
|
||||||
* der DashboardController oder die Views ändern müssen.
|
|
||||||
*/
|
|
||||||
class SnmpServerStatusService
|
|
||||||
{
|
|
||||||
/** @var array<string, mixed> SNMP-spezifische Konfiguration (Host, Community, Timeout, OIDs, etc.) */
|
|
||||||
private array $config;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Erwartet den Teilbereich "snmp" aus der allgemeinen Konfiguration (config.php).
|
|
||||||
*
|
|
||||||
* @param array<string, mixed> $snmpConfig Konfiguration für die SNMP-Abfragen
|
|
||||||
*/
|
|
||||||
public function __construct(array $snmpConfig)
|
|
||||||
{
|
|
||||||
// SNMP-Konfiguration in der Instanz speichern.
|
|
||||||
$this->config = $snmpConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Liefert den aktuellen Serverstatus zurück.
|
|
||||||
*
|
|
||||||
* In dieser Version werden Demo-Daten auf Basis der Konfiguration erzeugt.
|
|
||||||
* Später können hier echte SNMP-Queries (z. B. über die PHP-SNMP-Extension) verwendet werden.
|
|
||||||
*
|
|
||||||
* @return array<string, mixed> Assoziatives Array mit Statuswerten (Hostname, CPU%, RAM%, etc.)
|
|
||||||
*
|
|
||||||
* @throws RuntimeException wenn die SNMP-Konfiguration unvollständig ist (z. B. host fehlt)
|
|
||||||
*/
|
|
||||||
public function getServerStatus(): array
|
|
||||||
{
|
|
||||||
// Hostnamen aus der SNMP-Konfiguration lesen.
|
|
||||||
$host = (string)($this->config['host'] ?? '');
|
|
||||||
|
|
||||||
// Ohne Host ist keine sinnvolle Abfrage möglich -> Konfigurationsfehler.
|
|
||||||
if ($host === '') {
|
|
||||||
throw new RuntimeException('SNMP-Konfiguration ist unvollständig (host fehlt).');
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Später hier echte SNMP-Abfragen einbauen (z. B. snmp2_get/snmp2_walk).
|
|
||||||
// Die OIDs können aus $this->config['oids'] gelesen werden.
|
|
||||||
// Für den Anfang verwenden wir dieselben Demo-Werte wie vorher im DashboardController.
|
|
||||||
$status = [
|
|
||||||
'hostname' => $host,
|
|
||||||
'os' => 'Windows Server 2025 Datacenter',
|
|
||||||
'uptime' => '3 Tage 12 Stunden',
|
|
||||||
'cpu_usage' => 23, // CPU-Auslastung in Prozent (Demo)
|
|
||||||
'memory_usage' => 62, // RAM-Auslastung in Prozent (Demo)
|
|
||||||
'disk_usage_c' => 71, // Datenträger C in Prozent (Demo)
|
|
||||||
'last_update' => date('d.m.Y H:i:s'), // Zeitpunkt der letzten Aktualisierung
|
|
||||||
];
|
|
||||||
|
|
||||||
return $status;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -7,7 +7,7 @@ declare(strict_types=1);
|
|||||||
return [
|
return [
|
||||||
'ldap' => [
|
'ldap' => [
|
||||||
// LDAP-URL des Domain Controllers
|
// LDAP-URL des Domain Controllers
|
||||||
'server' => 'itfa-proj-srv.itfa-proj-dom.local',
|
'server' => 'ITFA-PROJ-SRV.ITFA-PROJ-DOM.local',
|
||||||
'port' => 389,
|
'port' => 389,
|
||||||
|
|
||||||
// wird an den Benutzernamen angehängt (z.B. "admin" + "@ITFA-PROJ-DOM.local")
|
// wird an den Benutzernamen angehängt (z.B. "admin" + "@ITFA-PROJ-DOM.local")
|
||||||
@ -24,19 +24,4 @@ return [
|
|||||||
// Session-Key unter dem der eingeloggte Admin gespeichert wird
|
// Session-Key unter dem der eingeloggte Admin gespeichert wird
|
||||||
'session_key_user' => 'admin_user',
|
'session_key_user' => 'admin_user',
|
||||||
],
|
],
|
||||||
|
|
||||||
'snmp' => [
|
|
||||||
'host' => 'itfa-proj-srv.itfa-proj-dom.local',
|
|
||||||
'community' => 'public_ro', // später: sinnvoller Community-String
|
|
||||||
'timeout' => 2, // Sekunden
|
|
||||||
'retries' => 1, // Anzahl Wiederholungen
|
|
||||||
|
|
||||||
// Platzhalter für OIDs – später können wir die auf echte Werte setzen
|
|
||||||
'oids' => [
|
|
||||||
'uptime' => '1.3.6.1.2.1.1.3.0',
|
|
||||||
'cpu_usage' => '1.3.6.1.4.1.example.cpu.0',
|
|
||||||
'memory_usage' => '1.3.6.1.4.1.example.memory.0',
|
|
||||||
'disk_c' => '1.3.6.1.4.1.example.diskc.0',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
];
|
||||||
|
|||||||
@ -31,7 +31,7 @@
|
|||||||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
||||||
|
|
||||||
<!-- Sidebar - Brand -->
|
<!-- Sidebar - Brand -->
|
||||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="views/dashboard.php">
|
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="dashboard.php">
|
||||||
<div class="sidebar-brand-icon rotate-n-15">
|
<div class="sidebar-brand-icon rotate-n-15">
|
||||||
<i class="fas fa-laugh-wink"></i>
|
<i class="fas fa-laugh-wink"></i>
|
||||||
</div>
|
</div>
|
||||||
@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
<!-- Nav Item - Dashboard -->
|
<!-- Nav Item - Dashboard -->
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="views/dashboard.php">
|
<a class="nav-link" href="dashboard.php">
|
||||||
<i class="fas fa-fw fa-tachometer-alt"></i>
|
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||||
<span>Dashboard</span>
|
<span>Dashboard</span>
|
||||||
</a>
|
</a>
|
||||||
@ -365,7 +365,7 @@
|
|||||||
<div class="error mx-auto" data-text="404">404</div>
|
<div class="error mx-auto" data-text="404">404</div>
|
||||||
<p class="lead text-gray-800 mb-5">Page Not Found</p>
|
<p class="lead text-gray-800 mb-5">Page Not Found</p>
|
||||||
<p class="text-gray-500 mb-0">It looks like you found a glitch in the matrix...</p>
|
<p class="text-gray-500 mb-0">It looks like you found a glitch in the matrix...</p>
|
||||||
<a href="views/dashboard.php">← Back to Dashboard</a>
|
<a href="dashboard.php">← Back to Dashboard</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -36,7 +36,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
||||||
|
|
||||||
<!-- Sidebar - Brand -->
|
<!-- Sidebar - Brand -->
|
||||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="views/dashboard.php">
|
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="dashboard.php">
|
||||||
<div class="sidebar-brand-icon rotate-n-15">
|
<div class="sidebar-brand-icon rotate-n-15">
|
||||||
<i class="fas fa-laugh-wink"></i>
|
<i class="fas fa-laugh-wink"></i>
|
||||||
</div>
|
</div>
|
||||||
@ -48,7 +48,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
|
|
||||||
<!-- Nav Item - Dashboard -->
|
<!-- Nav Item - Dashboard -->
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="views/dashboard.php">
|
<a class="nav-link" href="dashboard.php">
|
||||||
<i class="fas fa-fw fa-tachometer-alt"></i>
|
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||||
<span>Dashboard</span></a>
|
<span>Dashboard</span></a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -36,7 +36,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
||||||
|
|
||||||
<!-- Sidebar - Brand -->
|
<!-- Sidebar - Brand -->
|
||||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="views/dashboard.php">
|
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="dashboard.php">
|
||||||
<div class="sidebar-brand-icon rotate-n-15">
|
<div class="sidebar-brand-icon rotate-n-15">
|
||||||
<i class="fas fa-laugh-wink"></i>
|
<i class="fas fa-laugh-wink"></i>
|
||||||
</div>
|
</div>
|
||||||
@ -48,7 +48,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
|
|
||||||
<!-- Nav Item - Dashboard -->
|
<!-- Nav Item - Dashboard -->
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="views/dashboard.php">
|
<a class="nav-link" href="dashboard.php">
|
||||||
<i class="fas fa-fw fa-tachometer-alt"></i>
|
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||||
<span>Dashboard</span></a>
|
<span>Dashboard</span></a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -36,7 +36,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
||||||
|
|
||||||
<!-- Sidebar - Brand -->
|
<!-- Sidebar - Brand -->
|
||||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="views/dashboard.php">
|
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="dashboard.php">
|
||||||
<div class="sidebar-brand-icon rotate-n-15">
|
<div class="sidebar-brand-icon rotate-n-15">
|
||||||
<i class="fas fa-laugh-wink"></i>
|
<i class="fas fa-laugh-wink"></i>
|
||||||
</div>
|
</div>
|
||||||
@ -48,7 +48,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
|
|
||||||
<!-- Nav Item - Dashboard -->
|
<!-- Nav Item - Dashboard -->
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="views/dashboard.php">
|
<a class="nav-link" href="dashboard.php">
|
||||||
<i class="fas fa-fw fa-tachometer-alt"></i>
|
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||||
<span>Dashboard</span></a>
|
<span>Dashboard</span></a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -36,7 +36,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
||||||
|
|
||||||
<!-- Sidebar - Brand -->
|
<!-- Sidebar - Brand -->
|
||||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="views/dashboard.php">
|
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="dashboard.php">
|
||||||
<div class="sidebar-brand-icon rotate-n-15">
|
<div class="sidebar-brand-icon rotate-n-15">
|
||||||
<i class="fas fa-laugh-wink"></i>
|
<i class="fas fa-laugh-wink"></i>
|
||||||
</div>
|
</div>
|
||||||
@ -48,7 +48,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
|
|
||||||
<!-- Nav Item - Dashboard -->
|
<!-- Nav Item - Dashboard -->
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="views/dashboard.php">
|
<a class="nav-link" href="dashboard.php">
|
||||||
<i class="fas fa-fw fa-tachometer-alt"></i>
|
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||||
<span>Dashboard</span></a>
|
<span>Dashboard</span></a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
/** @var array<string, mixed> $serverStatus */
|
require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
@ -17,13 +17,13 @@ declare(strict_types=1);
|
|||||||
<title>SB Admin 2 - Dashboard</title>
|
<title>SB Admin 2 - Dashboard</title>
|
||||||
|
|
||||||
<!-- Custom fonts for this template-->
|
<!-- Custom fonts for this template-->
|
||||||
<link href="../vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
|
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
|
||||||
<link
|
<link
|
||||||
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
|
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
|
||||||
rel="stylesheet">
|
rel="stylesheet">
|
||||||
|
|
||||||
<!-- Custom styles for this template-->
|
<!-- Custom styles for this template-->
|
||||||
<link href="../css/sb-admin-2.min.css" rel="stylesheet">
|
<link href="css/sb-admin-2.min.css" rel="stylesheet">
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ declare(strict_types=1);
|
|||||||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
||||||
|
|
||||||
<!-- Sidebar - Brand -->
|
<!-- Sidebar - Brand -->
|
||||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="dashboard.php">
|
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="dashboard.html">
|
||||||
<div class="sidebar-brand-icon rotate-n-15">
|
<div class="sidebar-brand-icon rotate-n-15">
|
||||||
<i class="fas fa-laugh-wink"></i>
|
<i class="fas fa-laugh-wink"></i>
|
||||||
</div>
|
</div>
|
||||||
@ -48,7 +48,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
<!-- Nav Item - Dashboard -->
|
<!-- Nav Item - Dashboard -->
|
||||||
<li class="nav-item active">
|
<li class="nav-item active">
|
||||||
<a class="nav-link" href="dashboard.php">
|
<a class="nav-link" href="dashboard.html">
|
||||||
<i class="fas fa-fw fa-tachometer-alt"></i>
|
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||||
<span>Dashboard</span></a>
|
<span>Dashboard</span></a>
|
||||||
</li>
|
</li>
|
||||||
@ -71,8 +71,8 @@ declare(strict_types=1);
|
|||||||
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionSidebar">
|
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionSidebar">
|
||||||
<div class="bg-white py-2 collapse-inner rounded">
|
<div class="bg-white py-2 collapse-inner rounded">
|
||||||
<h6 class="collapse-header">Custom Components:</h6>
|
<h6 class="collapse-header">Custom Components:</h6>
|
||||||
<a class="collapse-item" href="../buttons.php">Buttons</a>
|
<a class="collapse-item" href="buttons.php">Buttons</a>
|
||||||
<a class="collapse-item" href="../cards.php">Cards</a>
|
<a class="collapse-item" href="cards.php">Cards</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
@ -88,10 +88,10 @@ declare(strict_types=1);
|
|||||||
data-parent="#accordionSidebar">
|
data-parent="#accordionSidebar">
|
||||||
<div class="bg-white py-2 collapse-inner rounded">
|
<div class="bg-white py-2 collapse-inner rounded">
|
||||||
<h6 class="collapse-header">Custom Utilities:</h6>
|
<h6 class="collapse-header">Custom Utilities:</h6>
|
||||||
<a class="collapse-item" href="../utilities-color.php">Colors</a>
|
<a class="collapse-item" href="utilities-color.php">Colors</a>
|
||||||
<a class="collapse-item" href="../utilities-border.php">Borders</a>
|
<a class="collapse-item" href="utilities-border.php">Borders</a>
|
||||||
<a class="collapse-item" href="../utilities-animation.php">Animations</a>
|
<a class="collapse-item" href="utilities-animation.php">Animations</a>
|
||||||
<a class="collapse-item" href="../utilities-other.php">Other</a>
|
<a class="collapse-item" href="utilities-other.php">Other</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
@ -115,26 +115,26 @@ declare(strict_types=1);
|
|||||||
<div class="bg-white py-2 collapse-inner rounded">
|
<div class="bg-white py-2 collapse-inner rounded">
|
||||||
<h6 class="collapse-header">Login Screens:</h6>
|
<h6 class="collapse-header">Login Screens:</h6>
|
||||||
<a class="collapse-item" href="login.php">Login</a>
|
<a class="collapse-item" href="login.php">Login</a>
|
||||||
<a class="collapse-item" href="../register.php">Register</a>
|
<a class="collapse-item" href="register.php">Register</a>
|
||||||
<a class="collapse-item" href="../forgot-password.php">Forgot Password</a>
|
<a class="collapse-item" href="forgot-password.php">Forgot Password</a>
|
||||||
<div class="collapse-divider"></div>
|
<div class="collapse-divider"></div>
|
||||||
<h6 class="collapse-header">Other Pages:</h6>
|
<h6 class="collapse-header">Other Pages:</h6>
|
||||||
<a class="collapse-item" href="../404.php">404 Page</a>
|
<a class="collapse-item" href="404.php">404 Page</a>
|
||||||
<a class="collapse-item" href="../blank.php">Blank Page</a>
|
<a class="collapse-item" href="blank.php">Blank Page</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<!-- Nav Item - Charts -->
|
<!-- Nav Item - Charts -->
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="../charts.php">
|
<a class="nav-link" href="charts.php">
|
||||||
<i class="fas fa-fw fa-chart-area"></i>
|
<i class="fas fa-fw fa-chart-area"></i>
|
||||||
<span>Charts</span></a>
|
<span>Charts</span></a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<!-- Nav Item - Tables -->
|
<!-- Nav Item - Tables -->
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="../tables.php">
|
<a class="nav-link" href="tables.php">
|
||||||
<i class="fas fa-fw fa-table"></i>
|
<i class="fas fa-fw fa-table"></i>
|
||||||
<span>Tables</span></a>
|
<span>Tables</span></a>
|
||||||
</li>
|
</li>
|
||||||
@ -149,7 +149,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
<!-- Sidebar Message -->
|
<!-- Sidebar Message -->
|
||||||
<div class="sidebar-card d-none d-lg-flex">
|
<div class="sidebar-card d-none d-lg-flex">
|
||||||
<img class="sidebar-card-illustration mb-2" src="../images/undraw_rocket.svg" alt="...">
|
<img class="sidebar-card-illustration mb-2" src="images/undraw_rocket.svg" alt="...">
|
||||||
<p class="text-center mb-2"><strong>SB Admin Pro</strong> is packed with premium features, components, and more!</p>
|
<p class="text-center mb-2"><strong>SB Admin Pro</strong> is packed with premium features, components, and more!</p>
|
||||||
<a class="btn btn-success btn-sm" href="https://startbootstrap.com/theme/sb-admin-pro">Upgrade to Pro!</a>
|
<a class="btn btn-success btn-sm" href="https://startbootstrap.com/theme/sb-admin-pro">Upgrade to Pro!</a>
|
||||||
</div>
|
</div>
|
||||||
@ -279,7 +279,7 @@ declare(strict_types=1);
|
|||||||
</h6>
|
</h6>
|
||||||
<a class="dropdown-item d-flex align-items-center" href="#">
|
<a class="dropdown-item d-flex align-items-center" href="#">
|
||||||
<div class="dropdown-list-image mr-3">
|
<div class="dropdown-list-image mr-3">
|
||||||
<img class="rounded-circle" src="../images/undraw_profile_1.svg"
|
<img class="rounded-circle" src="images/undraw_profile_1.svg"
|
||||||
alt="...">
|
alt="...">
|
||||||
<div class="status-indicator bg-success"></div>
|
<div class="status-indicator bg-success"></div>
|
||||||
</div>
|
</div>
|
||||||
@ -291,7 +291,7 @@ declare(strict_types=1);
|
|||||||
</a>
|
</a>
|
||||||
<a class="dropdown-item d-flex align-items-center" href="#">
|
<a class="dropdown-item d-flex align-items-center" href="#">
|
||||||
<div class="dropdown-list-image mr-3">
|
<div class="dropdown-list-image mr-3">
|
||||||
<img class="rounded-circle" src="../images/undraw_profile_2.svg"
|
<img class="rounded-circle" src="images/undraw_profile_2.svg"
|
||||||
alt="...">
|
alt="...">
|
||||||
<div class="status-indicator"></div>
|
<div class="status-indicator"></div>
|
||||||
</div>
|
</div>
|
||||||
@ -303,7 +303,7 @@ declare(strict_types=1);
|
|||||||
</a>
|
</a>
|
||||||
<a class="dropdown-item d-flex align-items-center" href="#">
|
<a class="dropdown-item d-flex align-items-center" href="#">
|
||||||
<div class="dropdown-list-image mr-3">
|
<div class="dropdown-list-image mr-3">
|
||||||
<img class="rounded-circle" src="../images/undraw_profile_3.svg"
|
<img class="rounded-circle" src="images/undraw_profile_3.svg"
|
||||||
alt="...">
|
alt="...">
|
||||||
<div class="status-indicator bg-warning"></div>
|
<div class="status-indicator bg-warning"></div>
|
||||||
</div>
|
</div>
|
||||||
@ -337,7 +337,7 @@ declare(strict_types=1);
|
|||||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||||
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
|
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
|
||||||
<img class="img-profile rounded-circle"
|
<img class="img-profile rounded-circle"
|
||||||
src="../images/undraw_profile.svg">
|
src="images/undraw_profile.svg">
|
||||||
</a>
|
</a>
|
||||||
<!-- Dropdown - User Information -->
|
<!-- Dropdown - User Information -->
|
||||||
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
|
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
|
||||||
@ -382,27 +382,34 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
<!-- Earnings (Monthly) Card Example -->
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
<div class="col-xl-3 col-md-6 mb-4">
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
<div class="card border-left-info shadow h-100 py-2">
|
<div class="card border-left-primary shadow h-100 py-2">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row no-gutters align-items-center">
|
<div class="row no-gutters align-items-center">
|
||||||
<div class="col mr-2">
|
<div class="col mr-2">
|
||||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">CPU
|
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
|
||||||
</div>
|
Earnings (Monthly)</div>
|
||||||
<div class="row no-gutters align-items-center">
|
<div class="h5 mb-0 font-weight-bold text-gray-800">$40,000</div>
|
||||||
<div class="col-auto">
|
|
||||||
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo (int)$serverStatus['cpu_usage']; ?>%</div>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<div class="progress progress-sm mr-2">
|
|
||||||
<div class="progress-bar bg-info" role="progressbar"
|
|
||||||
style=<?php echo"\"width:". (int)$serverStatus['cpu_usage'] . "%\""; ?> aria-valuenow=<?php echo"\"". (int)$serverStatus['cpu_usage'] . "\""; ?> aria-valuemin="0"
|
|
||||||
aria-valuemax="100"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<i class="fas fa-clipboard-list fa-2x text-gray-300"></i>
|
<i class="fas fa-calendar fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-success shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
|
||||||
|
Earnings (Annual)</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800">$215,000</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-dollar-sign fa-2x text-gray-300"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -415,46 +422,17 @@ declare(strict_types=1);
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row no-gutters align-items-center">
|
<div class="row no-gutters align-items-center">
|
||||||
<div class="col mr-2">
|
<div class="col mr-2">
|
||||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">RAM
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Tasks
|
||||||
</div>
|
</div>
|
||||||
<div class="row no-gutters align-items-center">
|
<div class="row no-gutters align-items-center">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo (int)$serverStatus['memory_usage']; ?>%</div>
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">50%</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="progress progress-sm mr-2">
|
<div class="progress progress-sm mr-2">
|
||||||
<div class="progress-bar bg-info" role="progressbar"
|
<div class="progress-bar bg-info" role="progressbar"
|
||||||
style=<?php echo"\"width:". (int)$serverStatus['memory_usage'] . "%\""; ?> aria-valuenow=<?php echo"\"". (int)$serverStatus['memory_usage'] . "\""; ?> aria-valuemin="0"
|
style="width: 50%" aria-valuenow="50" aria-valuemin="0"
|
||||||
aria-valuemax="100"></div>
|
aria-valuemax="100"></div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-auto">
|
|
||||||
<i class="fas fa-clipboard-list fa-2x text-gray-300"></i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Earnings (Monthly) Card Example -->
|
|
||||||
<div class="col-xl-3 col-md-6 mb-4">
|
|
||||||
<div class="card border-left-info shadow h-100 py-2">
|
|
||||||
<div class="card-body">
|
|
||||||
<div class="row no-gutters align-items-center">
|
|
||||||
<div class="col mr-2">
|
|
||||||
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">HDD (C:)
|
|
||||||
</div>
|
|
||||||
<div class="row no-gutters align-items-center">
|
|
||||||
<div class="col-auto">
|
|
||||||
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo (int)$serverStatus['disk_usage_c']; ?>%</div>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<div class="progress progress-sm mr-2">
|
|
||||||
<div class="progress-bar bg-info" role="progressbar"
|
|
||||||
style=<?php echo"\"width:". (int)$serverStatus['disk_usage_c'] . "%\""; ?> aria-valuenow=<?php echo"\"". (int)$serverStatus['disk_usage_c'] . "\""; ?> aria-valuemin="0"
|
|
||||||
aria-valuemax="100"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -689,7 +667,7 @@ declare(strict_types=1);
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<img class="img-fluid px-3 px-sm-4 mt-3 mb-4" style="width: 25rem;"
|
<img class="img-fluid px-3 px-sm-4 mt-3 mb-4" style="width: 25rem;"
|
||||||
src="../images/undraw_posting_photo.svg" alt="...">
|
src="images/undraw_posting_photo.svg" alt="...">
|
||||||
</div>
|
</div>
|
||||||
<p>Add some quality, svg illustrations to your project courtesy of <a
|
<p>Add some quality, svg illustrations to your project courtesy of <a
|
||||||
target="_blank" rel="nofollow" href="https://undraw.co/">unDraw</a>, a
|
target="_blank" rel="nofollow" href="https://undraw.co/">unDraw</a>, a
|
||||||
@ -765,21 +743,21 @@ declare(strict_types=1);
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Bootstrap core JavaScript-->
|
<!-- Bootstrap core JavaScript-->
|
||||||
<script src="../vendor/jquery/jquery.min.js"></script>
|
<script src="vendor/jquery/jquery.min.js"></script>
|
||||||
<script src="../vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
<!-- Core plugin JavaScript-->
|
<!-- Core plugin JavaScript-->
|
||||||
<script src="../vendor/jquery-easing/jquery.easing.min.js"></script>
|
<script src="vendor/jquery-easing/jquery.easing.min.js"></script>
|
||||||
|
|
||||||
<!-- Custom scripts for all pages-->
|
<!-- Custom scripts for all pages-->
|
||||||
<script src="../js/sb-admin-2.min.js"></script>
|
<script src="js/sb-admin-2.min.js"></script>
|
||||||
|
|
||||||
<!-- Page level plugins -->
|
<!-- Page level plugins -->
|
||||||
<script src="../vendor/chart.js/Chart.min.js"></script>
|
<script src="vendor/chart.js/Chart.min.js"></script>
|
||||||
|
|
||||||
<!-- Page level custom scripts -->
|
<!-- Page level custom scripts -->
|
||||||
<script src="../js/demo/chart-area-demo.js"></script>
|
<script src="js/demo/chart-area-demo.js"></script>
|
||||||
<script src="../js/demo/chart-pie-demo.js"></script>
|
<script src="js/demo/chart-pie-demo.js"></script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
@ -46,7 +46,6 @@ if (file_exists($configPath) === false) {
|
|||||||
$config = require $configPath;
|
$config = require $configPath;
|
||||||
|
|
||||||
use App\Controllers\AuthController;
|
use App\Controllers\AuthController;
|
||||||
use App\Controllers\DashboardController;
|
|
||||||
|
|
||||||
// Hilfsfunktion für geschützte Routen
|
// Hilfsfunktion für geschützte Routen
|
||||||
function requireLogin(array $config): void
|
function requireLogin(array $config): void
|
||||||
@ -68,9 +67,6 @@ $route = $_GET['route'] ?? 'login';
|
|||||||
// Neue Instanz der Klasse AuthController erstellen (wird bei Bedarf über den Autoloader geladen).
|
// Neue Instanz der Klasse AuthController erstellen (wird bei Bedarf über den Autoloader geladen).
|
||||||
$authController = new AuthController($config);
|
$authController = new AuthController($config);
|
||||||
|
|
||||||
// Neue Instanz der Klasse DashboardController erstellen (wird bei Bedarf über den Autoloader geladen).
|
|
||||||
$dashboardController = new DashboardController($config);
|
|
||||||
|
|
||||||
// Anhand des Routing-Ziels (route) entscheiden, welcher Code ausgeführt wird.
|
// Anhand des Routing-Ziels (route) entscheiden, welcher Code ausgeführt wird.
|
||||||
switch ($route) {
|
switch ($route) {
|
||||||
case 'login':
|
case 'login':
|
||||||
@ -91,7 +87,10 @@ switch ($route) {
|
|||||||
|
|
||||||
case 'dashboard':
|
case 'dashboard':
|
||||||
requireLogin($config);
|
requireLogin($config);
|
||||||
$dashboardController->show();
|
// Später: DashboardController aufrufen
|
||||||
|
echo '<h1>Dashboard (Platzhalter)</h1>';
|
||||||
|
echo '<p>Hier kommt später dein SNMP/Server-Status hin.</p>';
|
||||||
|
echo '<p><a href="index.php?route=logout">Logout</a></p>';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|||||||
@ -65,10 +65,10 @@
|
|||||||
Register Account
|
Register Account
|
||||||
</a>
|
</a>
|
||||||
<hr>
|
<hr>
|
||||||
<a href="views/dashboard.php" class="btn btn-google btn-user btn-block">
|
<a href="dashboard.php" class="btn btn-google btn-user btn-block">
|
||||||
<i class="fab fa-google fa-fw"></i> Register with Google
|
<i class="fab fa-google fa-fw"></i> Register with Google
|
||||||
</a>
|
</a>
|
||||||
<a href="views/dashboard.php" class="btn btn-facebook btn-user btn-block">
|
<a href="dashboard.php" class="btn btn-facebook btn-user btn-block">
|
||||||
<i class="fab fa-facebook-f fa-fw"></i> Register with Facebook
|
<i class="fab fa-facebook-f fa-fw"></i> Register with Facebook
|
||||||
</a>
|
</a>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@ -39,7 +39,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
||||||
|
|
||||||
<!-- Sidebar - Brand -->
|
<!-- Sidebar - Brand -->
|
||||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="views/dashboard.php">
|
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="dashboard.php">
|
||||||
<div class="sidebar-brand-icon rotate-n-15">
|
<div class="sidebar-brand-icon rotate-n-15">
|
||||||
<i class="fas fa-laugh-wink"></i>
|
<i class="fas fa-laugh-wink"></i>
|
||||||
</div>
|
</div>
|
||||||
@ -51,7 +51,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
|
|
||||||
<!-- Nav Item - Dashboard -->
|
<!-- Nav Item - Dashboard -->
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="views/dashboard.php">
|
<a class="nav-link" href="dashboard.php">
|
||||||
<i class="fas fa-fw fa-tachometer-alt"></i>
|
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||||
<span>Dashboard</span></a>
|
<span>Dashboard</span></a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -36,7 +36,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
||||||
|
|
||||||
<!-- Sidebar - Brand -->
|
<!-- Sidebar - Brand -->
|
||||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="views/dashboard.php">
|
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="dashboard.php">
|
||||||
<div class="sidebar-brand-icon rotate-n-15">
|
<div class="sidebar-brand-icon rotate-n-15">
|
||||||
<i class="fas fa-laugh-wink"></i>
|
<i class="fas fa-laugh-wink"></i>
|
||||||
</div>
|
</div>
|
||||||
@ -48,7 +48,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
|
|
||||||
<!-- Nav Item - Dashboard -->
|
<!-- Nav Item - Dashboard -->
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="views/dashboard.php">
|
<a class="nav-link" href="dashboard.php">
|
||||||
<i class="fas fa-fw fa-tachometer-alt"></i>
|
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||||
<span>Dashboard</span></a>
|
<span>Dashboard</span></a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -36,7 +36,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
||||||
|
|
||||||
<!-- Sidebar - Brand -->
|
<!-- Sidebar - Brand -->
|
||||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="views/dashboard.php">
|
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="dashboard.php">
|
||||||
<div class="sidebar-brand-icon rotate-n-15">
|
<div class="sidebar-brand-icon rotate-n-15">
|
||||||
<i class="fas fa-laugh-wink"></i>
|
<i class="fas fa-laugh-wink"></i>
|
||||||
</div>
|
</div>
|
||||||
@ -48,7 +48,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
|
|
||||||
<!-- Nav Item - Dashboard -->
|
<!-- Nav Item - Dashboard -->
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="views/dashboard.php">
|
<a class="nav-link" href="dashboard.php">
|
||||||
<i class="fas fa-fw fa-tachometer-alt"></i>
|
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||||
<span>Dashboard</span></a>
|
<span>Dashboard</span></a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -36,7 +36,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
||||||
|
|
||||||
<!-- Sidebar - Brand -->
|
<!-- Sidebar - Brand -->
|
||||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="views/dashboard.php">
|
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="dashboard.php">
|
||||||
<div class="sidebar-brand-icon rotate-n-15">
|
<div class="sidebar-brand-icon rotate-n-15">
|
||||||
<i class="fas fa-laugh-wink"></i>
|
<i class="fas fa-laugh-wink"></i>
|
||||||
</div>
|
</div>
|
||||||
@ -48,7 +48,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
|
|
||||||
<!-- Nav Item - Dashboard -->
|
<!-- Nav Item - Dashboard -->
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="views/dashboard.php">
|
<a class="nav-link" href="dashboard.php">
|
||||||
<i class="fas fa-fw fa-tachometer-alt"></i>
|
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||||
<span>Dashboard</span></a>
|
<span>Dashboard</span></a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -36,7 +36,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
|
||||||
|
|
||||||
<!-- Sidebar - Brand -->
|
<!-- Sidebar - Brand -->
|
||||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="views/dashboard.php">
|
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="dashboard.php">
|
||||||
<div class="sidebar-brand-icon rotate-n-15">
|
<div class="sidebar-brand-icon rotate-n-15">
|
||||||
<i class="fas fa-laugh-wink"></i>
|
<i class="fas fa-laugh-wink"></i>
|
||||||
</div>
|
</div>
|
||||||
@ -48,7 +48,7 @@ require_once __DIR__ . '/../app/Helpers/AuthenticatedUserHelper.php';
|
|||||||
|
|
||||||
<!-- Nav Item - Dashboard -->
|
<!-- Nav Item - Dashboard -->
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="views/dashboard.php">
|
<a class="nav-link" href="dashboard.php">
|
||||||
<i class="fas fa-fw fa-tachometer-alt"></i>
|
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||||
<span>Dashboard</span></a>
|
<span>Dashboard</span></a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user