X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FOptionsPage.java;h=e36072bc80e83fddc1ce291c1d2a0ceefbcdf0a7;hb=00d6cb2688d8dda20ce55d71825b4446701a3a7a;hp=c38f97b8de955c29dd375eed6c3c797d1bd88470;hpb=0e8f7804ce344bdd69f5ecc7febe25a60a53561d;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/OptionsPage.java b/src/main/java/net/pterodactylus/sone/web/OptionsPage.java index c38f97b..e36072b 100644 --- a/src/main/java/net/pterodactylus/sone/web/OptionsPage.java +++ b/src/main/java/net/pterodactylus/sone/web/OptionsPage.java @@ -22,6 +22,7 @@ import static net.pterodactylus.sone.utils.NumberParsers.parseInt; import java.util.ArrayList; import java.util.List; +import net.pterodactylus.sone.core.CompatibilityMode; import net.pterodactylus.sone.core.Preferences; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.data.Sone.ShowCustomAvatars; @@ -58,8 +59,7 @@ public class OptionsPage extends SoneTemplatePage { * {@inheritDoc} */ @Override - protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException { - super.processTemplate(request, templateContext); + protected void processSonePage(FreenetRequest request, TemplateContext templateContext) throws RedirectException { Preferences preferences = webInterface.getCore().getPreferences(); Sone currentSone = webInterface.getCurrentSone(request.getToadletContext(), false); if (request.getMethod() == Method.POST) { @@ -133,6 +133,14 @@ public class OptionsPage extends SoneTemplatePage { Integer fcpFullAccessRequiredInteger = parseInt(request.getHttpRequest().getPartAsStringFailsafe("fcp-full-access-required", 1), preferences.getFcpFullAccessRequired().ordinal()); FullAccessRequired fcpFullAccessRequired = FullAccessRequired.values()[fcpFullAccessRequiredInteger]; preferences.setFcpFullAccessRequired(fcpFullAccessRequired); + + boolean compatOldElementIds = request.getHttpRequest().isPartSet("compat-old-element-ids"); + if (compatOldElementIds) { + webInterface.getCore().setCompatibilityMode(CompatibilityMode.oldElementIds); + } else { + webInterface.getCore().clearCompatibilityMod(CompatibilityMode.oldElementIds); + } + webInterface.getCore().touchConfiguration(); if (fieldErrors.isEmpty()) { throw new RedirectException(getPath()); @@ -158,6 +166,7 @@ public class OptionsPage extends SoneTemplatePage { templateContext.set("trust-comment", preferences.getTrustComment()); templateContext.set("fcp-interface-active", preferences.isFcpInterfaceActive()); templateContext.set("fcp-full-access-required", preferences.getFcpFullAccessRequired().ordinal()); + templateContext.set("compat-old-element-ids", webInterface.getCore().isCompatibilityMode(CompatibilityMode.oldElementIds)); } }