From d8b73f55a310704ee884f1338dead9ff2c48a2f2 Mon Sep 17 00:00:00 2001 From: slawkens Date: Thu, 2 Oct 2025 22:16:29 +0200 Subject: [PATCH] Fix routes_final for prod env --- system/router.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/system/router.php b/system/router.php index 0f1845f2..ec79f9b3 100644 --- a/system/router.php +++ b/system/router.php @@ -88,9 +88,9 @@ if($logged && $account_logged && $account_logged->isLoaded()) { /** * Routes loading */ -$routesFinal = []; $dispatcher = FastRoute\cachedDispatcher(function (FastRoute\RouteCollector $r) { - global $routesFinal; + global $cache; + $routesFinal = []; foreach(getDatabasePages() as $page) { $routesFinal[] = ['*', $page, '__database__/' . $page, 100]; @@ -200,6 +200,8 @@ $dispatcher = FastRoute\cachedDispatcher(function (FastRoute\RouteCollector $r) log_append('router.log', $warning); } } + + $cache->set('routes_final', serialize($routesFinal), 10 * 365 * 24 * 60 * 60); // 10 years / infinite }, [ 'cacheFile' => CACHE . 'route.cache', @@ -224,6 +226,13 @@ if(!empty($page) && preg_match('/^[A-z0-9\/\-]+$/', $page)) { } $foundRoute = false; + + $routesFinal = []; + $tmp = null; + if ($cache->fetch('routes_final', $tmp)) { + $routesFinal = unserialize($tmp); + } + foreach ($routesFinal as $route) { if ($page === $route[1]) { $file = $route[2];