<%@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 */ %> <%@include file="css.jsp" %> Summary Bar <% // try hard to avoid an error page in the iframe after shutdown String action = request.getParameter("action"); String d = request.getParameter("refresh"); // Normal browsers send value, IE sends button label boolean shutdownSoon = "shutdownImmediate".equals(action) || "restartImmediate".equals(action) || "Shutdown immediately".equals(action) || "Restart immediately".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... // So we delay slightly if ("restart".equalsIgnoreCase(action) || "shutdown".equalsIgnoreCase(action)) { synchronized(this) { try { wait(1000); } catch(InterruptedException ie) {} } } 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"); } %>