From a161cff00329da6f970f3a70967fe8346fe92bbc Mon Sep 17 00:00:00 2001 From: slawkens Date: Wed, 14 May 2025 10:00:27 +0200 Subject: [PATCH] Add note about highscores being updated x minutes + allow ttl 0 to disable --- system/pages/highscores.php | 15 +++++++++++---- system/settings.php | 4 ++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/system/pages/highscores.php b/system/pages/highscores.php index 91ba2e2b..6deb842c 100644 --- a/system/pages/highscores.php +++ b/system/pages/highscores.php @@ -18,8 +18,11 @@ defined('MYAAC') or die('Direct access not allowed!'); $title = 'Highscores'; $settingHighscoresCountryBox = setting('core.highscores_country_box'); -if(config('account_country') && $settingHighscoresCountryBox) +if(config('account_country') && $settingHighscoresCountryBox) { require SYSTEM . 'countries.conf.php'; +} + +$highscoresTTL = setting('core.highscores_cache_ttl'); $list = urldecode($_GET['list'] ?? 'experience'); $page = $_GET['page'] ?? 1; @@ -140,7 +143,7 @@ $needReCache = true; $cacheKey = 'highscores_' . $skill . '_' . $vocation . '_' . $page . '_' . $configHighscoresPerPage; $cache = Cache::getInstance(); -if ($cache->enabled()) { +if ($cache->enabled() && $highscoresTTL > 0) { $tmp = ''; if ($cache->fetch($cacheKey, $tmp)) { $highscores = unserialize($tmp); @@ -214,8 +217,8 @@ if (empty($highscores)) { })->toArray(); } -if ($cache->enabled() && $needReCache) { - $cache->set($cacheKey, serialize($highscores), setting('core.highscores_cache_ttl') * 60); +if ($highscoresTTL > 0 && $cache->enabled() && $needReCache) { + $cache->set($cacheKey, serialize($highscores), $highscoresTTL * 60); } $show_link_to_next_page = false; @@ -278,6 +281,10 @@ if(setting('core.highscores_frags')) { if(setting('core.highscores_balance')) $types['balance'] = 'Balance'; +if ($highscoresTTL > 0 && $cache->enabled()) { + echo '*Note: Highscores are updated every' . ($highscoresTTL > 1 ? ' ' . $highscoresTTL : '') . ' minute' . ($highscoresTTL > 1 ? 's' : '') . '.

'; +} + /** @var Twig\Environment $twig */ $twig->display('highscores.html.twig', [ 'highscores' => $highscores, diff --git a/system/settings.php b/system/settings.php index 729527c0..d0a705a0 100644 --- a/system/settings.php +++ b/system/settings.php @@ -1035,8 +1035,8 @@ Sent by MyAAC,
'highscores_cache_ttl' => [ 'name' => 'Highscores Cache TTL (in minutes)', 'type' => 'number', - 'min' => 1, - 'desc' => 'How often to update highscores from database in minutes (default 15 minutes). Too low may cause lags on website.', + 'min' => 0, + 'desc' => 'How often to update highscores from database in minutes. Too low may slow down your website.
0 to disable.', 'default' => 15, ], 'highscores_vocation_box' => [