<%@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.jsi" %> 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 = intl.getRefresh(); } else { d = net.i2p.data.DataHelper.stripHTML(d); // XSS intl.setRefresh(d); } // we probably don't get here if d == "0" since caught in summary.jsi, 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.jsi" %> <% // d and shutdownSoon defined above if (!shutdownSoon) { out.print("
\n"); if ("0".equals(d)) { out.print(""); out.print(intl._("Refresh (s)")); out.print(": \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"); } %>