fix and update

This commit is contained in:
Tower committed 2026-01-26 22:59:08 +01:00
1 parent 86cbd003f0
commit b16f696e0a
2 files changed
+99 -34

No files matched your search

+77 -34
View File
@@ -1,4 +1,20 @@
<?php
// Vor allen includes, vor jeglicher Ausgabe
session_set_cookie_params([
'lifetime' => 0, // bis Browser geschlossen
'path' => '/', // Gültig für ganze Domain
'domain' => '', // aktuelle Domain
'secure' => false, // true nur für HTTPS
'httponly' => true,
'samesite' => 'Lax'
]);
session_start();
if (empty($_SESSION['user_logged_in'])) {
header('Location: login.php');
exit;
}
include 'config.php';
include 'controller/CookieController.php';
include 'controller/DatabaseConnect.php';
@@ -8,18 +24,37 @@ include 'controller/LogController.php';
include 'controller/UserController.php';
// include 'controller/RoutesController.php';
session_start();
$selectedService = null;
foreach ($services as $key => $service) {
if ($service['active']) {
$selectedService = $key;
break;
}
}
if (isset($_GET['service']) && isset($services[$_GET['service']]) && $services[$_GET['service']]['active']) {
// 1. Service aus URL, wenn erlaubt & aktiv
if (
isset($_GET['service']) &&
isset($services[$_GET['service']]) &&
$services[$_GET['service']]['active']
) {
$selectedService = $_GET['service'];
}
// 2. Default-Service
if (!$selectedService &&
isset($defaultService) &&
isset($services[$defaultService]) &&
$services[$defaultService]['active']
) {
$selectedService = $defaultService;
}
// 3. Fallback: erster aktiver Service
if (!$selectedService) {
foreach ($services as $key => $service) {
if ($service['active']) {
$selectedService = $key;
break;
}
}
}
?>
<!DOCTYPE html>
<html lang="de">
@@ -35,17 +70,43 @@ if (isset($_GET['service']) && isset($services[$_GET['service']]) && $services[$
<header>
Backend
<button id="darkModeToggle">🌙 Dark Mode</button>
<script src="main.js"></script>
</header>
<div class="main">
<div class="sidebar">
<?php foreach ($services as $key => $service): ?>
<?php if ($service['active']): ?>
<a href="?service=<?php echo $key; ?>">
<button class="<?php echo $selectedService === $key ? 'active' : ''; ?>">
<?php echo $service['name']; ?>
</button>
</a>
<?php endif; ?>
<?php foreach ($serviceGroups as $groupKey => $group): ?>
<?php
$isOpen = false;
if (!empty($group['defaultOpen'])) {
$isOpen = true;
}
if (in_array($selectedService, $group['services'], true)) {
$isOpen = true;
}
?>
<div class="service-group <?= $isOpen ? 'open' : '' ?>" data-group="<?= $groupKey ?>">
<div class="group-title">
<?= htmlspecialchars($group['label']) ?>
<span class="arrow">▸</span>
</div>
<div class="group-services">
<?php foreach ($group['services'] as $serviceKey): ?>
<?php
if (!isset($services[$serviceKey])) continue;
if (!$services[$serviceKey]['active']) continue;
?>
<a href="?service=<?= $serviceKey ?>">
<button class="<?= $selectedService === $serviceKey ? 'active' : '' ?>">
<?= htmlspecialchars($services[$serviceKey]['name']) ?>
</button>
</a>
<?php endforeach; ?>
</div>
</div>
<?php endforeach; ?>
</div>
<div class="content">
@@ -58,24 +119,6 @@ if (isset($_GET['service']) && isset($services[$_GET['service']]) && $services[$
?>
</div>
</div>
<script>
const toggle = document.getElementById('darkModeToggle');
const body = document.body;
if (localStorage.getItem('darkMode') === 'enabled') {
body.classList.add('dark-mode');
}
toggle.addEventListener('click', () => {
body.classList.toggle('dark-mode');
if (body.classList.contains('dark-mode')) {
localStorage.setItem('darkMode', 'enabled');
} else {
localStorage.setItem('darkMode', 'disabled');
}
});
</script>
</body>
</html>
+22
View File
@@ -0,0 +1,22 @@
const toggle = document.getElementById('darkModeToggle');
const body = document.body;
if (localStorage.getItem('darkMode') === 'enabled') {
body.classList.add('dark-mode');
}
toggle.addEventListener('click', () => {
body.classList.toggle('dark-mode');
if (body.classList.contains('dark-mode')) {
localStorage.setItem('darkMode', 'enabled');
} else {
localStorage.setItem('darkMode', 'disabled');
}
});
document.querySelectorAll('.group-title').forEach(title => {
title.addEventListener('click', () => {
const group = title.parentElement;
group.classList.toggle('open');
});
});