Search in sources :

Example 6 with PlaceholderReplacer

use of com.djrapitops.plan.delivery.formatting.PlaceholderReplacer in project Plan by plan-player-analytics.

the class NetworkPage method toHtml.

@Override
public String toHtml() {
    PlaceholderReplacer placeholders = new PlaceholderReplacer();
    ServerUUID serverUUID = serverInfo.getServerUUID();
    placeholders.put("networkDisplayName", config.get(ProxySettings.NETWORK_NAME));
    placeholders.put("serverName", config.get(ProxySettings.NETWORK_NAME));
    placeholders.put("serverUUID", serverUUID.toString());
    placeholders.put("refreshBarrier", config.get(WebserverSettings.REDUCED_REFRESH_BARRIER));
    placeholders.put("gmPieColors", theme.getValue(ThemeVal.GRAPH_GM_PIE));
    placeholders.put("playersGraphColor", theme.getValue(ThemeVal.GRAPH_PLAYERS_ONLINE));
    placeholders.put("worldMapColLow", theme.getValue(ThemeVal.WORLD_MAP_LOW));
    placeholders.put("worldMapColHigh", theme.getValue(ThemeVal.WORLD_MAP_HIGH));
    placeholders.put("maxPingColor", theme.getValue(ThemeVal.GRAPH_MAX_PING));
    placeholders.put("minPingColor", theme.getValue(ThemeVal.GRAPH_MIN_PING));
    placeholders.put("avgPingColor", theme.getValue(ThemeVal.GRAPH_AVG_PING));
    placeholders.put("timeZone", config.getTimeZoneOffsetHours());
    placeholders.put("versionButton", versionChecker.getUpdateButton().orElse(versionChecker.getCurrentVersionButton()));
    placeholders.put("version", versionChecker.getCurrentVersion());
    placeholders.put("updateModal", versionChecker.getUpdateModal());
    placeholders.put("contributors", Contributors.generateContributorHtml());
    CachingSupplier<ServerPluginTabs> pluginTabs = new CachingSupplier<>(() -> {
        List<ExtensionData> extensionData = dbSystem.getDatabase().query(new ExtensionServerDataQuery(serverUUID));
        return new ServerPluginTabs(extensionData, formatters);
    });
    long after = System.currentTimeMillis() - config.get(WebserverSettings.REDUCED_REFRESH_BARRIER);
    String navIdentifier = DataID.EXTENSION_NAV.of(serverUUID);
    String tabIdentifier = DataID.EXTENSION_TABS.of(serverUUID);
    String nav = jsonStorage.fetchJsonMadeAfter(navIdentifier, after).orElseGet(() -> {
        jsonStorage.invalidateOlder(navIdentifier, after);
        return jsonStorage.storeJson(navIdentifier, pluginTabs.get().getNav());
    }).json;
    String tabs = jsonStorage.fetchJsonMadeAfter(tabIdentifier, after).orElseGet(() -> {
        jsonStorage.invalidateOlder(tabIdentifier, after);
        return jsonStorage.storeJson(tabIdentifier, pluginTabs.get().getTabs());
    }).json;
    PlaceholderReplacer pluginPlaceholders = new PlaceholderReplacer();
    pluginPlaceholders.put("networkDisplayName", config.get(ProxySettings.NETWORK_NAME));
    pluginPlaceholders.put("serverName", config.get(ProxySettings.NETWORK_NAME));
    pluginPlaceholders.put("serverUUID", serverUUID.toString());
    pluginPlaceholders.put("navPluginsTabs", nav);
    pluginPlaceholders.put("tabsPlugins", StringUtils.remove(tabs, "${backButton}"));
    return UnaryChain.of(templateHtml).chain(theme::replaceThemeColors).chain(placeholders::apply).chain(pluginPlaceholders::apply).chain(locale::replaceLanguageInHtml).apply();
}
Also used : ExtensionServerDataQuery(com.djrapitops.plan.extension.implementation.storage.queries.ExtensionServerDataQuery) ServerUUID(com.djrapitops.plan.identification.ServerUUID) PlaceholderReplacer(com.djrapitops.plan.delivery.formatting.PlaceholderReplacer) CachingSupplier(com.djrapitops.plan.delivery.domain.container.CachingSupplier) ExtensionData(com.djrapitops.plan.extension.implementation.results.ExtensionData)

