diff --git a/apps/routerconsole/jsp/default.css b/apps/routerconsole/jsp/default.css index 527a7c9be..9b1db4cdb 100644 --- a/apps/routerconsole/jsp/default.css +++ b/apps/routerconsole/jsp/default.css @@ -1,3 +1,9 @@ +/*** +html { + font-size: 14px; +} +***/ + body { font-family: Verdana, Tahoma, Helvetica, sans-serif; margin: 1em 0em; @@ -5,6 +11,7 @@ body { text-align: center; background-color: white; color: black; + font-size: 100%; } .hide { @@ -30,25 +37,26 @@ div.toolbar { font-weight: bold; } -div.routersummary { - /* width: 8em; */ - /* height: 5em; */ - /* position: fixed; */ +div.routersummaryouter { float: left; - width: 200px; - /* left: 1em; */ - /* top: 1em; */ - margin: 0em; - padding: .5em; - text-align: left; - border: medium solid #efefff; - background-color: #fafaff; - color: inherit; - font-size: small; + width: 215px; + margin: 0; + padding: 0; + border: 0; clear: left; /* fixes a bug in Opera */ overflow: auto; } +div.routersummary { + background-color: #fafaff; + width: 195px; + color: inherit; + margin: 0em; + padding: 5px; + text-align: left; + border: medium solid #efefff; +} + div.warning { margin: 0em 1em 1em 224px; padding: .5em 1em; @@ -67,6 +75,10 @@ div.main { color: inherit; } +div.main textarea { + width: 100%; +} + div.news { margin: 0em 1em 1em 224px; padding: .5em 1em; diff --git a/apps/routerconsole/jsp/summary.jsp b/apps/routerconsole/jsp/summary.jsp index c3b7f8a74..46bbd0ee4 100644 --- a/apps/routerconsole/jsp/summary.jsp +++ b/apps/routerconsole/jsp/summary.jsp @@ -1,102 +1,30 @@ -<%@page import="net.i2p.router.web.SummaryHelper" %> - -" /> - - - - - -" /> - - -" /> - +<% // put width here too to prevent bad layout at startup %> +
+<% + // skip the iframe if refresh disabled + String d = request.getParameter("refresh"); + String newDelay = ""; + if (d == null || "".equals(d)) + d = System.getProperty("routerconsole.summaryRefresh"); + else + // pass the new delay parameter to the iframe + newDelay = "?refresh=" + d; + if (!"0".equals(d)) + out.print("\n"); + } else { + // since we don't have an iframe this will reload the base page, and + // the new delay will be passed to the iframe above + out.print("

\n"); + out.print("Refresh (s): \n"); + out.print("\n"); + out.print("

\n"); } - %> -

- <%=net.i2p.router.web.ConfigRestartBean.renderStatus(request.getRequestURI(), request.getParameter("action"), request.getParameter("consoleNonce"))%> -

-
- - Peers
- Active: /
- Fast:
- High capacity:
- Well integrated:
- Known:
<% - if (helper.getActivePeers() <= 0) { - %>check your NAT/firewall
<% - } - // If showing the reseed link is allowed - if (helper.allowReseed()) { - if ("true".equals(System.getProperty("net.i2p.router.web.ReseedHandler.reseedInProgress", "false"))) { - // While reseed occurring, show status message instead - out.print("" + System.getProperty("net.i2p.router.web.ReseedHandler.statusMessage","") + "
"); - } else { - // While no reseed occurring, show reseed link - long nonce = new java.util.Random().nextLong(); - String prev = System.getProperty("net.i2p.router.web.ReseedHandler.nonce"); - if (prev != null) System.setProperty("net.i2p.router.web.ReseedHandler.noncePrev", prev); - System.setProperty("net.i2p.router.web.ReseedHandler.nonce", nonce+""); - String uri = request.getRequestURI(); - out.print("

\n"); - out.print("\n"); - out.print("

\n"); - } - } - // If a new reseed ain't running, and the last reseed had errors, show error message - if ("false".equals(System.getProperty("net.i2p.router.web.ReseedHandler.reseedInProgress", "false"))) { - String reseedErrorMessage = System.getProperty("net.i2p.router.web.ReseedHandler.errorMessage",""); - if (reseedErrorMessage.length() > 0) { - out.print("" + reseedErrorMessage + "
"); - } - } - %>
- - Bandwidth in/out
- 1s: /KBps
- 5m: /KBps
- Total: /KBps
- Used: /
-
- - - - Tunnels in/out
- Exploratory: /
- Client: /
- Participating:
-
- - Congestion
- Job lag:
- Message delay:
- Tunnel lag:
- Handle backlog:
-
- +%> diff --git a/apps/routerconsole/jsp/summaryframe.jsp b/apps/routerconsole/jsp/summaryframe.jsp new file mode 100644 index 000000000..627fe328c --- /dev/null +++ b/apps/routerconsole/jsp/summaryframe.jsp @@ -0,0 +1,68 @@ +<%@page contentType="text/html"%> +<%@page pageEncoding="UTF-8"%> + + +<% +/* + * All links in the summary bar must have target="_top" + * so they don't load in the iframe + */ +%> + + +Summary Bar + +<% + // try hard to avoid an error page in the iframe after shutdown + String action = request.getParameter("action"); + String d = request.getParameter("refresh"); + boolean shutdownSoon = "shutdownImmediate".equals(action) || "restartImmediate".equals(action); + if (!shutdownSoon) { + if (d == null || "".equals(d)) { + d = System.getProperty("routerconsole.summaryRefresh"); + if (d == null || "".equals(d)) + d = "60"; + } else { + System.setProperty("routerconsole.summaryRefresh", d); + } + // we probably don't get here if d == "0" since caught in summary.jsp, but just + // to be sure... + if (!"0".equals(d)) { + // doesn't work for restart or shutdown with no expl. tunnels, + // since the call to ConfigRestartBean.renderStatus() hasn't happened yet... + long timeleft = net.i2p.router.web.ConfigRestartBean.getRestartTimeRemaining(); + long delay = 60; + try { delay = Long.parseLong(d); } catch (NumberFormatException nfe) {} + if (delay*1000 < timeleft + 5000) + out.print("\n"); + else + shutdownSoon = true; + } + } +%> + + + + + +
+<%@include file="summarynoframe.jsp" %> +<% + // d and shutdownSoon defined above + if (!shutdownSoon) { + out.print("

\n"); + if ("0".equals(d)) { + out.print("Refresh (s): \n"); + out.print("\n"); + } else { + // this will load in the iframe but subsequent pages will not have the iframe + out.print("\n"); + out.print("\n"); + } + out.print("

\n"); + } +%> +
+ + + diff --git a/apps/routerconsole/jsp/summarynoframe.jsp b/apps/routerconsole/jsp/summarynoframe.jsp new file mode 100644 index 000000000..f3f8b8002 --- /dev/null +++ b/apps/routerconsole/jsp/summarynoframe.jsp @@ -0,0 +1,100 @@ +<%@page import="net.i2p.router.web.SummaryHelper" %> + +" /> + + + + + +" /> + + +" /> + +
Configuration  Help
+
+ + General
+ Ident: (, never reveal it to anyone" href="netdb.jsp?r=." target="_top">view)
+ Version:
+ Uptime:
+ Now:
+ Reachability: <% + if (helper.updateAvailable()) { + // display all the time so we display the final failure message + out.print("
" + update.getStatus()); + if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress", "false"))) { + } else if(!update.isDone()) { + long nonce = new java.util.Random().nextLong(); + String prev = System.getProperty("net.i2p.router.web.UpdateHandler.nonce"); + 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(); + out.print("

\n"); + out.print("\n"); + out.print("

\n"); + } + } + %> +

+ <%=net.i2p.router.web.ConfigRestartBean.renderStatus(request.getRequestURI(), request.getParameter("action"), request.getParameter("consoleNonce"))%> +

+
+ + Peers
+ Active: /
+ Fast:
+ High capacity:
+ Well integrated:
+ Known:
<% + if (helper.getActivePeers() <= 0) { + %>check your NAT/firewall
<% + } + // If showing the reseed link is allowed + if (helper.allowReseed()) { + if ("true".equals(System.getProperty("net.i2p.router.web.ReseedHandler.reseedInProgress", "false"))) { + // While reseed occurring, show status message instead + out.print("" + System.getProperty("net.i2p.router.web.ReseedHandler.statusMessage","") + "
"); + } else { + // While no reseed occurring, show reseed link + long nonce = new java.util.Random().nextLong(); + String prev = System.getProperty("net.i2p.router.web.ReseedHandler.nonce"); + if (prev != null) System.setProperty("net.i2p.router.web.ReseedHandler.noncePrev", prev); + System.setProperty("net.i2p.router.web.ReseedHandler.nonce", nonce+""); + String uri = request.getRequestURI(); + out.print("

\n"); + out.print("\n"); + out.print("

\n"); + } + } + // If a new reseed ain't running, and the last reseed had errors, show error message + if ("false".equals(System.getProperty("net.i2p.router.web.ReseedHandler.reseedInProgress", "false"))) { + String reseedErrorMessage = System.getProperty("net.i2p.router.web.ReseedHandler.errorMessage",""); + if (reseedErrorMessage.length() > 0) { + out.print("" + reseedErrorMessage + "
"); + } + } + %>
+ + Bandwidth in/out
+ 1s: /KBps
+ 5m: /KBps
+ Total: /KBps
+ Used: /
+
+ + + + Tunnels in/out
+ Exploratory: /
+ Client: /
+ Participating:
+
+ + Congestion
+ Job lag:
+ Message delay:
+ Tunnel lag:
+ Handle backlog:
+
+