Add note about highscores being updated x minutes + allow ttl 0 to disable

This commit is contained in:
slawkens 2025-05-14 10:00:27 +02:00
parent 3befde2a1e
commit a161cff003
2 changed files with 13 additions and 6 deletions

View File

@ -18,8 +18,11 @@ defined('MYAAC') or die('Direct access not allowed!');
$title = 'Highscores'; $title = 'Highscores';
$settingHighscoresCountryBox = setting('core.highscores_country_box'); $settingHighscoresCountryBox = setting('core.highscores_country_box');
if(config('account_country') && $settingHighscoresCountryBox) if(config('account_country') && $settingHighscoresCountryBox) {
require SYSTEM . 'countries.conf.php'; require SYSTEM . 'countries.conf.php';
}
$highscoresTTL = setting('core.highscores_cache_ttl');
$list = urldecode($_GET['list'] ?? 'experience'); $list = urldecode($_GET['list'] ?? 'experience');
$page = $_GET['page'] ?? 1; $page = $_GET['page'] ?? 1;
@ -140,7 +143,7 @@ $needReCache = true;
$cacheKey = 'highscores_' . $skill . '_' . $vocation . '_' . $page . '_' . $configHighscoresPerPage; $cacheKey = 'highscores_' . $skill . '_' . $vocation . '_' . $page . '_' . $configHighscoresPerPage;
$cache = Cache::getInstance(); $cache = Cache::getInstance();
if ($cache->enabled()) { if ($cache->enabled() && $highscoresTTL > 0) {
$tmp = ''; $tmp = '';
if ($cache->fetch($cacheKey, $tmp)) { if ($cache->fetch($cacheKey, $tmp)) {
$highscores = unserialize($tmp); $highscores = unserialize($tmp);
@ -214,8 +217,8 @@ if (empty($highscores)) {
})->toArray(); })->toArray();
} }
if ($cache->enabled() && $needReCache) { if ($highscoresTTL > 0 && $cache->enabled() && $needReCache) {
$cache->set($cacheKey, serialize($highscores), setting('core.highscores_cache_ttl') * 60); $cache->set($cacheKey, serialize($highscores), $highscoresTTL * 60);
} }
$show_link_to_next_page = false; $show_link_to_next_page = false;
@ -278,6 +281,10 @@ if(setting('core.highscores_frags')) {
if(setting('core.highscores_balance')) if(setting('core.highscores_balance'))
$types['balance'] = 'Balance'; $types['balance'] = 'Balance';
if ($highscoresTTL > 0 && $cache->enabled()) {
echo '<small>*Note: Highscores are updated every' . ($highscoresTTL > 1 ? ' ' . $highscoresTTL : '') . ' minute' . ($highscoresTTL > 1 ? 's' : '') . '.</small><br/><br/>';
}
/** @var Twig\Environment $twig */ /** @var Twig\Environment $twig */
$twig->display('highscores.html.twig', [ $twig->display('highscores.html.twig', [
'highscores' => $highscores, 'highscores' => $highscores,

View File

@ -1035,8 +1035,8 @@ Sent by MyAAC,<br/>
'highscores_cache_ttl' => [ 'highscores_cache_ttl' => [
'name' => 'Highscores Cache TTL (in minutes)', 'name' => 'Highscores Cache TTL (in minutes)',
'type' => 'number', 'type' => 'number',
'min' => 1, 'min' => 0,
'desc' => 'How often to update highscores from database in minutes (default 15 minutes). Too low may cause lags on website.', 'desc' => 'How often to update highscores from database in minutes. Too low may slow down your website.<br/>0 to disable.',
'default' => 15, 'default' => 15,
], ],
'highscores_vocation_box' => [ 'highscores_vocation_box' => [