Example 7 with PlaceholderReplacer

use of com.djrapitops.plan.delivery.formatting.PlaceholderReplacer in project Plan by plan-player-analytics.

the class PlayerPage method createFor.

public String createFor(PlayerContainer player) {
    long now = System.currentTimeMillis();
    UUID playerUUID = player.getUnsafe(PlayerKeys.UUID);
    PlaceholderReplacer placeholders = new PlaceholderReplacer();
    placeholders.put("refresh", clockLongFormatter.apply(now));
    placeholders.put("refreshFull", secondLongFormatter.apply(now));
    placeholders.put("versionButton", versionChecker.getUpdateButton().orElse(versionChecker.getCurrentVersionButton()));
    placeholders.put("version", versionChecker.getCurrentVersion());
    placeholders.put("updateModal", versionChecker.getUpdateModal());
    String playerName = player.getValue(PlayerKeys.NAME).orElse(playerUUID.toString());
    placeholders.put("playerName", playerName);
    placeholders.put("playerUUID", playerUUID);
    placeholders.put("playerHeadUrl", config.get(DisplaySettings.PLAYER_HEAD_IMG_URL));
    placeholders.put("timeZone", config.getTimeZoneOffsetHours());
    placeholders.put("gmPieColors", theme.getValue(ThemeVal.GRAPH_GM_PIE));
    placeholders.put("contributors", Contributors.generateContributorHtml());
    PlaceholderReplacer pluginPlaceholders = new PlaceholderReplacer();
    PlayerPluginTab pluginTabs = pageFactory.inspectPluginTabs(playerUUID);
    pluginPlaceholders.put("playerName", playerName);
    pluginPlaceholders.put("backButton", (serverInfo.getServer().isProxy() ? Html.BACK_BUTTON_NETWORK : Html.BACK_BUTTON_SERVER).create());
    pluginPlaceholders.put("navPluginsTabs", pluginTabs.getNav());
    pluginPlaceholders.put("pluginsTabs", pluginTabs.getTab());
    return UnaryChain.of(templateHtml).chain(theme::replaceThemeColors).chain(placeholders::apply).chain(pluginPlaceholders::apply).chain(locale::replaceLanguageInHtml).apply();
}
Also used : PlaceholderReplacer(com.djrapitops.plan.delivery.formatting.PlaceholderReplacer) UUID(java.util.UUID)

Example 8 with PlaceholderReplacer

use of com.djrapitops.plan.delivery.formatting.PlaceholderReplacer in project Plan by plan-player-analytics.

the class ServerPage method toHtml.

