i dont know

This commit is contained in:
Lars Behrends
2025-10-20 23:40:55 +02:00
parent 552bb72370
commit 73d8441787
33 changed files with 3079 additions and 69 deletions

View File

@@ -55,6 +55,11 @@ $container->set('view', function () use ($container) {
$_SERVER['HTTP_HOST'] ?? 'localhost'
);
}));
// Add media visibility function
$twig->getEnvironment()->addFunction(new TwigFunction('is_media_type_visible', function ($mediaType) {
return is_media_type_visible($mediaType);
}));
// Placeholder path_for function - will be updated after routes are registered
$twig->getEnvironment()->addFunction(new TwigFunction('path_for', function ($name, $data = [], $queryParams = []) {
@@ -84,6 +89,12 @@ $container->set('view', function () use ($container) {
case 'admin.index':
$basePath = '/admin';
break;
case 'admin.settings':
$basePath = '/admin/settings';
break;
case 'admin.sources':
$basePath = '/admin/sources';
break;
case 'admin.sync':
$basePath = '/admin/sync/' . ($data['id'] ?? '');
break;
@@ -144,6 +155,9 @@ $container->set('view', function () use ($container) {
$authService = $container->get(\App\Services\AuthService::class);
return $authService->generateCSRFToken();
}));
$twig->getEnvironment()->addFilter(new TwigFilter('format_duration', function ($minutes) {
if (!$minutes || $minutes == 0) {
return '0m';
@@ -199,7 +213,7 @@ $container->set(\App\Controllers\GameController::class, function ($c) {
});
$container->set(\App\Controllers\DashboardController::class, function ($c) {
return new \App\Controllers\DashboardController($c->get('view'));
return new \App\Controllers\DashboardController($c->get(PDO::class), $c->get('view'));
});
$container->set(\App\Controllers\MovieController::class, function ($c) {
@@ -226,14 +240,25 @@ $container->set(\App\Controllers\SearchController::class, function ($c) {
return new \App\Controllers\SearchController($c->get(PDO::class), $c->get('view'));
});
$container->set(\App\Controllers\ImageController::class, function ($c) {
return new \App\Controllers\ImageController($c->get('view'));
});
$container->set(\App\Controllers\SettingsController::class, function ($c) {
return new \App\Controllers\SettingsController($c->get(PDO::class), $c->get('view'));
});
// Register middleware
$container->set(\App\Http\Middleware\AuthMiddleware::class, function ($c) {
return new \App\Http\Middleware\AuthMiddleware($c->get(\App\Services\AuthService::class));
});
$container->set(\App\Http\Middleware\AdminMiddleware::class, function ($c) {
return new \App\Http\Middleware\AdminMiddleware($c->get(\App\Services\AuthService::class));
$container->set(\App\Controllers\MediaSourceController::class, function ($c) {
return new \App\Controllers\MediaSourceController($c->get(PDO::class), $c->get('view'));
});
$container->set(\App\Http\Middleware\MediaVisibilityMiddleware::class, function ($c) {
return new \App\Http\Middleware\MediaVisibilityMiddleware();
});
// Create App with DI Container