From fce879be5d461cf8f4eefa207b673a40b5200fb7 Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Sat, 14 Dec 2019 19:02:15 +0000 Subject: [PATCH] hook up configuration page, under construction --- .../main/groovy/com/muwire/core/Core.groovy | 5 +++ .../muwire/webui/ConfigurationServlet.java | 29 +++++++++++---- webui/src/main/webapp/ConfigurationPage.jsp | 35 +++++++++++++++++++ webui/src/main/webapp/sidebar.jsi | 2 +- webui/templates/web.xml.template | 5 +++ 5 files changed, 68 insertions(+), 8 deletions(-) create mode 100644 webui/src/main/webapp/ConfigurationPage.jsp diff --git a/core/src/main/groovy/com/muwire/core/Core.groovy b/core/src/main/groovy/com/muwire/core/Core.groovy index 7cf21276..c5b75516 100644 --- a/core/src/main/groovy/com/muwire/core/Core.groovy +++ b/core/src/main/groovy/com/muwire/core/Core.groovy @@ -424,6 +424,11 @@ public class Core { File f = new File(home, "MuWire.properties") f.withPrintWriter("UTF-8", { muOptions.write(it) }) } + + public void saveI2PSettings() { + File f = new File(home, "i2p.properties") + f.withOutputStream { i2pOptions.store(it, "I2P Options") } + } static main(args) { def home = System.getProperty("user.home") + File.separator + ".MuWire" diff --git a/webui/src/main/java/com/muwire/webui/ConfigurationServlet.java b/webui/src/main/java/com/muwire/webui/ConfigurationServlet.java index e3d33a27..fcda3b9d 100644 --- a/webui/src/main/java/com/muwire/webui/ConfigurationServlet.java +++ b/webui/src/main/java/com/muwire/webui/ConfigurationServlet.java @@ -18,31 +18,46 @@ public class ConfigurationServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + + clearAllBooleans(); + Enumeration patameterNames = req.getParameterNames(); while(patameterNames.hasMoreElements()) { String name = patameterNames.nextElement(); String value = req.getParameter(name); + System.out.println("name "+ name + " value " + value); update(name, value); } core.saveMuSettings(); core.saveI2PSettings(); + resp.sendRedirect("/MuWire/ConfigurationPage"); + } + + private void clearAllBooleans() { + core.getMuOptions().setAllowUntrusted(false); + core.getMuOptions().setSearchExtraHop(false); + core.getMuOptions().setAllowTrustLists(false); + core.getMuOptions().setShareDownloadedFiles(false); + core.getMuOptions().setShareHiddenFiles(false); + core.getMuOptions().setSearchComments(false); + core.getMuOptions().setBrowseFiles(false); } private void update(String name, String value) { switch(name) { - case "allowUntrusted" : core.getMuOptions().setAllowUntrusted(Boolean.parseBoolean(value)); break; - case "searchExtraHop" : core.getMuOptions().setSearchExtraHop(Boolean.parseBoolean(value)); break; - case "allowTrustLists": core.getMuOptions().setAllowTrustLists(Boolean.parseBoolean(value)); break; + case "allowUntrusted" : core.getMuOptions().setAllowUntrusted(true); break; + case "searchExtraHop" : core.getMuOptions().setSearchExtraHop(true); break; + case "allowTrustLists": core.getMuOptions().setAllowTrustLists(true); break; case "trustListInterval" : core.getMuOptions().setTrustListInterval(Integer.parseInt(value)); break; case "downloadRetryInterval" : core.getMuOptions().setDownloadRetryInterval(Integer.parseInt(value)); break; case "totalUploadSlots" : core.getMuOptions().setTotalUploadSlots(Integer.parseInt(value)); break; case "uploadSlotsPerUser" : core.getMuOptions().setUploadSlotsPerUser(Integer.parseInt(value)); break; case "downloadLocation" : core.getMuOptions().setDownloadLocation(new File(value)); break; case "incompleteLocation" : core.getMuOptions().setIncompleteLocation(new File(value)); break; - case "shareDownloadedFiles" : core.getMuOptions().setShareDownloadedFiles(Boolean.parseBoolean(value)); break; - case "shareHiddenFiles" : core.getMuOptions().setShareHiddenFiles(Boolean.parseBoolean(value)); break; - case "searchComments" : core.getMuOptions().setSearchComments(Boolean.parseBoolean(value)); break; - case "browseFiles" : core.getMuOptions().setBrowseFiles(Boolean.parseBoolean(value)); break; + case "shareDownloadedFiles" : core.getMuOptions().setShareDownloadedFiles(true); break; + case "shareHiddenFiles" : core.getMuOptions().setShareHiddenFiles(true); break; + case "searchComments" : core.getMuOptions().setSearchComments(true); break; + case "browseFiles" : core.getMuOptions().setBrowseFiles(true); break; case "speedSmoothSeconds" : core.getMuOptions().setSpeedSmoothSeconds(Integer.parseInt(value)); break; case "inBw" : core.getMuOptions().setInBw(Integer.parseInt(value)); break; case "outBw" : core.getMuOptions().setOutBw(Integer.parseInt(value)); break; diff --git a/webui/src/main/webapp/ConfigurationPage.jsp b/webui/src/main/webapp/ConfigurationPage.jsp new file mode 100644 index 00000000..9773ece7 --- /dev/null +++ b/webui/src/main/webapp/ConfigurationPage.jsp @@ -0,0 +1,35 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@ page import="java.io.*" %> +<%@ page import="java.util.*" %> +<%@ page import="com.muwire.webui.*" %> +<%@ page import="com.muwire.core.*" %> +<%@ page import="com.muwire.core.search.*" %> +<%@ page import="net.i2p.data.*" %> + +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@include file="initcode.jsi"%> + +<% +String pagetitle=Util._t("Configuration"); +Core core = (Core) application.getAttribute("core"); +%> + + + +<%@include file="css.jsi"%> + + +<%@include file="header.jsi"%> + +
+
+ Allow Browsing name="browseFiles" value="true"> + "> +
+
+ + diff --git a/webui/src/main/webapp/sidebar.jsi b/webui/src/main/webapp/sidebar.jsi index b22e4cce..aeed9ac7 100644 --- a/webui/src/main/webapp/sidebar.jsi +++ b/webui/src/main/webapp/sidebar.jsi @@ -56,7 +56,7 @@