diff --git a/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java index d4f825a9a..ffc77f71b 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java @@ -11,6 +11,8 @@ public class CSSHelper extends HelperBase { public static final String DEFAULT_THEME = "light"; private static final String BASE = "/themes/console/"; 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) { String url = BASE; @@ -34,6 +36,17 @@ public class CSSHelper extends HelperBase { 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 */ public String title(String s) { StringBuilder buf = new StringBuilder(128); diff --git a/apps/routerconsole/jsp/summary.jsi b/apps/routerconsole/jsp/summary.jsi index fcab70132..29be51989 100644 --- a/apps/routerconsole/jsp/summary.jsi +++ b/apps/routerconsole/jsp/summary.jsi @@ -6,10 +6,12 @@ String d = request.getParameter("refresh"); String newDelay = ""; if (d == null || "".equals(d)) - d = System.getProperty("routerconsole.summaryRefresh"); - else + d = intl.getRefresh(); + else { + d = net.i2p.data.DataHelper.stripHTML(d); // XSS // pass the new delay parameter to the iframe newDelay = "?refresh=" + d; + } if (!"0".equals(d)) out.print("