33 lines
1.3 KiB
PHP
33 lines
1.3 KiB
PHP
<?php
|
|
session_start();
|
|
require_once __DIR__ . '/src/MVC/autoloader.php';
|
|
$service = $_GET['service'] ?? 'home';
|
|
try {
|
|
$router = new \MVC\Core\Router();
|
|
$router->add('home', \MVC\Controller\HomeController::class, 'index');
|
|
$router->add('toggle_theme', \MVC\Controller\HomeController::class, 'toggle_theme');
|
|
$router->add('test1', \MVC\Controller\TestController::class, 'service1');
|
|
$router->add('test2', \MVC\Controller\TestController::class, 'service2');
|
|
$router->add('aussentemp', \MVC\Controller\AussentempController::class, 'aussentemp', ['auth']);
|
|
|
|
$layout = new \MVC\Layout\Layout('main');
|
|
$layout->setBlock('title', 'MVC Starter');
|
|
$layout->setBlock('header_title', '🚀 MVC Dashboard');
|
|
$layout->setBlock('header_actions', '<button class="btn-toggle" onclick="toggleTheme()">🌓 Theme umschalten</button>');
|
|
|
|
// Sidebar Block
|
|
ob_start();
|
|
?>
|
|
<nav>
|
|
<a href="?service=home">🏠 Home</a>
|
|
<a href="?service=test1">🛠️ Test 1</a>
|
|
<a href="?service=test2">📊 Test 2</a>
|
|
</nav>
|
|
<?php
|
|
$layout->setBlock('sidebar', ob_get_clean());
|
|
|
|
$layout->setBlock('content', $router->dispatch($service));
|
|
echo $layout->render();
|
|
} catch (\Exception $e) {
|
|
http_response_code(404); echo "<h1>404</h1><p>" . $e->getMessage() . "</p>";
|
|
}
|