diff --git a/system/functions.php b/system/functions.php index e7fbe1b5..e21893e9 100644 --- a/system/functions.php +++ b/system/functions.php @@ -984,28 +984,23 @@ function unsetSession($key) { } function getTopPlayers($limit = 5) { - global $config, $db; + global $db; $cache = Cache::getInstance(); - $fetch_from_db = true; - if($cache->enabled()) - { + if($cache->enabled()) { $tmp = ''; - if($cache->fetch('top_' . $limit . '_level', $tmp)) - { + if($cache->fetch('top_' . $limit . '_level', $tmp)) { $players = unserialize($tmp); - $fetch_from_db = false; } } - if($fetch_from_db) - { + if (!isset($players)) { $deleted = 'deleted'; if($db->hasColumn('players', 'deletion')) $deleted = 'deletion'; $is_tfs10 = $db->hasTable('players_online'); - $players = $db->query('SELECT `id`, `name`, `level`, `experience`' . ($is_tfs10 ? '' : ', `online`') . ' FROM `players` WHERE `group_id` < ' . $config['highscores_groups_hidden'] . ' AND `id` NOT IN (' . implode(', ', $config['highscores_ids_hidden']) . ') AND `' . $deleted . '` = 0 AND `account_id` != 1 ORDER BY `experience` DESC LIMIT ' . (int)$limit)->fetchAll(); + $players = $db->query('SELECT `id`, `name`, `level`, `experience`' . ($is_tfs10 ? '' : ', `online`') . ' FROM `players` WHERE `group_id` < ' . config('highscores_groups_hidden') . ' AND `id` NOT IN (' . implode(', ', config('highscores_ids_hidden')) . ') AND `' . $deleted . '` = 0 AND `account_id` != 1 ORDER BY `experience` DESC LIMIT ' . (int)$limit)->fetchAll(); if($is_tfs10) { foreach($players as &$player) { @@ -1021,8 +1016,9 @@ function getTopPlayers($limit = 5) { } unset($player); - if($cache->enabled()) + if($cache->enabled()) { $cache->set('top_' . $limit . '_level', serialize($players), 120); + } } return $players;