Fix routes_final cache

This commit is contained in:
slawkens
2025-10-02 22:31:02 +02:00
parent d8b73f55a3
commit 0cb9d3a208

View File

@@ -88,9 +88,9 @@ if($logged && $account_logged && $account_logged->isLoaded()) {
/**
* Routes loading
*/
$dispatcher = FastRoute\cachedDispatcher(function (FastRoute\RouteCollector $r) {
global $cache;
$routesFinal = [];
$dispatcher = FastRoute\cachedDispatcher(function (FastRoute\RouteCollector $r) {
global $cache, $routesFinal;
foreach(getDatabasePages() as $page) {
$routesFinal[] = ['*', $page, '__database__/' . $page, 100];
@@ -201,7 +201,9 @@ $dispatcher = FastRoute\cachedDispatcher(function (FastRoute\RouteCollector $r)
}
}
if ($cache->enabled()) {
$cache->set('routes_final', serialize($routesFinal), 10 * 365 * 24 * 60 * 60); // 10 years / infinite
}
},
[
'cacheFile' => CACHE . 'route.cache',
@@ -227,9 +229,8 @@ if(!empty($page) && preg_match('/^[A-z0-9\/\-]+$/', $page)) {
$foundRoute = false;
$routesFinal = [];
$tmp = null;
if ($cache->fetch('routes_final', $tmp)) {
if ($cache->enabled() && $cache->fetch('routes_final', $tmp)) {
$routesFinal = unserialize($tmp);
}