From c6507016cd145497089f98ff900e4d6f5240832a Mon Sep 17 00:00:00 2001 From: Risto Lahtela <24460436+AuroraLS3@users.noreply.github.com> Date: Fri, 23 Apr 2021 15:11:03 +0300 Subject: [PATCH] Fixed players page links with directory reverse-proxies --- .../delivery/rendering/json/JSONFactory.java | 3 ++- .../rendering/json/PlayersTableJSONCreator.java | 17 ++++++++++++++++- .../main/resources/assets/plan/web/players.html | 4 ++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/JSONFactory.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/JSONFactory.java index 918db11d9..95dcdfeb9 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/JSONFactory.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/JSONFactory.java @@ -110,7 +110,8 @@ public class JSONFactory { database.query(new NetworkTablePlayersQuery(System.currentTimeMillis(), playtimeThreshold, xMostRecentPlayers)), pluginData, openPlayerLinksInNewTab, - formatters, locale + formatters, locale, + true // players page ).toJSONMap(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayersTableJSONCreator.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayersTableJSONCreator.java index 590edd914..6acf0753c 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayersTableJSONCreator.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/PlayersTableJSONCreator.java @@ -47,6 +47,7 @@ public class PlayersTableJSONCreator { private final List extensionDescriptions; private final Map extensionData; private final Locale locale; + private final boolean playersPage; private final boolean openPlayerPageInNewTab; @@ -61,11 +62,24 @@ public class PlayersTableJSONCreator { boolean openPlayerPageInNewTab, Formatters formatters, Locale locale + ) { + this(players, extensionData, openPlayerPageInNewTab, formatters, locale, false); + } + + public PlayersTableJSONCreator( + List players, + Map extensionData, + // Settings + boolean openPlayerPageInNewTab, + Formatters formatters, + Locale locale, + boolean playersPage ) { // Data this.players = players; this.extensionData = extensionData; this.locale = locale; + this.playersPage = playersPage; extensionDescriptions = new ArrayList<>(); addExtensionDescriptions(extensionData); @@ -122,7 +136,8 @@ public class PlayersTableJSONCreator { private void addPlayerData(Map dataJson, TablePlayer player) { String name = player.getName().orElse(player.getPlayerUUID().toString()); - String url = "../player/" + Html.encodeToURL(player.getPlayerUUID().toString()); + String url = (playersPage ? "./player/" : "../player/") + + Html.encodeToURL(player.getPlayerUUID().toString()); int loginTimes = player.getSessionCount().orElse(0); long activePlaytime = player.getActivePlaytime().orElse(-1L); diff --git a/Plan/common/src/main/resources/assets/plan/web/players.html b/Plan/common/src/main/resources/assets/plan/web/players.html index eff2bbeff..9d5a37984 100644 --- a/Plan/common/src/main/resources/assets/plan/web/players.html +++ b/Plan/common/src/main/resources/assets/plan/web/players.html @@ -38,7 +38,7 @@ @@ -65,7 +65,7 @@ - + Logout