feat: Implement API for managing network connections, device types, and uploads

This commit is contained in:
Troy Grunt
2026-02-06 17:56:57 +01:00
parent 5066262fca
commit 3ec3ad7fa5
11 changed files with 1460 additions and 11 deletions

View File

@@ -1,2 +1,83 @@
<?php
// Single-User-Authentifizierung (Login, Session-Handling)
/**
* app/lib/auth.php
*
* Single-User-Authentifizierung
* - Login / Logout
* - Session-Check
* - Optional: Passwortschutz für Admin-Tool
*
* KEIN Mehrbenutzer-System
*/
/* =========================
* Login prüfen
* ========================= */
/**
* Prüft, ob der Benutzer eingeloggt ist
*
* @return bool
*/
function isAuthenticated(): bool
{
// TODO: Session-Variable definieren, z.B. $_SESSION['auth'] === true
return isset($_SESSION['auth']) && $_SESSION['auth'] === true;
}
/* =========================
* Login durchführen
* ========================= */
/**
* Führt einen Login durch
*
* @param string $password
* @return bool
*/
function login(string $password): bool
{
// TODO: Passwort aus config.php vergleichen
// TODO: Passwort-Hash verwenden (password_hash / password_verify)
/*
if (password_verify($password, ADMIN_PASSWORD_HASH)) {
$_SESSION['auth'] = true;
return true;
}
*/
return false;
}
/* =========================
* Logout
* ========================= */
/**
* Loggt den Benutzer aus
*/
function logout(): void
{
// TODO: Session-Variablen löschen
// unset($_SESSION['auth']);
// TODO: Optional komplette Session zerstören
// session_destroy();
}
/* =========================
* Zugriff erzwingen
* ========================= */
/**
* Erzwingt Login, sonst Redirect
*/
function requireAuth(): void
{
if (!isAuthenticated()) {
// TODO: Redirect auf Login-Seite
// header('Location: /login.php');
exit;
}
}

View File

@@ -1,2 +1,169 @@
<?php
// Hilfsfunktionen (Escaping, Redirects, Formatierungen)
/**
* app/lib/helpers.php
*
* Zentrale Hilfsfunktionen
* - Output-Escaping
* - Redirects
* - Flash-Messages
* - Request-Helper
* - Allgemeine Utilities
*
* KEINE Business-Logik
*/
/* =========================
* Output / Sicherheit
* ========================= */
/**
* HTML-Escaping
*
* @param string|null $value
* @return string
*/
function e(?string $value): string
{
// TODO: htmlspecialchars mit ENT_QUOTES + UTF-8
return '';
}
/* =========================
* Redirects
* ========================= */
/**
* HTTP Redirect
*
* @param string $url
* @param int $code
*/
function redirect(string $url, int $code = 302): void
{
// TODO: header("Location: ...")
exit;
}
/* =========================
* Flash Messages
* ========================= */
/**
* Flash-Message setzen
*
* @param string $type (success, error, info)
* @param string $message
*/
function flash(string $type, string $message): void
{
// TODO: In $_SESSION speichern
}
/**
* Flash-Messages abrufen & löschen
*
* @return array
*/
function getFlashes(): array
{
// TODO: Aus Session lesen und löschen
return [];
}
/* =========================
* Request Helper
* ========================= */
/**
* POST-Wert holen
*
* @param string $key
* @param mixed $default
* @return mixed
*/
function post(string $key, $default = null)
{
// TODO: $_POST prüfen
return $default;
}
/**
* GET-Wert holen
*
* @param string $key
* @param mixed $default
* @return mixed
*/
function get(string $key, $default = null)
{
// TODO: $_GET prüfen
return $default;
}
/**
* Prüfen, ob Request POST ist
*
* @return bool
*/
function isPost(): bool
{
// TODO: $_SERVER['REQUEST_METHOD']
return false;
}
/* =========================
* Validierung
* ========================= */
/**
* Prüft auf leeren Wert
*
* @param mixed $value
* @return bool
*/
function isEmpty($value): bool
{
// TODO: trim + empty
return false;
}
/* =========================
* Pfade / URLs
* ========================= */
/**
* Baut eine URL zur App
*
* @param string $path
* @return string
*/
function url(string $path = ''): string
{
// TODO: Base-URL aus config.php
return $path;
}
/* =========================
* Debug / Entwicklung
* ========================= */
/**
* Dump & Die (nur Dev)
*
* @param mixed $value
*/
function dd($value): void
{
// TODO: var_dump / print_r + exit
exit;
}
/* =========================
* Sonstiges
* ========================= */
// TODO: Weitere Helfer nach Bedarf
// - Datum formatieren
// - Bytes → MB
// - UUID erzeugen
// - SVG-Koordinaten normalisieren