mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-12-28 20:17:42 +01:00
Fixed nickname display on Actions table, PluginData (Bans) now affect ban info
This commit is contained in:
parent
382080aae1
commit
7e79ec02d2
@ -236,7 +236,7 @@ public class HealthNotes {
|
||||
} else {
|
||||
healthNotes.add("<p>" + Html.RED_WARN.parse() + " Total Server downtime (No Data) was "
|
||||
+ FormatUtils.formatTimeAmount(serverDownTime) + "</p>");
|
||||
serverHealth *= serverDownTime * 1.0 / TimeAmount.MONTH.ms();
|
||||
serverHealth *= (TimeAmount.MONTH.ms() - serverDownTime) * 1.0 / TimeAmount.MONTH.ms();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -10,6 +10,7 @@ import main.java.com.djrapitops.plan.data.AnalysisData;
|
||||
import main.java.com.djrapitops.plan.data.PlayerProfile;
|
||||
import main.java.com.djrapitops.plan.data.ServerProfile;
|
||||
import main.java.com.djrapitops.plan.data.element.AnalysisContainer;
|
||||
import main.java.com.djrapitops.plan.data.plugin.BanData;
|
||||
import main.java.com.djrapitops.plan.data.plugin.PluginData;
|
||||
import main.java.com.djrapitops.plan.database.Database;
|
||||
import main.java.com.djrapitops.plan.settings.Settings;
|
||||
@ -23,6 +24,7 @@ import main.java.com.djrapitops.plan.systems.webserver.response.ErrorResponse;
|
||||
import main.java.com.djrapitops.plan.systems.webserver.response.InternalErrorResponse;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author Rsl1122
|
||||
@ -115,13 +117,11 @@ public class Analysis {
|
||||
serverProfile = profile;
|
||||
|
||||
for (PlayerProfile player : profile.getPlayers()) {
|
||||
|
||||
dataCache.updateNames(player.getUuid(), player.getName(), null);
|
||||
}
|
||||
|
||||
long fetchPhaseLength = Benchmark.stop("Analysis", "Fetch Phase");
|
||||
|
||||
// TODO BanData (PluginData) effects
|
||||
setBannedByPlugins(profile);
|
||||
|
||||
Benchmark.start("Analysis Phase");
|
||||
Log.logDebug("Analysis", "Analysis Phase");
|
||||
@ -150,6 +150,23 @@ public class Analysis {
|
||||
return true;
|
||||
}
|
||||
|
||||
private void setBannedByPlugins(ServerProfile profile) {
|
||||
UUID serverUUID = Plan.getServerUUID();
|
||||
List<BanData> banPlugins = plugin.getHookHandler().getAdditionalDataSources().stream()
|
||||
.filter(p -> p instanceof BanData)
|
||||
.map(p -> (BanData) p)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
Set<UUID> banned = new HashSet<>();
|
||||
for (BanData banPlugin : banPlugins) {
|
||||
Set<UUID> uuids = profile.getUuids();
|
||||
banned.addAll(banPlugin.filterBanned(uuids));
|
||||
}
|
||||
|
||||
profile.getPlayers().stream().filter(player -> banned.contains(player.getUuid()))
|
||||
.forEach(player -> player.bannedOnServer(serverUUID));
|
||||
}
|
||||
|
||||
private void log(String msg) {
|
||||
if (Settings.ANALYSIS_LOG.isTrue()) {
|
||||
Log.info(msg);
|
||||
|
@ -92,7 +92,7 @@ public class HtmlUtils {
|
||||
string = Html.SPAN.parse(string);
|
||||
}
|
||||
|
||||
return string.replace("§r", "");
|
||||
return string.replace("§r", "").replace("§l", "").replace("§m", "").replace("§n", "").replace("§o", "").replace("§k", "");
|
||||
}
|
||||
|
||||
public static String separateWithQuotes(String... strings) {
|
||||
|
@ -71,12 +71,14 @@ public class SessionTabStructureCreator {
|
||||
|
||||
String name = Plan.getInstance().getDataCache().getName(uuid);
|
||||
String link = Plan.getPlanAPI().getPlayerInspectPageLink(name);
|
||||
String dotSeparated = appendName ?
|
||||
HtmlStructure.separateWithDots(name, sessionStart) :
|
||||
HtmlStructure.separateWithDots(serverName, sessionStart);
|
||||
|
||||
String dotSeparated2 = appendWorldPerc
|
||||
? HtmlStructure.separateWithDots(SessionsTableCreator.getLongestWorldPlayed(session), sessionLength)
|
||||
: sessionEnd;
|
||||
? HtmlStructure.separateWithDots(sessionStart, SessionsTableCreator.getLongestWorldPlayed(session))
|
||||
: sessionStart;
|
||||
String dotSeparated = appendName ?
|
||||
HtmlStructure.separateWithDots(name, dotSeparated2) :
|
||||
HtmlStructure.separateWithDots(serverName, dotSeparated2);
|
||||
|
||||
|
||||
String htmlID = "" + session.getSessionStart() + sessionID + i;
|
||||
|
||||
@ -96,7 +98,7 @@ public class SessionTabStructureCreator {
|
||||
.append("<a class=\"collapsed\" role=\"button\" data-toggle=\"collapse\" data-parent=\"#session_accordion\" ")
|
||||
.append("href=\"#session_").append(htmlID).append("\" aria-expanded=\"false\" ")
|
||||
.append("aria-controls=\"session_").append(htmlID).append("\">")
|
||||
.append(dotSeparated).append("<span class=\"pull-right\">").append(dotSeparated2).append("</span>") // Title (header)
|
||||
.append(dotSeparated).append("<span class=\"pull-right\">").append(sessionEnd).append("</span>") // Title (header)
|
||||
.append("</a></h4>") // Closes collapsed, panel title
|
||||
.append("</div>"); // Closes panel heading
|
||||
|
||||
|
@ -7,6 +7,7 @@ package main.java.com.djrapitops.plan.utilities.html.tables;
|
||||
import main.java.com.djrapitops.plan.data.container.Action;
|
||||
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
||||
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||
import main.java.com.djrapitops.plan.utilities.html.HtmlUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -38,7 +39,7 @@ public class ActionsTableCreator {
|
||||
html.append(Html.TABLELINE_3_CUSTOMKEY_1.parse(
|
||||
String.valueOf(date), FormatUtils.formatTimeStampYear(date),
|
||||
action.getDoneAction().toString(),
|
||||
action.getAdditionalInfo()
|
||||
HtmlUtils.swapColorsToSpan(action.getAdditionalInfo())
|
||||
));
|
||||
|
||||
i++;
|
||||
|
@ -1,10 +1,11 @@
|
||||
/*
|
||||
/*
|
||||
* Licence is provided in the jar as license.yml also here:
|
||||
* https://github.com/Rsl1122/Plan-PlayerAnalytics/blob/master/Plan/src/main/resources/license.yml
|
||||
*/
|
||||
package main.java.com.djrapitops.plan.utilities.html.tables;
|
||||
|
||||
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||
import main.java.com.djrapitops.plan.utilities.html.HtmlUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -30,7 +31,7 @@ public class NicknameTableCreator {
|
||||
for (Map.Entry<UUID, List<String>> entry : nicknames.entrySet()) {
|
||||
String serverName = serverNames.getOrDefault(entry.getKey(), "Unknown");
|
||||
for (String nick : entry.getValue()) {
|
||||
html.append(Html.TABLELINE_2.parse(nick, serverName));
|
||||
html.append(Html.TABLELINE_2.parse(HtmlUtils.swapColorsToSpan(HtmlUtils.removeXSS(nick)), serverName));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -433,7 +433,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div id="worldPie" style="height: 400px;" class="dashboard-donut-chart"></div>
|
||||
<div id="worldPie" style="height: 340px;" class="dashboard-donut-chart"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- #END# World Pie -->
|
||||
|
@ -653,7 +653,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<div id="worldPie" style="height: 400px;" class="dashboard-donut-chart"></div>
|
||||
<div id="worldPie" style="height: 340px;" class="dashboard-donut-chart"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user