From d16f187394f9e8a3dd0da69399a2cb6055ec0058 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Wed, 10 Dec 2008 16:25:09 +0000 Subject: [PATCH] change restart/shutdown/update links to buttons --- .../i2p/router/web/ConfigClientsHelper.java | 2 +- .../net/i2p/router/web/ConfigRestartBean.java | 26 +++++++++++++------ apps/routerconsole/jsp/summary.jsp | 15 ++++++----- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java index 18e746644f..d6441736a7 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java @@ -79,7 +79,7 @@ public class ConfigClientsHelper { } buf.append("/></td><td> "); if (!enabled) { - buf.append("<button type=\"submit\" name=\"action\" value=\"Start ").append(index).append("\" />Start</button>"); + buf.append("<button type=\"submit\" name=\"action\" value=\"Start ").append(index).append("\" >Start</button>"); } buf.append(" </td><td>").append(desc).append("</td></tr>\n"); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java index 2b8817a31e..3c9fe1bbf4 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java @@ -1,5 +1,7 @@ package net.i2p.router.web; +import java.util.StringTokenizer; + import net.i2p.data.DataHelper; import net.i2p.router.Router; import net.i2p.router.RouterContext; @@ -47,27 +49,35 @@ public class ConfigRestartBean { return "<b>Shutdown imminent</b>"; } else { return "<b>Shutdown in " + DataHelper.formatDuration(timeRemaining) + "</b><br />" - + "<a href=\"" + urlBase + "?consoleNonce=" + systemNonce + "&action=shutdownImmediate\">Shutdown immediately</a><br />" - + "<a href=\"" + urlBase + "?consoleNonce=" + systemNonce + "&action=cancelShutdown\">Cancel shutdown</a> "; + + buttons(urlBase, systemNonce, "shutdownImmediate,Shutdown immediately,cancelShutdown,Cancel shutdown"); } } else if (restarting) { if (timeRemaining <= 0) { return "<b>Restart imminent</b>"; } else { return "<b>Restart in " + DataHelper.formatDuration(timeRemaining) + "</b><br />" - + "<a href=\"" + urlBase + "?consoleNonce=" + systemNonce + "&action=restartImmediate\">Restart immediately</a><br />" - + "<a href=\"" + urlBase + "?consoleNonce=" + systemNonce + "&action=cancelShutdown\">Cancel restart</a> "; + + buttons(urlBase, systemNonce, "restartImmediate,Restart immediately,cancelShutdown,Cancel restart"); } } else { - String shutdown = "<a href=\"" + urlBase + "?consoleNonce=" + systemNonce + "&action=shutdown\" title=\"Graceful shutdown\">Shutdown</a>"; if (System.getProperty("wrapper.version") != null) - return "<a href=\"" + urlBase + "?consoleNonce=" + systemNonce + "&action=restart\" title=\"Graceful restart\">Restart</a> " - + shutdown; + return buttons(urlBase, systemNonce, "restart,Restart,shutdown,Shutdown"); else - return shutdown; + return buttons(urlBase, systemNonce, "shutdown,Shutdown"); } } + /** @param s value,label,... pairs */ + private static String buttons(String url, String nonce, String s) { + StringBuffer buf = new StringBuffer(128); + StringTokenizer tok = new StringTokenizer(s, ","); + buf.append("<form action=\"").append(url).append("\" method=\"GET\">\n"); + buf.append("<input type=\"hidden\" name=\"consoleNonce\" value=\"").append(nonce).append("\" >\n"); + while (tok.hasMoreTokens()) + buf.append("<button type=\"submit\" name=\"action\" value=\"").append(tok.nextToken()).append("\" >").append(tok.nextToken()).append("</button>\n"); + buf.append("</form>\n"); + return buf.toString(); + } + private static boolean isShuttingDown(RouterContext ctx) { return Router.EXIT_GRACEFUL == ctx.router().scheduledGracefulExitCode(); } diff --git a/apps/routerconsole/jsp/summary.jsp b/apps/routerconsole/jsp/summary.jsp index 3080889141..6668683e6e 100644 --- a/apps/routerconsole/jsp/summary.jsp +++ b/apps/routerconsole/jsp/summary.jsp @@ -7,6 +7,9 @@ <jsp:useBean class="net.i2p.router.web.UpdateHandler" id="update" scope="request" /> <jsp:setProperty name="update" property="*" /> <jsp:setProperty name="update" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" /> +<jsp:useBean class="net.i2p.router.web.ConfigUpdateHelper" id="uhelper" scope="request" /> +<jsp:setProperty name="uhelper" property="*" /> +<jsp:setProperty name="uhelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" /> <div class="routersummary"> <u><b>General</b></u><br /> @@ -25,15 +28,15 @@ if (prev != null) System.setProperty("net.i2p.router.web.UpdateHandler.noncePrev", prev); System.setProperty("net.i2p.router.web.UpdateHandler.nonce", nonce+""); String uri = request.getRequestURI(); - if (uri.indexOf('?') > 0) - uri = uri + "&updateNonce=" + nonce; - else - uri = uri + "?updateNonce=" + nonce; - out.print("<br /><a href=\"" + uri + "\">Update available</a>"); + out.print("<p><form action=\"" + uri + "\" method=\"GET\">\n"); + out.print("<input type=\"hidden\" name=\"updateNonce\" value=\"" + nonce + "\" >\n"); + out.print("<input type=\"submit\" value=\"Download " + uhelper.getUpdateVersion() + " Update\" ></form></p>\n"); } } %> - <br /><%=net.i2p.router.web.ConfigRestartBean.renderStatus(request.getRequestURI(), request.getParameter("action"), request.getParameter("consoleNonce"))%> + <p> + <%=net.i2p.router.web.ConfigRestartBean.renderStatus(request.getRequestURI(), request.getParameter("action"), request.getParameter("consoleNonce"))%> + </p> <hr /> <u><b><a href="peers.jsp">Peers</a></b></u><br /> -- GitLab