@Override
public String toHtml() {
    PlaceholderReplacer placeholders = new PlaceholderReplacer();
    ServerUUID serverUUID = server.getUuid();
    placeholders.put("serverUUID", serverUUID.toString());
    placeholders.put("serverName", server.getIdentifiableName());
    placeholders.put("serverDisplayName", server.getName());
    placeholders.put("refreshBarrier", config.get(WebserverSettings.REDUCED_REFRESH_BARRIER));
    placeholders.put("timeZone", config.getTimeZoneOffsetHours());
    placeholders.put("gmPieColors", theme.getValue(ThemeVal.GRAPH_GM_PIE));
    placeholders.put("contributors", Contributors.generateContributorHtml());
    placeholders.put("versionButton", versionChecker.getUpdateButton().orElse(versionChecker.getCurrentVersionButton()));
    placeholders.put("version", versionChecker.getCurrentVersion());
    placeholders.put("updateModal", versionChecker.getUpdateModal());
    CachingSupplier<ServerPluginTabs> pluginTabs = new CachingSupplier<>(() -> {
        List<ExtensionData> extensionData = dbSystem.getDatabase().query(new ExtensionServerDataQuery(serverUUID));
        return new ServerPluginTabs(extensionData, formatters);
    });
    long after = System.currentTimeMillis() - config.get(WebserverSettings.REDUCED_REFRESH_BARRIER);
    String navIdentifier = DataID.EXTENSION_NAV.of(serverUUID);
    String tabIdentifier = DataID.EXTENSION_TABS.of(serverUUID);
    String nav = jsonStorage.fetchJsonMadeAfter(navIdentifier, after).orElseGet(() -> {
        jsonStorage.invalidateOlder(navIdentifier, after);
        return jsonStorage.storeJson(navIdentifier, pluginTabs.get().getNav());
    }).json;
    String tabs = jsonStorage.fetchJsonMadeAfter(tabIdentifier, after).orElseGet(() -> {
        jsonStorage.invalidateOlder(tabIdentifier, after);
        return jsonStorage.storeJson(tabIdentifier, pluginTabs.get().getTabs());
    }).json;
    PlaceholderReplacer pluginPlaceholders = new PlaceholderReplacer();
    pluginPlaceholders.put("serverUUID", serverUUID.toString());
    pluginPlaceholders.put("serverName", server.getIdentifiableName());
    pluginPlaceholders.put("serverDisplayName", server.getName());
    pluginPlaceholders.put("backButton", serverInfo.getServer().isProxy() ? Html.BACK_BUTTON_NETWORK.create() : "");
    pluginPlaceholders.put("navPluginsTabs", nav);
    pluginPlaceholders.put("tabsPlugins", tabs);
    return UnaryChain.of(templateHtml).chain(theme::replaceThemeColors).chain(placeholders::apply).chain(pluginPlaceholders::apply).chain(locale::replaceLanguageInHtml).apply();
}
Also used : ExtensionServerDataQuery(com.djrapitops.plan.extension.implementation.storage.queries.ExtensionServerDataQuery) ServerUUID(com.djrapitops.plan.identification.ServerUUID) PlaceholderReplacer(com.djrapitops.plan.delivery.formatting.PlaceholderReplacer) CachingSupplier(com.djrapitops.plan.delivery.domain.container.CachingSupplier) ExtensionData(com.djrapitops.plan.extension.implementation.results.ExtensionData)

Example 9 with PlaceholderReplacer

use of com.djrapitops.plan.delivery.formatting.PlaceholderReplacer in project Plan by plan-player-analytics.

the class ErrorMessagePage method toHtml.

@Override
public String toHtml() {
    PlaceholderReplacer placeholders = new PlaceholderReplacer();
    placeholders.put("title", icon.toHtml() + " " + errorTitle);
    placeholders.put("titleText", errorTitle);
    placeholders.put("paragraph", errorMsg);
    placeholders.put("versionButton", versionChecker.getUpdateButton().orElse(versionChecker.getCurrentVersionButton()));
    placeholders.put("version", versionChecker.getCurrentVersion());
    placeholders.put("updateModal", versionChecker.getUpdateModal());
    placeholders.put("contributors", Contributors.generateContributorHtml());
    return UnaryChain.of(template).chain(theme::replaceThemeColors).chain(placeholders::apply).apply();
}
Also used : PlaceholderReplacer(com.djrapitops.plan.delivery.formatting.PlaceholderReplacer)

Aggregations

PlaceholderReplacer (com.djrapitops.plan.delivery.formatting.PlaceholderReplacer)9 CachingSupplier (com.djrapitops.plan.delivery.domain.container.CachingSupplier)2 ExtensionData (com.djrapitops.plan.extension.implementation.results.ExtensionData)2 ExtensionServerDataQuery (com.djrapitops.plan.extension.implementation.storage.queries.ExtensionServerDataQuery)2 ServerUUID (com.djrapitops.plan.identification.ServerUUID)2 UUID (java.util.UUID)1