I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit 2d5decd9 authored by zzz's avatar zzz
Browse files

save refresh setting

parent 9d167dc8
No related branches found
No related tags found
No related merge requests found
...@@ -11,6 +11,8 @@ public class CSSHelper extends HelperBase { ...@@ -11,6 +11,8 @@ public class CSSHelper extends HelperBase {
public static final String DEFAULT_THEME = "light"; public static final String DEFAULT_THEME = "light";
private static final String BASE = "/themes/console/"; private static final String BASE = "/themes/console/";
private static final String FORCE = "classic"; private static final String FORCE = "classic";
public static final String PROP_REFRESH = "routerconsole.summaryRefresh";
public static final String DEFAULT_REFRESH = "60";
public String getTheme(String userAgent) { public String getTheme(String userAgent) {
String url = BASE; String url = BASE;
...@@ -34,6 +36,17 @@ public class CSSHelper extends HelperBase { ...@@ -34,6 +36,17 @@ public class CSSHelper extends HelperBase {
return Messages.getLanguage(_context); return Messages.getLanguage(_context);
} }
/** change refresh and save it */
public void setRefresh(String r) {
_context.router().setConfigSetting(PROP_REFRESH, r);
_context.router().saveConfig();
}
/** @return refresh time in seconds, as a string */
public String getRefresh() {
return _context.getProperty(PROP_REFRESH, DEFAULT_REFRESH);
}
/** translate the title and display consistently */ /** translate the title and display consistently */
public String title(String s) { public String title(String s) {
StringBuilder buf = new StringBuilder(128); StringBuilder buf = new StringBuilder(128);
......
...@@ -6,10 +6,12 @@ ...@@ -6,10 +6,12 @@
String d = request.getParameter("refresh"); String d = request.getParameter("refresh");
String newDelay = ""; String newDelay = "";
if (d == null || "".equals(d)) if (d == null || "".equals(d))
d = System.getProperty("routerconsole.summaryRefresh"); d = intl.getRefresh();
else else {
d = net.i2p.data.DataHelper.stripHTML(d); // XSS
// pass the new delay parameter to the iframe // pass the new delay parameter to the iframe
newDelay = "?refresh=" + d; newDelay = "?refresh=" + d;
}
if (!"0".equals(d)) if (!"0".equals(d))
out.print("<iframe src=\"/summaryframe.jsp" + newDelay + "\" height=\"1500\" width=\"200\" scrolling=\"auto\" frameborder=\"0\" title=\"sidepanel\">\n"); out.print("<iframe src=\"/summaryframe.jsp" + newDelay + "\" height=\"1500\" width=\"200\" scrolling=\"auto\" frameborder=\"0\" title=\"sidepanel\">\n");
%> %>
...@@ -25,13 +27,11 @@ ...@@ -25,13 +27,11 @@
out.print("<div class=\"refresh\"><form action=\"" + request.getRequestURI() + "\" method=\"GET\">\n"); out.print("<div class=\"refresh\"><form action=\"" + request.getRequestURI() + "\" method=\"GET\">\n");
out.print("<b>"); out.print("<b>");
// We have intl defined when this is included, but not when compiled standalone. // We have intl defined when this is included, but not when compiled standalone.
// Not that we really need it standalone, but I can't figure out how to keep out.print(intl._("Refresh (s)"));
// this from being compiled by JspC in the build file. out.print(":</b> <input size=\"3\" type=\"text\" name=\"refresh\" value=\"60\" >\n");
out.print(net.i2p.router.web.Messages.getString("Refresh (s)", net.i2p.I2PAppContext.getGlobalContext()));
out.print(":</b> <input size=\"3\" type=\"text\" name=\"refresh\" value=\"60\" />\n");
out.print("<button type=\"submit\" value=\"Enable\" >"); out.print("<button type=\"submit\" value=\"Enable\" >");
// ditto // ditto
out.print(net.i2p.router.web.Messages.getString("Enable", net.i2p.I2PAppContext.getGlobalContext())); out.print(intl._("Enable"));
out.print("</button>\n"); out.print("</button>\n");
out.print("</form></div></div>\n"); out.print("</form></div></div>\n");
} }
......
...@@ -19,11 +19,10 @@ ...@@ -19,11 +19,10 @@
"Shutdown immediately".equals(action) || "Restart immediately".equals(action); "Shutdown immediately".equals(action) || "Restart immediately".equals(action);
if (!shutdownSoon) { if (!shutdownSoon) {
if (d == null || "".equals(d)) { if (d == null || "".equals(d)) {
d = System.getProperty("routerconsole.summaryRefresh"); d = intl.getRefresh();
if (d == null || "".equals(d))
d = "60";
} else { } else {
System.setProperty("routerconsole.summaryRefresh", d); 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 // we probably don't get here if d == "0" since caught in summary.jsi, but just
// to be sure... // to be sure...
...@@ -42,7 +41,7 @@ ...@@ -42,7 +41,7 @@
long delay = 60; long delay = 60;
try { delay = Long.parseLong(d); } catch (NumberFormatException nfe) {} try { delay = Long.parseLong(d); } catch (NumberFormatException nfe) {}
if (delay*1000 < timeleft + 5000) if (delay*1000 < timeleft + 5000)
out.print("<meta http-equiv=\"refresh\" content=\"" + d + "\" />\n"); out.print("<meta http-equiv=\"refresh\" content=\"" + d + "\" >\n");
else else
shutdownSoon = true; shutdownSoon = true;
} }
...@@ -57,13 +56,13 @@ ...@@ -57,13 +56,13 @@
if ("0".equals(d)) { if ("0".equals(d)) {
out.print("<b>"); out.print("<b>");
out.print(intl._("Refresh (s)")); out.print(intl._("Refresh (s)"));
out.print(":</b> <input size=\"3\" type=\"text\" name=\"refresh\" value=\"60\" />\n"); out.print(":</b> <input size=\"3\" type=\"text\" name=\"refresh\" value=\"60\" >\n");
out.print("<button type=\"submit\" value=\"Enable\" >"); out.print("<button type=\"submit\" value=\"Enable\" >");
out.print(intl._("Enable")); out.print(intl._("Enable"));
out.print("</button></div>\n"); out.print("</button></div>\n");
} else { } else {
// this will load in the iframe but subsequent pages will not have the iframe // this will load in the iframe but subsequent pages will not have the iframe
out.print("<input type=\"hidden\" name=\"refresh\" value=\"0\" />\n"); out.print("<input type=\"hidden\" name=\"refresh\" value=\"0\" >\n");
out.print("<button type=\"submit\" value=\"Disable\" >"); out.print("<button type=\"submit\" value=\"Disable\" >");
out.print(intl._("Disable {0}s Refresh", d)); out.print(intl._("Disable {0}s Refresh", d));
out.print("</button></div>\n"); out.print("</button></div>\n");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment