Optimizations

This commit is contained in:
tobi132 2019-07-23 07:45:35 +02:00
parent 813de7eb3c
commit d8a70a3da6

View File

@ -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;