From a04fbde607cabcf18911e57a67a358fb53ff7843 Mon Sep 17 00:00:00 2001
From: slawkens <slawkens@gmail.com>
Date: Thu, 9 Nov 2023 20:32:20 +0100
Subject: [PATCH] Fix highscores error

---
 system/pages/highscores.php | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/system/pages/highscores.php b/system/pages/highscores.php
index e3b64e3c..e42e10dd 100644
--- a/system/pages/highscores.php
+++ b/system/pages/highscores.php
@@ -135,6 +135,7 @@ if($settingHighscoresOutfit) {
 $configHighscoresPerPage = setting('core.highscores_per_page');
 $limit = $configHighscoresPerPage + 1;
 
+$highscores = [];
 $needReCache = true;
 $cacheKey = 'highscores_' . $skill . '_' . $vocation . '_' . $page . '_' . $configHighscoresPerPage;
 
@@ -158,7 +159,7 @@ $query->join('accounts', 'accounts.id', '=', 'players.account_id')
 	->selectRaw('accounts.country, players.id, players.name, players.account_id, players.level, players.vocation' . $outfit . $promotion)
 	->orderByDesc('value');
 
-if (!isset($highscores) || empty($highscores)) {
+if (empty($highscores)) {
 	if ($skill >= POT::SKILL_FIRST && $skill <= POT::SKILL_LAST) { // skills
 		if ($db->hasColumn('players', 'skill_fist')) {// tfs 1.0
 			$skill_ids = array(
@@ -201,17 +202,17 @@ if (!isset($highscores) || empty($highscores)) {
 			$list = 'experience';
 		}
 	}
+
+	$highscores = $query->get()->map(function($row) {
+		$tmp = $row->toArray();
+		$tmp['online'] = $row->online_status;
+		$tmp['vocation'] = $row->vocation_name;
+		unset($tmp['online_table']);
+
+		return $tmp;
+	})->toArray();
 }
 
-$highscores = $query->get()->map(function($row) {
-	$tmp = $row->toArray();
-	$tmp['online'] = $row->online_status;
-	$tmp['vocation'] = $row->vocation_name;
-	unset($tmp['online_table']);
-
-	return $tmp;
-})->toArray();
-
 if ($cache->enabled() && $needReCache) {
 	$cache->set($cacheKey, serialize($highscores), setting('core.highscores_cache_ttl') * 60);
 }