hook up configuration page, under construction

This commit is contained in:
Zlatin Balevsky
2019-12-14 19:02:15 +00:00
parent 0b58e22714
commit fce879be5d
5 changed files with 68 additions and 8 deletions

View File

@ -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"

View File

@ -18,31 +18,46 @@ public class ConfigurationServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
clearAllBooleans();
Enumeration<String> 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;

View File

@ -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");
%>
<html>
<head>
<%@include file="css.jsi"%>
</head>
<body>
<%@include file="header.jsi"%>
<aside>
<%@include file="searchbox.jsi"%>
<%@include file="sidebar.jsi"%>
</aside>
<section class="main foldermain">
<form action="/MuWire/Configuration" method="post">
Allow Browsing <input type="checkbox" <% if (core.getMuOptions().getBrowseFiles()) out.write("checked"); %> name="browseFiles" value="true">
<input type="submit" value="<%=Util._t("Save")%>">
</form>
</section>
</body>
</html>

View File

@ -56,7 +56,7 @@
<div class="menubox-divider"></div>
<div class="menubox">
<h2><%=Util._t("Configuration")%></h2>
<a class="menuitem settings" href="settings">
<a class="menuitem settings" href="ConfigurationPage">
<div class="menu-icon"></div>
<div class="menu-text"><%=Util._t("Settings")%></div>
</a>

View File

@ -158,4 +158,9 @@ Mappings without the .jsp suffix
<url-pattern>/TrustLists</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>com.muwire.webui.ConfigurationPage_jsp</servlet-name>
<url-pattern>/ConfigurationPage</url-pattern>
</servlet-mapping>
</web-app>