Backend HTML changes:

- Labels for radio/checkbox icons to increase surface area for clicks, improving
  UI for touchscreen use
- Standardized configuration labels: bold text for leading options, standard
  weight for trailing descriptions
- Remove some hard-coded table layouts
- Additional ids and classes for theming
This commit is contained in:
str4d
2017-05-14 05:30:13 +00:00
parent 48661361fa
commit 6b056ce6e0
35 changed files with 327 additions and 316 deletions

View File

@ -2205,25 +2205,25 @@ public class I2PSnarkServlet extends BasicServlet {
out.write("\" value=\"" +
DataHelper.escapeHTML(dataDir) + "\" spellcheck=\"false\"></td>\n" +
"<tr><td>");
"<tr><td><label for=\"filesPublic\">");
out.write(_t("Files readable by all"));
out.write(":<td colspan=\"2\"><input type=\"checkbox\" class=\"optbox\" name=\"filesPublic\" value=\"true\" "
out.write(":</label><td colspan=\"2\"><input type=\"checkbox\" class=\"optbox\" name=\"filesPublic\" id=\"filesPublic\" value=\"true\" "
+ (filesPublic ? "checked " : "")
+ "title=\"");
out.write(_t("Set file permissions to allow other local users to access the downloaded files"));
out.write("\" >" +
"<tr><td>");
"<tr><td><label for=\"autoStart\">");
out.write(_t("Auto start torrents"));
out.write(":<td colspan=\"2\"><input type=\"checkbox\" class=\"optbox\" name=\"autoStart\" value=\"true\" "
out.write(":</label><td colspan=\"2\"><input type=\"checkbox\" class=\"optbox\" name=\"autoStart\" id=\"autoStart\" value=\"true\" "
+ (autoStart ? "checked " : "")
+ "title=\"");
out.write(_t("Automatically start torrents when added and restart torrents when I2PSnark starts"));
out.write("\" >" +
"<tr><td>");
"<tr><td><label for=\"smartSort\">");
out.write(_t("Smart torrent sorting"));
out.write(":<td colspan=\"2\"><input type=\"checkbox\" class=\"optbox\" name=\"smartSort\" value=\"true\" "
out.write(":</label><td colspan=\"2\"><input type=\"checkbox\" class=\"optbox\" name=\"smartSort\" id=\"smartSort\" value=\"true\" "
+ (smartSort ? "checked " : "")
+ "title=\"");
out.write(_t("Ignore words such as 'a' and 'the' when sorting"));
@ -2338,17 +2338,17 @@ public class I2PSnarkServlet extends BasicServlet {
out.write(_t("View or change router bandwidth"));
out.write("]</a></i>");
}
out.write("\n<tr><td>");
out.write("\n<tr><td><label for=\"useOpenTrackers\">");
out.write(_t("Use open trackers also"));
out.write(":<td colspan=\"2\"><input type=\"checkbox\" class=\"optbox\" name=\"useOpenTrackers\" value=\"true\" "
out.write(":</label><td colspan=\"2\"><input type=\"checkbox\" class=\"optbox\" name=\"useOpenTrackers\" id=\"useOpenTrackers\" value=\"true\" "
+ (useOpenTrackers ? "checked " : "")
+ "title=\"");
out.write(_t("Announce torrents to open trackers as well as tracker(s) listed in the torrent file"));
out.write("\" ></td></tr>\n" +
"<tr><td>");
"<tr><td><label for=\"useDHT\">");
out.write(_t("Enable DHT"));
out.write(":<td colspan=\"2\"><input type=\"checkbox\" class=\"optbox\" name=\"useDHT\" value=\"true\" "
out.write(":</label><td colspan=\"2\"><input type=\"checkbox\" class=\"optbox\" name=\"useDHT\" id=\"useDHT\" value=\"true\" "
+ (useDHT ? "checked " : "")
+ "title=\"");
out.write(_t("Use DHT to find additional peers"));
@ -2450,9 +2450,9 @@ public class I2PSnarkServlet extends BasicServlet {
boolean isPrivate = privateTrackers.contains(t.announceURL);
boolean isKnownOpen = _manager.util().isKnownOpenTracker(t.announceURL);
boolean isOpen = isKnownOpen || openTrackers.contains(t.announceURL);
buf.append("<tr class=\"knownTracker\"><td><input type=\"checkbox\" class=\"optbox\" name=\"delete_")
buf.append("<tr class=\"knownTracker\"><td><input type=\"checkbox\" class=\"optbox\" id=\"").append(name).append("\" name=\"delete_")
.append(name).append("\" title=\"").append(_t("Mark tracker for deletion")).append("\">" +
"</td><td>").append(name)
"</td><td><label for=\"").append(name).append("\">").append(name)
.append("</td><td>").append(urlify(homeURL, 35))
.append("</td><td><input type=\"radio\" class=\"optbox\" value=\"0\" name=\"ttype_")
.append(announceURL).append("\"");

View File

@ -111,8 +111,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
</td>
<td>
<input value="1" type="checkbox" name="startOnLoad" title="Start Tunnel Automatically"<%=(editBean.startAutomatically(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Automatically start tunnel when router starts")%>
<label><input value="1" type="checkbox" name="startOnLoad" title="Start Tunnel Automatically"<%=(editBean.startAutomatically(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Automatically start tunnel when router starts")%></label>
</td>
</tr>
@ -186,8 +186,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
</tr>
<tr>
<td colspan="2">
<input value="1" type="checkbox" name="useSSL" title="Clients use SSL to connect" <%=(editBean.isSSLEnabled(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Clients use SSL to connect to tunnel")%>
<label><input value="1" type="checkbox" name="useSSL" title="Clients use SSL to connect" <%=(editBean.isSSLEnabled(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Clients use SSL to connect to tunnel")%></label>
</td>
</tr>
<% } /* tunnel types */ %>
@ -228,8 +228,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<tr>
<td colspan="2">
<input value="1" type="checkbox" name="useOutproxyPlugin" <%=(editBean.getUseOutproxyPlugin(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Use plugin instead of above-listed proxies if available")%>
<label><input value="1" type="checkbox" name="useOutproxyPlugin" <%=(editBean.getUseOutproxyPlugin(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Use plugin instead of above-listed proxies if available")%></label>
</td>
</tr>
<% } else if ("client".equals(tunnelType) || "ircclient".equals(tunnelType) || "streamrclient".equals(tunnelType)) {
@ -267,8 +267,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
</tr>
<tr>
<td colspan="2">
<input value="true" type="checkbox" name="shared" title="Share tunnels with other clients"<%=(editBean.isSharedClient(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Share tunnels with other clients and irc/httpclients? (Change requires restart of client proxy tunnel)")%>
<label><input value="true" type="checkbox" name="shared" title="Share tunnels with other clients"<%=(editBean.isSharedClient(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Share tunnels with other clients and irc/httpclients? (Change requires restart of client proxy tunnel)")%></label>
</td>
</tr>
@ -282,8 +282,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
</tr>
<tr>
<td colspan="2">
<input value="1" type="checkbox" name="DCC" title="Enable DCC"<%=(editBean.getDCC(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Enable Direct Client-to-Client protocol. Note that this will compromise your anonymity and is <i>not</i> recommended.")%>
<label><input value="1" type="checkbox" name="DCC" title="Enable DCC"<%=(editBean.getDCC(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Enable Direct Client-to-Client protocol. Note that this will compromise your anonymity and is <i>not</i> recommended.")%></label>
</td>
</tr>
@ -404,8 +404,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
</td>
<td>
<input value="1000" type="checkbox" name="connectDelay" title="Delay Connection"<%=(editBean.shouldDelay(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
(<%=intl._t("for request/response connections")%>)
<label><input value="1000" type="checkbox" name="connectDelay" title="Delay Connection"<%=(editBean.shouldDelay(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
(<%=intl._t("for request/response connections")%>)</label>
</td>
</tr>
<% } // !streamrclient %>
@ -439,8 +439,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<tr>
<td colspan="2">
<input value="1" type="checkbox" name="delayOpen" title="Delay Tunnel Open"<%=(editBean.getDelayOpen(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Delay opening client tunnel until activity is detected on the configured tunnel port")%>
<label><input value="1" type="checkbox" name="delayOpen" title="Delay Tunnel Open"<%=(editBean.getDelayOpen(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Delay opening client tunnel until activity is detected on the configured tunnel port")%></label>
</td>
</tr>
@ -454,8 +454,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<tr>
<td colspan="2">
<input value="1" type="checkbox" name="reduce" title="Reduce Tunnels"<%=(editBean.getReduce(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Reduce tunnel quantity when idle to conserve resources")%>
<label><input value="1" type="checkbox" name="reduce" title="Reduce Tunnels"<%=(editBean.getReduce(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Reduce tunnel quantity when idle to conserve resources")%></label>
</td>
</tr>
@ -480,8 +480,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<tr>
<td>
<input value="1" type="checkbox" name="close" title="Close Tunnels"<%=(editBean.getClose(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Close client tunnels after specified idle period")%>
<label><input value="1" type="checkbox" name="close" title="Close Tunnels"<%=(editBean.getClose(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Close client tunnels after specified idle period")%></label>
</td>
<td>
@ -495,14 +495,14 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<td colspan="2">
<b><%=intl._t("New Keys on Reopen")%>:</b>
<span class="multiOption">
<input value="1" type="radio" name="newDest" title="New Destination"
<label><input value="1" type="radio" name="newDest" title="New Destination"
<%=(editBean.getNewDest(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Enable")%>
</span>
<%=intl._t("Enable")%></label>
</span>
<span class="multiOption">
<input value="0" type="radio" name="newDest" title="New Destination"
<label><input value="0" type="radio" name="newDest" title="New Destination"
<%=(editBean.getNewDest(curTunnel) || editBean.getPersistentClientKey(curTunnel) ? "" : " checked=\"checked\"")%> class="tickbox" />
<%=intl._t("Disable")%>
<%=intl._t("Disable")%></label>
</span>
</td>
</tr>
@ -516,9 +516,9 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
</tr>
<tr>
<td>
<input value="2" type="radio" name="newDest" title="New Destination"
<label><input value="2" type="radio" name="newDest" title="New Destination"
<%=(editBean.getPersistentClientKey(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Generate key to enable persistent client tunnel identity")%>
<%=intl._t("Generate key to enable persistent client tunnel identity")%></label>
</td>
<td>
<b><%=intl._t("File")%>:</b>
@ -560,24 +560,24 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<tr>
<td>
<input value="1" type="checkbox" name="allowUserAgent" title="Do not spoof user agent string when checked"<%=(editBean.getAllowUserAgent(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Do not spoof User-Agent header")%>
<label><input value="1" type="checkbox" name="allowUserAgent" title="Do not spoof user agent string when checked"<%=(editBean.getAllowUserAgent(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Do not spoof User-Agent header")%></label>
</td>
<td>
<input value="1" type="checkbox" name="allowReferer" title="Do not block referer header when checked"<%=(editBean.getAllowReferer(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Do not block Referer header")%>
<label><input value="1" type="checkbox" name="allowReferer" title="Do not block referer header when checked"<%=(editBean.getAllowReferer(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Do not block Referer header")%></label>
</td>
</tr>
<tr>
<td>
<input value="1" type="checkbox" name="allowAccept" title="Do not block accept headers when checked"<%=(editBean.getAllowAccept(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Do not block Accept headers")%>
<label><input value="1" type="checkbox" name="allowAccept" title="Do not block accept headers when checked"<%=(editBean.getAllowAccept(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Do not block Accept headers")%></label>
</td>
<td>
<input value="1" type="checkbox" name="allowInternalSSL" title="Allow SSL to I2P addresses when checked"<%=(editBean.getAllowInternalSSL(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Allow SSL to I2P addresses")%>
<label><input value="1" type="checkbox" name="allowInternalSSL" title="Allow SSL to I2P addresses when checked"<%=(editBean.getAllowInternalSSL(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Allow SSL to I2P addresses")%></label>
</td>
</tr>
<% } // if httpclient %>
@ -594,16 +594,16 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<tr>
<td colspan="2">
<span class="multiOption">
<input value="0" type="radio" name="sigType" title="Default"<%=(currentSigType==0 ? " checked=\"checked\"" : "")%> class="tickbox" />
DSA-SHA1
<label><input value="0" type="radio" name="sigType" title="Default"<%=(currentSigType==0 ? " checked=\"checked\"" : "")%> class="tickbox" />
DSA-SHA1</label>
</span>
<% if (editBean.isSigTypeAvailable(1)) { %>
<span class="multiOption">
<input value="1" type="radio" name="sigType" title="Advanced users only"<%=(currentSigType==1 ? " checked=\"checked\"" : "")%> class="tickbox" />
ECDSA-P256
<label><input value="1" type="radio" name="sigType" title="Advanced users only"<%=(currentSigType==1 ? " checked=\"checked\"" : "")%> class="tickbox" />
ECDSA-P256</label>
</span>
@ -612,16 +612,16 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
if (editBean.isSigTypeAvailable(2)) { %>
<span class="multiOption">
<input value="2" type="radio" name="sigType" title="Advanced users only"<%=(currentSigType==2 ? " checked=\"checked\"" : "")%> class="tickbox" />
ECDSA-P384
<label><input value="2" type="radio" name="sigType" title="Advanced users only"<%=(currentSigType==2 ? " checked=\"checked\"" : "")%> class="tickbox" />
ECDSA-P384</label>
</span>
<% }
if (editBean.isSigTypeAvailable(3)) { %>
<span class="multiOption">
<input value="3" type="radio" name="sigType" title="Advanced users only"<%=(currentSigType==3 ? " checked=\"checked\"" : "")%> class="tickbox" />
ECDSA-P521
<label><input value="3" type="radio" name="sigType" title="Advanced users only"<%=(currentSigType==3 ? " checked=\"checked\"" : "")%> class="tickbox" />
ECDSA-P521</label>
</span>
@ -629,8 +629,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
if (editBean.isSigTypeAvailable(7)) { %>
<span class="multiOption">
<input value="7" type="radio" name="sigType" title="Advanced users only"<%=(currentSigType==7 ? " checked=\"checked\"" : "")%> class="tickbox" />
Ed25519-SHA-512
<label><input value="7" type="radio" name="sigType" title="Advanced users only"<%=(currentSigType==7 ? " checked=\"checked\"" : "")%> class="tickbox" />
Ed25519-SHA-512</label>
</span>
</td>
</tr>
@ -646,8 +646,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
</tr>
<tr>
<td colspan="2">
<input value="1" type="checkbox" name="proxyAuth" title="Check to require authorization for this service"<%=(editBean.getProxyAuth(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Require local authorization for this service")%>
<label><input value="1" type="checkbox" name="proxyAuth" title="Check to require authorization for this service"<%=(editBean.getProxyAuth(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Require local authorization for this service")%></label>
</td>
</tr>
@ -669,8 +669,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
</tr>
<tr>
<td colspan="2">
<input value="1" type="checkbox" id="startOnLoad" name="outproxyAuth" title="Check if the outproxy requires authorization"<%=(editBean.getOutproxyAuth(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Outproxy requires authorization")%>
<label><input value="1" type="checkbox" id="startOnLoad" name="outproxyAuth" title="Check if the outproxy requires authorization"<%=(editBean.getOutproxyAuth(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Outproxy requires authorization")%></label>
</td>
</tr>

View File

@ -113,8 +113,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
</td>
<td>
<input value="1" type="checkbox" name="startOnLoad" title="Start Tunnel Automatically"<%=(editBean.startAutomatically(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Automatically start tunnel when router starts")%>
<label><input value="1" type="checkbox" name="startOnLoad" title="Start Tunnel Automatically"<%=(editBean.startAutomatically(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Automatically start tunnel when router starts")%></label>
</td>
</tr>
@ -153,8 +153,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<tr>
<td colspan="2">
<input value="1" type="checkbox" name="useSSL" title="Use SSL to connect to target" <%=(editBean.isSSLEnabled(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Use SSL to connect to target")%>
<label><input value="1" type="checkbox" name="useSSL" title="Use SSL to connect to target" <%=(editBean.isSSLEnabled(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Use SSL to connect to target")%></label>
<% } /* !streamrserver */ %>
</td>
<% if ("httpbidirserver".equals(tunnelType)) { %>
@ -437,8 +437,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<tr>
<td colspan="2">
<input value="1" type="checkbox" id="startOnLoad" name="encrypt" title="ONLY clients with the encryption key will be able to connect"<%=(editBean.getEncrypt(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Only allow clients with the encryption key to connect to this server")%>
<label><input value="1" type="checkbox" id="startOnLoad" name="encrypt" title="ONLY clients with the encryption key will be able to connect"<%=(editBean.getEncrypt(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Only allow clients with the encryption key to connect to this server")%></label>
</td>
</tr>
@ -471,12 +471,12 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<tr>
<td colspan="2">
<% /* can't use <label> here */ %>
<span class="multiOption"><input value="0" type="radio" name="accessMode" title="<%=intl._t("Allow all clients")%>"<%=(editBean.getAccessMode(curTunnel).equals("0") ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Disable")%></span>
<span class="multiOption"><input value="2" type="radio" name="accessMode" title="<%=intl._t("Reject listed clients")%>"<%=(editBean.getAccessMode(curTunnel).equals("2") ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Blacklist")%></span>
<span class="multiOption"><input value="1" type="radio" name="accessMode" title="<%=intl._t("Allow listed clients only")%>"<%=(editBean.getAccessMode(curTunnel).equals("1") ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Whitelist")%></span>
<span class="multiOption"><label><input value="0" type="radio" name="accessMode" title="<%=intl._t("Allow all clients")%>"<%=(editBean.getAccessMode(curTunnel).equals("0") ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Disable")%></label></span>
<span class="multiOption"><label><input value="2" type="radio" name="accessMode" title="<%=intl._t("Reject listed clients")%>"<%=(editBean.getAccessMode(curTunnel).equals("2") ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Blacklist")%></label></span>
<span class="multiOption"><label><input value="1" type="radio" name="accessMode" title="<%=intl._t("Allow listed clients only")%>"<%=(editBean.getAccessMode(curTunnel).equals("1") ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Whitelist")%></label></span>
</td>
</tr>
@ -503,20 +503,20 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<tr>
<td>
<input value="1" type="checkbox" name="rejectInproxy" title="<%=intl._t("Deny inproxy access when enabled")%>" <%=(editBean.isRejectInproxy(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Block Access via Inproxies")%>
<label><input value="1" type="checkbox" name="rejectInproxy" title="<%=intl._t("Deny inproxy access when enabled")%>" <%=(editBean.isRejectInproxy(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Block Access via Inproxies")%></label>
</td>
<td>
<input value="1" type="checkbox" name="rejectReferer" title="<%=intl._t("Deny accesseses with referers (probably from inproxies)")%>" <%=(editBean.isRejectReferer(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Block Accesses containing Referers")%>
<label><input value="1" type="checkbox" name="rejectReferer" title="<%=intl._t("Deny accesseses with referers (probably from inproxies)")%>" <%=(editBean.isRejectReferer(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Block Accesses containing Referers")%></label>
</td>
</tr>
<tr>
<td>
<input value="1" type="checkbox" name="rejectUserAgents" title="<%=intl._t("Deny User-Agents matching these strings (probably from inproxies)")%>" <%=(editBean.isRejectUserAgents(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Block these User-Agents")%>
<label><input value="1" type="checkbox" name="rejectUserAgents" title="<%=intl._t("Deny User-Agents matching these strings (probably from inproxies)")%>" <%=(editBean.isRejectUserAgents(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Block these User-Agents")%></label>
</td>
<td>
@ -528,13 +528,13 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<tr>
<td>
<input value="1" type="checkbox" name="uniqueLocal" title="<%=intl._t("Use unique IP addresses for each connecting client (local non-SSL servers only)")%>" <%=(editBean.getUniqueLocal(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Unique Local Address per Client")%>
<label><input value="1" type="checkbox" name="uniqueLocal" title="<%=intl._t("Use unique IP addresses for each connecting client (local non-SSL servers only)")%>" <%=(editBean.getUniqueLocal(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Unique Local Address per Client")%></label>
</td>
<td>
<input value="1" type="checkbox" name="multihome" title="<%=intl._t("Only enable if you are hosting this service on multiple routers")%>" <%=(editBean.getMultihome(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Optimize for Multihoming")%>
<label><input value="1" type="checkbox" name="multihome" title="<%=intl._t("Only enable if you are hosting this service on multiple routers")%>" <%=(editBean.getMultihome(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Optimize for Multihoming")%></label>
</td>
</tr>
@ -673,8 +673,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<tr>
<td colspan="2">
<input value="1" type="checkbox" id="startOnLoad" name="reduce" title="Reduce Tunnels"<%=(editBean.getReduce(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Reduce tunnel quantity when idle to conserve resources")%>
<label><input value="1" type="checkbox" id="startOnLoad" name="reduce" title="Reduce Tunnels"<%=(editBean.getReduce(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<%=intl._t("Reduce tunnel quantity when idle to conserve resources")%></label>
</td>
</tr>
<tr>
@ -747,31 +747,31 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<tr>
<td colspan="2">
<span class="multiOption">
<input value="0" type="radio" id="startOnLoad" name="sigType" title="Default"<%=(currentSigType==0 ? " checked=\"checked\"" : "")%> class="tickbox" />
DSA-SHA1
<label><input value="0" type="radio" id="startOnLoad" name="sigType" title="Default"<%=(currentSigType==0 ? " checked=\"checked\"" : "")%> class="tickbox" />
DSA-SHA1</label>
</span>
<% if (editBean.isSigTypeAvailable(1)) { %>
<span class="multiOption">
<input value="1" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(currentSigType==1 ? " checked=\"checked\"" : "")%> class="tickbox" />
ECDSA-P256
<label><input value="1" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(currentSigType==1 ? " checked=\"checked\"" : "")%> class="tickbox" />
ECDSA-P256</label>
</span>
<% }
if (editBean.isSigTypeAvailable(2)) { %>
<span class="multiOption">
<input value="2" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(currentSigType==2 ? " checked=\"checked\"" : "")%> class="tickbox" />
ECDSA-P384
<label><input value="2" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(currentSigType==2 ? " checked=\"checked\"" : "")%> class="tickbox" />
ECDSA-P384</label>
</span>
<% }
if (editBean.isSigTypeAvailable(3)) { %>
<span class="multiOption">
<input value="3" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(currentSigType==3 ? " checked=\"checked\"" : "")%> class="tickbox" />
ECDSA-P521
<label><input value="3" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(currentSigType==3 ? " checked=\"checked\"" : "")%> class="tickbox" />
ECDSA-P521</label>
</span>
<% }
if (editBean.isSigTypeAvailable(7)) { %>
<span class="multiOption">
<input value="7" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(currentSigType==7 ? " checked=\"checked\"" : "")%> class="tickbox" />
Ed25519-SHA-512
<label><input value="7" type="radio" id="startOnLoad" name="sigType" title="Advanced users only"<%=(currentSigType==7 ? " checked=\"checked\"" : "")%> class="tickbox" />
Ed25519-SHA-512</label>
</span>
<% } // isAvailable %>

View File

@ -35,7 +35,7 @@
</head>
<body id="tunnelListPage">
<div class="panel">
<div class="panel" id="messages">
<h2><%=intl._t("Status Messages")%></h2>
<table id="statusMessagesTable">
<tr>
@ -78,7 +78,7 @@
</table>
</div>
<div class="panel">
<div class="panel" id="servers">
<h2><%=intl._t("I2P Hidden Services")%></h2>
@ -193,7 +193,9 @@
</td>
</tr>
</table>
</div>
<div class="panel" id="clients">
<h2><%=intl._t("I2P Client Tunnels")%></h2>
<table id="clientTunnels">

View File

@ -114,12 +114,12 @@
<tr>
<td class="options">
<span class="multiOption" id="isServer">
<input value="false" type="radio" id="baseType" name="isClient" class="tickbox" />
&nbsp;<%=intl._t("Server Tunnel")%>
<label><input value="false" type="radio" id="baseType" name="isClient" class="tickbox" />
&nbsp;<%=intl._t("Server Tunnel")%></label>
</span>
<span class="multiOption" id="isClient">
<input value="true" type="radio" id="baseType" name="isClient" class="tickbox" checked="checked" />
&nbsp;<%=intl._t("Client Tunnel")%>
<label><input value="true" type="radio" id="baseType" name="isClient" class="tickbox" checked="checked" />
&nbsp;<%=intl._t("Client Tunnel")%></label>
</span>
</td>
</tr>
@ -456,8 +456,8 @@
</tr>
<tr>
<td class="options">
<input value="1" type="checkbox" id="startOnLoad" name="startOnLoad" title="Start Tunnel Automatically"<%=("1".equals(request.getParameter("startOnLoad")) ? " checked=\"checked\"" : "")%> class="tickbox" />
&nbsp;<%=intl._t("Automatically start tunnel when router starts")%>
<label><input value="1" type="checkbox" id="startOnLoad" name="startOnLoad" title="Start Tunnel Automatically"<%=("1".equals(request.getParameter("startOnLoad")) ? " checked=\"checked\"" : "")%> class="tickbox" />
&nbsp;<%=intl._t("Automatically start tunnel when router starts")%></label>
</td>
</tr>
<%

View File

@ -327,7 +327,7 @@ public class ConfigClientsHelper extends HelperBase {
boolean showEditButton, boolean showUpdateButton, boolean showStopButton,
boolean showDeleteButton, boolean showStartButton) {
String escapedName = DataHelper.escapeHTML(name);
buf.append("<tr><td class=\"mediumtags\" align=\"right\" width=\"25%\">");
buf.append("<tr><td align=\"right\">");
if (urlify && enabled) {
String link = "/";
if (! RouterConsoleRunner.ROUTERCONSOLE.equals(name))
@ -340,15 +340,15 @@ public class ConfigClientsHelper extends HelperBase {
buf.append("\" >");
} else {
if (name.length() > 0)
buf.append(_t(escapedName));
buf.append("<label for=\"").append(index).append("\">").append(_t(escapedName)).append("</label>");
}
buf.append("</td><td align=\"center\" width=\"10%\"><input type=\"checkbox\" class=\"optbox\" name=\"").append(index).append(".enabled\"");
buf.append("</td><td align=\"center\"><input type=\"checkbox\" class=\"optbox\" id=\"").append(index).append("\" name=\"").append(index).append(".enabled\"");
if (enabled) {
buf.append(CHECKED);
if (ro || preventDisable)
buf.append("disabled=\"disabled\" ");
}
buf.append("></td><td align=\"center\" width=\"15%\">");
buf.append("></td><td align=\"center\">");
if (showStartButton && (!ro) && !edit) {
buf.append("<button type=\"submit\" title=\"").append(_t("Start")).append("\" class=\"control accept\" name=\"action\" value=\"Start ").append(index).append("\" >")
@ -373,7 +373,7 @@ public class ConfigClientsHelper extends HelperBase {
.append("')) { return false; }\">")
.append(_t("Delete")).append("<span class=hide> ").append(index).append("</span></button>");
}
buf.append("</td><td align=\"left\" width=\"50%\">");
buf.append("</td><td align=\"left\">");
if (edit && !ro) {
buf.append("<input type=\"text\" size=\"80\" spellcheck=\"false\" name=\"nofilter_desc").append(index).append("\" value=\"");
buf.append(escapedDesc);

View File

@ -42,9 +42,9 @@ public class ConfigLoggingHelper extends HelperBase {
buf.append(prefix).append('=').append(level).append('\n');
}
buf.append("</textarea><br>\n");
buf.append("<p style=\"margin: 0px 12px\"><i>").append(_t("Add additional logging statements above. Example: net.i2p.router.tunnel=WARN")).append("</i><br>");
buf.append("<i>").append(_t("Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN")).append("</i><br>");
buf.append("<i>").append(_t("Valid levels are DEBUG, INFO, WARN, ERROR, CRIT")).append("</i></p>\n");
buf.append("<p>").append(_t("Add additional logging statements above. Example: net.i2p.router.tunnel=WARN")).append("<br>");
buf.append(_t("Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN")).append("<br>");
buf.append(_t("Valid levels are DEBUG, INFO, WARN, ERROR, CRIT")).append("</p>\n");
/****
// this is too big and ugly

View File

@ -94,7 +94,7 @@ public class ConfigTunnelsHelper extends HelperBase {
// tunnel depth
int maxLength = advanced ? MAX_ADVANCED_LENGTH : MAX_LENGTH;
buf.append("<tr><td align=\"right\" class=\"mediumtags\">" + _t("Length") + ":</td>\n");
buf.append("<tr><td align=\"right\"><b>" + _t("Length") + ":</b></td>\n");
buf.append("<td align=\"center\"><select name=\"").append(index).append(".depthInbound\">\n");
int now = in.getLength();
renderOptions(buf, 0, maxLength, now, "", HOP);
@ -111,7 +111,7 @@ public class ConfigTunnelsHelper extends HelperBase {
buf.append("</tr>\n");
// tunnel depth variance
buf.append("<tr><td align=\"right\" class=\"mediumtags\">" + _t("Randomization") + ":</td>\n");
buf.append("<tr><td align=\"right\"><b>" + _t("Randomization") + ":</b></td>\n");
buf.append("<td align=\"center\"><select name=\"").append(index).append(".varianceInbound\">\n");
now = in.getLengthVariance();
renderOptions(buf, 0, 0, now, "", HOP);
@ -136,7 +136,7 @@ public class ConfigTunnelsHelper extends HelperBase {
// tunnel quantity
int maxQuantity = advanced ? MAX_ADVANCED_QUANTITY : MAX_QUANTITY;
buf.append("<tr><td align=\"right\" class=\"mediumtags\">" + _t("Quantity") + ":</td>\n");
buf.append("<tr><td align=\"right\"><b>" + _t("Quantity") + ":</b></td>\n");
buf.append("<td align=\"center\"><select name=\"").append(index).append(".quantityInbound\">\n");
now = in.getQuantity();
renderOptions(buf, 1, maxQuantity, now, "", TUNNEL);
@ -154,7 +154,7 @@ public class ConfigTunnelsHelper extends HelperBase {
// tunnel backup quantity
int maxBQuantity = advanced ? MAX_ADVANCED_BACKUP_QUANTITY : MAX_BACKUP_QUANTITY;
buf.append("<tr><td align=\"right\" class=\"mediumtags\">" + _t("Backup quantity") + ":</td>\n");
buf.append("<tr><td align=\"right\"><b>" + _t("Backup quantity") + ":</b></td>\n");
buf.append("<td align=\"center\"><select name=\"").append(index).append(".backupInbound\">\n");
now = in.getBackupQuantity();
renderOptions(buf, 0, maxBQuantity, now, "", TUNNEL);
@ -176,7 +176,7 @@ public class ConfigTunnelsHelper extends HelperBase {
// And let's not display them at all unless they have contents, which should be rare.
Properties props = in.getUnknownOptions();
if (!props.isEmpty()) {
buf.append("<tr><td align=\"right\" class=\"mediumtags\">" + _t("Inbound options") + ":</td>\n" +
buf.append("<tr><td align=\"right\"><b>" + _t("Inbound options") + ":</b></td>\n" +
"<td colspan=\"2\" align=\"center\"><input name=\"").append(index);
buf.append(".inboundOptions\" type=\"text\" size=\"32\" disabled=\"disabled\" " +
"value=\"");
@ -188,7 +188,7 @@ public class ConfigTunnelsHelper extends HelperBase {
}
props = out.getUnknownOptions();
if (!props.isEmpty()) {
buf.append("<tr><td align=\"right\" class=\"mediumtags\">" + _t("Outbound options") + ":</td>\n" +
buf.append("<tr><td align=\"right\"><b>" + _t("Outbound options") + ":</b></td>\n" +
"<td colspan=\"2\" align=\"center\"><input name=\"").append(index);
buf.append(".outboundOptions\" type=\"text\" size=\"32\" disabled=\"disabled\" " +
"value=\"");

View File

@ -26,24 +26,24 @@ public class ConfigUIHelper extends HelperBase {
}
boolean universalTheming = _context.getBooleanProperty(CSSHelper.PROP_UNIVERSAL_THEMING);
buf.append("</div><div id=\"themeoptions\">");
buf.append("<input type=\"checkbox\" name=\"universalTheming\" ");
buf.append("<label><input type=\"checkbox\" name=\"universalTheming\" ");
if (universalTheming)
buf.append(CHECKED);
buf.append("value=\"1\">")
.append(_t("Set theme universally across all apps"))
.append("<br>\n");
.append("</label><br>\n");
return buf.toString();
}
public String getForceMobileConsole() {
StringBuilder buf = new StringBuilder(256);
boolean forceMobileConsole = _context.getBooleanProperty(CSSHelper.PROP_FORCE_MOBILE_CONSOLE);
buf.append("<input type=\"checkbox\" name=\"forceMobileConsole\" ");
buf.append("<label><input type=\"checkbox\" name=\"forceMobileConsole\" ");
if (forceMobileConsole)
buf.append(CHECKED);
buf.append("value=\"1\">")
.append(_t("Force the mobile console to be used"))
.append("</div>\n");
.append("</label></div>\n");
return buf.toString();
}
@ -190,17 +190,23 @@ public class ConfigUIHelper extends HelperBase {
buf.append(_t("Add a user and password to enable."));
buf.append("</td></tr>");
} else {
buf.append("<tr><th>")
buf.append("<tr><th title=\"")
.append(_t("Mark for deletion"))
.append("\">")
.append(_t("Remove"))
.append("</th><th>")
.append(_t("Username"))
.append("</th><th>&nbsp;</th></tr>\n");
for (String name : userpw.keySet()) {
buf.append("<tr><td align=\"center\"><input type=\"checkbox\" class=\"optbox\" name=\"delete_")
buf.append("<tr><td align=\"center\"><input type=\"checkbox\" class=\"optbox\" id=\"")
.append(name)
.append("\"></td><td colspan=\"2\">")
.append("\" name=\"delete_")
.append(name)
.append("</td></tr>\n");
.append("\"></td><td colspan=\"2\"><label for=\"")
.append(name)
.append("\">")
.append(name)
.append("</label></td></tr>\n");
}
}
buf.append("<tr><td id=\"pw_adduser\" align=\"left\" colspan=\"3\">")

View File

@ -76,27 +76,27 @@ public class ConfigUpdateHelper extends HelperBase {
public String getUpdateThroughProxy() {
if (_context.getProperty(ConfigUpdateHandler.PROP_SHOULD_PROXY, ConfigUpdateHandler.DEFAULT_SHOULD_PROXY))
return "<input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"updateThroughProxy\" checked=\"checked\" >";
return "<input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"updateThroughProxy\" id=\"updateThroughProxy\" checked=\"checked\" >";
else
return "<input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"updateThroughProxy\" >";
return "<input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"updateThroughProxy\" id=\"updateThroughProxy\" >";
}
/** @since 0.9.9 */
public String getNewsThroughProxy() {
if (_context.getProperty(ConfigUpdateHandler.PROP_SHOULD_PROXY_NEWS, ConfigUpdateHandler.DEFAULT_SHOULD_PROXY_NEWS))
return "<input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"newsThroughProxy\" checked=\"checked\" >";
return "<input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"newsThroughProxy\" id=\"newsThroughProxy\" checked=\"checked\" >";
else
return "<input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"newsThroughProxy\" >";
return "<input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"newsThroughProxy\" id=\"newsThroughProxy\" >";
}
public String getUpdateUnsigned() {
return "<input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"updateUnsigned\" " +
return "<input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"updateUnsigned\" id=\"updateUnsigned\" " +
getChecked(ConfigUpdateHandler.PROP_UPDATE_UNSIGNED) + '>';
}
/** @since 0.9.20 */
public String getUpdateDevSU3() {
return "<input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"updateDevSU3\" " +
return "<input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"updateDevSU3\" id=\"updateDevSU3\" " +
getChecked(ConfigUpdateHandler.PROP_UPDATE_DEV_SU3) + '>';
}

View File

@ -102,13 +102,13 @@ public class EventLogHelper extends FormHandler {
_out.write("<br><h3 id=\"displayevents\">" + _t("Display Events") + "</h3>");
_out.write("<form action=\"events\" method=\"POST\">\n" +
"<input type=\"hidden\" name=\"action\" value=\"save\">\n" +
"<input type=\"hidden\" name=\"nonce\" value=\"" + nonce + "\" >\n");
_out.write(_t("Events since") + ": <select name=\"from\">");
"<input type=\"hidden\" name=\"nonce\" value=\"" + nonce + "\" >\n<b>");
_out.write(_t("Events since") + ":</b> <select name=\"from\">");
for (int i = 0; i < _times.length; i++) {
writeOption(_times[i]);
}
_out.write("</select>&nbsp;");
_out.write(_t("Event type") + ": <select name=\"type\">");
_out.write("</select>&nbsp;<b>");
_out.write(_t("Event type") + ":</b> <select name=\"type\">");
// sorted by translated display string
Map<String, String> events = new TreeMap<String, String>(Collator.getInstance());
for (int i = 0; i < _events.length; i += 2) {

View File

@ -360,8 +360,8 @@ public class GraphHelper extends FormHandler {
"<input type=\"hidden\" name=\"nonce\" value=\"" + nonce + "\" >\n");
_out.write(_t("Display period") + ":</td><td colspan=\"2\"><input size=\"5\" style=\"text-align: right;\" type=\"text\" name=\"periodCount\" value=\"" + _periodCount + "\">" + _t("minutes") + "</td></tr><tr><td>\n");
_out.write(_t("Plot type") + ":</td><td colspan=\"2\">");
_out.write("<input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"false\" " + (_showEvents ? "" : HelperBase.CHECKED) + ">" + _t("Averages") + "&nbsp;&nbsp;&nbsp;");
_out.write ("<input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"true\" "+ (_showEvents ? HelperBase.CHECKED : "") + ">" + _t("Events") + "</td></tr><tr><td>\n");
_out.write("<label><input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"false\" " + (_showEvents ? "" : HelperBase.CHECKED) + ">" + _t("Averages") + "</label>&nbsp;&nbsp;&nbsp;");
_out.write ("<label><input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"true\" "+ (_showEvents ? HelperBase.CHECKED : "") + ">" + _t("Events") + "</label></td></tr><tr><td>\n");
_out.write(_t("Graph size") + ":</td><td><input size=\"4\" style=\"text-align: right;\" type=\"text\" name=\"width\" value=\"" + _width
+ "\">" + _t("pixels wide") + "&nbsp;&nbsp;&nbsp;<input size=\"4\" style=\"text-align: right;\" type=\"text\" name=\"height\" value=\"" + _height
+ "\">" + _t("pixels high") + "</td><td class=\"infohelp\">" + _t("Note: Dimensions are for graph only (excludes title, labels and legend).") + "</td></tr><tr><td>\n");
@ -380,11 +380,11 @@ public class GraphHelper extends FormHandler {
_out.write("</option>\n");
}
_out.write("</select></td></tr><tr><td>\n" + _t("Persistence") +
":</td><td colspan=\"2\"><input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"persistent\"");
":</td><td colspan=\"2\"><label><input type=\"checkbox\" class=\"optbox\" value=\"true\" name=\"persistent\"");
boolean persistent = _context.getBooleanPropertyDefaultTrue(SummaryListener.PROP_PERSISTENT);
if (persistent)
_out.write(HelperBase.CHECKED);
_out.write(">" + _t("Store graph data on disk") + "</td></tr></table>" +
_out.write(">" + _t("Store graph data on disk") + "</label></td></tr></table>" +
"<hr><div class=\"formaction\" id=\"graphing\"><input type=\"submit\" class=\"accept\" value=\"" + _t("Save settings and redraw graphs") + "\"></div></form>");
} catch (IOException ioe) {
ioe.printStackTrace();

View File

@ -212,7 +212,9 @@ public class HomeHelper extends HelperBase {
private String renderConfig(Collection<App> apps) {
StringBuilder buf = new StringBuilder(1024);
buf.append("<table class=\"homelinkedit\"><tr><th title=\"Mark for deletion\">")
buf.append("<table class=\"homelinkedit\"><tr><th title=\"")
.append(_t("Mark for deletion"))
.append("\">")
.append(_t("Remove"))
.append("</th><th></th><th>")
.append(_t("Name"))
@ -221,12 +223,16 @@ public class HomeHelper extends HelperBase {
.append("</th></tr>\n");
for (App app : apps) {
buf.append("<tr><td align=\"center\"><input type=\"checkbox\" class=\"optbox\" name=\"delete_")
.append(app.name)
.append("\" id=\"")
.append(app.name)
.append("\"></td><td align=\"center\">");
if (app.icon != null) {
buf.append("<img height=\"16\" alt=\"\" src=\"").append(app.icon).append("\">");
}
buf.append("</td><td align=\"left\">")
buf.append("</td><td align=\"left\"><label for=\"")
.append(app.name)
.append("\">")
.append(DataHelper.escapeHTML(app.name))
.append("</td><td align=\"left\"><a href=\"");
String url = DataHelper.escapeHTML(app.url);

View File

@ -258,7 +258,7 @@ public class NetDbHelper extends HelperBase {
"<tr><td>Router Version:</td><td><input type=\"text\" name=\"v\"></td><td></td></tr>\n" +
"<tr><td colspan=\"3\" class=\"subheading\"><b>Add Sybil analysis (must pick one above):</b></td></tr>\n" +
"<tr><td>Sybil close to:</td><td><input type=\"text\" name=\"sybil2\"></td><td>Router hash, dest hash, b32, or from address book</td>\n" +
"<tr><td>or Sybil close to this router:</td><td><input type=\"checkbox\" class=\"optbox\" value=\"1\" name=\"sybil\"></td><td></td></tr>\n" +
"<tr><td><label for=\"closetorouter\">or Sybil close to this router:</label></td><td><input type=\"checkbox\" class=\"optbox\" value=\"1\" name=\"sybil\" id=\"closetorouter\"></td><td></td></tr>\n" +
"<tr><td colspan=\"3\" class=\"optionsave\"><button type=\"submit\" class=\"search\" value=\"Lookup\">Lookup</button></td></tr>\n" +
"</table>\n</form>\n");
}

View File

@ -85,7 +85,7 @@ class ProfileOrganizerRenderer {
if (standard > 0)
buf.append("<a href=\"/profiles?f=1\">").append(ngettext("Hiding 1 standard profile.", "Hiding {0} standard profiles.", standard)).append("</a>\n");
buf.append("</p>");
buf.append("<table id=\"profiles\">");
buf.append("<div class=\"widescroll\"><table id=\"profilelist\">");
buf.append("<tr>");
buf.append("<th>").append(_t("Peer")).append("</th>");
buf.append("<th>").append(_t("Groups")).append("</th>");
@ -191,7 +191,7 @@ class ProfileOrganizerRenderer {
out.write(buf.toString());
buf.setLength(0);
}
buf.append("</table>");
buf.append("</table></div>");
////
//// don't bother reindenting
@ -312,8 +312,8 @@ class ProfileOrganizerRenderer {
buf.append("<tr><td>&nbsp;</td>")
.append("<td><b>X:</b></td><td>").append(_t("Over {0} shared bandwidth", "2000KBps")).append("</td>")
.append("<td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>");
buf.append("<tr><td>&nbsp;</td><td colspan=\"4\">").append(_t("Note: For P and X bandwidth capabilities, O is included for the purpose of backward compatibility in the NetDB."))
.append("<td>&nbsp;</td></tr>");
buf.append("<tr><td>&nbsp;</td><td colspan=\"5\">").append(_t("Note: For P and X bandwidth tiers, O is included for the purpose of backward compatibility in the NetDB."))
.append("</tr>");
buf.append("</tbody></table></td></tr>"); // profile_defs
buf.append("<tr><td><b>")
.append(_t("speed"))

View File

@ -939,11 +939,15 @@ public class SummaryHelper extends HelperBase {
.append("</th></tr>\n");
for (String section : sections) {
int i = sections.indexOf(section);
buf.append("<tr><td align=\"center\"><input type=\"checkbox\" class=\"optbox\" name=\"delete_")
buf.append("<tr><td align=\"center\"><input type=\"checkbox\" class=\"optbox\" id=\"")
.append(sectionNames.get(section))
.append("\" name=\"delete_")
.append(i)
.append("\"></td><td align=\"left\">")
.append("\"></td><td align=\"left\"><label for=\"")
.append(sectionNames.get(section))
.append("\">")
.append(_t(sectionNames.get(section)))
.append("</td><td align=\"right\"><input type=\"hidden\" name=\"order_")
.append("</label></td><td align=\"right\"><input type=\"hidden\" name=\"order_")
.append(i).append('_').append(section)
.append("\" value=\"")
.append(i)

View File

@ -67,7 +67,7 @@ class TunnelRenderer {
out.write("<h3 class=\"tabletitle\"><a name=\"participating\"></a>" + _t("Participating tunnels") + "</h3>\n");
if (!participating.isEmpty()) {
Collections.sort(participating, new TunnelComparator());
out.write("<table class=\"tunneldisplay\"><tr><th>" + _t("Receive on") + "</th><th>" + _t("From") + "</th><th>"
out.write("<table class=\"tunneldisplay tunnels_participating\"><tr><th>" + _t("Receive on") + "</th><th>" + _t("From") + "</th><th>"
+ _t("Send on") + "</th><th>" + _t("To") + "</th><th>" + _t("Expiration") + "</th>"
+ "<th>" + _t("Usage") + "</th><th>" + _t("Rate") + "</th><th>" + _t("Role") + "</th></tr>\n");
}
@ -163,7 +163,8 @@ class TunnelRenderer {
if (info.getLength() > maxLength)
maxLength = info.getLength();
}
out.write("<table class=\"tunneldisplay\"><tr><th>" + _t("In/Out") + "</th><th>" + _t("Expiry") + "</th><th>" + _t("Usage") + "</th><th>" + _t("Gateway") + "</th>");
out.write("<table class=\"tunneldisplay tunnels_client\"><tr><th title=\"" + _t("Inbound or outbound?") + ("\">") + _t("In/Out")
+ "</th><th>" + _t("Expiry") + "</th><th>" + _t("Usage") + "</th><th>" + _t("Gateway") + "</th>");
if (maxLength > 3) {
out.write("<th align=\"center\" colspan=\"" + (maxLength - 2));
out.write("\">" + _t("Participants") + "</th>");

View File

@ -31,7 +31,7 @@
<tr><td class="infohelp">
<%=intl._t("Floodfill participation helps the network, but may use more of your computer's resources.")%>
</td></tr>
<tr><td>
<tr><td class="infohelp">
<%
if (advancedhelper.isFloodfill()) {
%><%=intl._t("This router is currently a floodfill participant.")%><%
@ -43,12 +43,13 @@
<tr><td>
<input type="hidden" name="nonce" value="<%=pageNonce%>" >
<input type="hidden" name="action" value="ff" >
<input type="radio" class="optbox" name="ff" value="auto" <%=advancedhelper.getFFChecked(2) %> >
<%=intl._t("Automatic")%>&nbsp;
<input type="radio" class="optbox" name="ff" value="true" <%=advancedhelper.getFFChecked(1) %> >
<%=intl._t("Force On")%>&nbsp;
<input type="radio" class="optbox" name="ff" value="false" <%=advancedhelper.getFFChecked(0) %> >
<%=intl._t("Disable")%>
<b><%=intl._t("Enrollment")%>:</b>
<label><input type="radio" class="optbox" name="ff" value="auto" <%=advancedhelper.getFFChecked(2) %> >
<%=intl._t("Automatic")%></label>&nbsp;
<label><input type="radio" class="optbox" name="ff" value="true" <%=advancedhelper.getFFChecked(1) %> >
<%=intl._t("Force On")%></label>&nbsp;
<label><input type="radio" class="optbox" name="ff" value="false" <%=advancedhelper.getFFChecked(0) %> >
<%=intl._t("Disable")%></label>
</td></tr>
<tr><td class="optionsave" align="right">
<input type="submit" name="shouldsave" class="accept" value="<%=intl._t("Save changes")%>" >

View File

@ -36,8 +36,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
</h3>
<p class="infohelp" id="clientconf">
<%=intl._t("The Java clients listed below are started by the router and run in the same JVM.")%>&nbsp;
<%=intl._t("To change other client options, edit the file")%></i><tt>
<%=net.i2p.router.startup.ClientAppConfig.configFile(net.i2p.I2PAppContext.getGlobalContext()).getAbsolutePath()%>.</tt>
<%=intl._t("To change other client options, edit the file")%>
<tt><%=net.i2p.router.startup.ClientAppConfig.configFile(net.i2p.I2PAppContext.getGlobalContext()).getAbsolutePath()%>.</tt>
<%=intl._t("All changes require restart to take effect.")%>
</p>
<p class="infowarn" id="clientconf">

View File

@ -34,9 +34,9 @@
<form action="" method="POST" enctype="multipart/form-data" accept-charset="UTF-8">
<input type="hidden" name="nonce" value="<%=pageNonce%>" >
<tr><th colspan="2"><%=intl._t("Join Existing Router Family")%></th></tr>
<tr><td colspan="2"><%=intl._t("Import the secret family key that you exported from an existing router in the family.")%></td></tr>
<tr><td colspan="2" class="infohelp"><%=intl._t("Import the secret family key that you exported from an existing router in the family.")%></td></tr>
<tr>
<td><%=intl._t("Select secret key file")%>:
<td><b><%=intl._t("Select secret key file")%>:</b>
<input name="file" type="file" value="" />
</td>
<td class="optionsave">

View File

@ -33,8 +33,8 @@ input.default {
<table id="oldhome" class="configtable">
<tr>
<td>
<input type="checkbox" name="oldHome" <jsp:getProperty name="homehelper" property="configHome" /> >
<%=intl._t("Use old home page")%>
<label><input type="checkbox" name="oldHome" <jsp:getProperty name="homehelper" property="configHome" /> >
<%=intl._t("Use old home page")%></label>
</td>
<td class="optionsave">
<input type="submit" name="action" class="accept" value="<%=intl._t("Save")%>" >

View File

@ -39,15 +39,15 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
</td></tr>
<tr><th><%=intl._t("External I2CP (I2P Client Protocol) Interface Configuration")%></th></tr>
<tr><td>
<input type="radio" class="optbox" name="mode" value="1" <%=clientshelper.i2cpModeChecked(1) %> >
<%=intl._t("Enabled without SSL")%><br>
<input type="radio" class="optbox" name="mode" value="2" <%=clientshelper.i2cpModeChecked(2) %> >
<%=intl._t("Enabled with SSL required")%><br>
<input type="radio" class="optbox" name="mode" value="0" <%=clientshelper.i2cpModeChecked(0) %> >
<%=intl._t("Disabled - Clients outside this Java process may not connect")%><br>
<label><input type="radio" class="optbox" name="mode" value="1" <%=clientshelper.i2cpModeChecked(1) %> >
<%=intl._t("Enabled without SSL")%></label><br>
<label><input type="radio" class="optbox" name="mode" value="2" <%=clientshelper.i2cpModeChecked(2) %> >
<%=intl._t("Enabled with SSL required")%></label><br>
<label><input type="radio" class="optbox" name="mode" value="0" <%=clientshelper.i2cpModeChecked(0) %> >
<%=intl._t("Disabled - Clients outside this Java process may not connect")%></label><br>
</td></tr>
<tr><td>
<%=intl._t("I2CP Interface")%>:
<b><%=intl._t("I2CP Interface")%>:</b>
<select name="interface">
<%
String[] ips = clientshelper.intfcAddresses();
@ -63,18 +63,18 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
}
%>
</select>&nbsp;
<%=intl._t("I2CP Port")%>:
<b><%=intl._t("I2CP Port")%>:</b>
<input name="port" type="text" size="5" maxlength="5" value="<jsp:getProperty name="clientshelper" property="port" />" >
</td></tr>
<tr><th><%=intl._t("Authorization")%></th></tr>
<tr><td>
<input type="checkbox" class="optbox" name="auth" value="true" <jsp:getProperty name="clientshelper" property="auth" /> >
<%=intl._t("Require username and password")%><br>
<label><input type="checkbox" class="optbox" name="auth" value="true" <jsp:getProperty name="clientshelper" property="auth" /> >
<%=intl._t("Require username and password")%></label><br>
</td></tr>
<tr><td>
<%=intl._t("Username")%>:
<b><%=intl._t("Username")%>:</b>
<input name="user" type="text" value="" />&nbsp;
<%=intl._t("Password")%>:
<b><%=intl._t("Password")%>:</b>
<input name="nofilter_pw" type="password" value="" />
</td></tr>
<tr><td class="optionsave" align="right">

View File

@ -32,10 +32,10 @@
<%=intl._t("Keys for local destinations must be entered on the")%> <a href="i2ptunnel/"><%=intl._t("I2PTunnel page")%></a>.
</td>
</tr><tr>
<td class="mediumtags" align="right"><%=intl._t("Dest. name, hash, or full key")%>:</td>
<td align="right"><b><%=intl._t("Dest. name, hash, or full key")%>:</b></td>
<td><textarea name="peer" cols="44" rows="1" style="height: 3em;" wrap="off" spellcheck="false"></textarea></td>
</tr><tr>
<td class="mediumtags" align="right"><%=intl._t("Encryption Key")%>:</td>
<td align="right"><b><%=intl._t("Encryption Key")%>:</b></td>
<td><input type="text" size="55" name="key" ></td>
</tr><tr>
<td align="right" colspan="2">

View File

@ -24,35 +24,30 @@
<input type="hidden" name="action" value="blah" >
<h3 class="tabletitle"><%=intl._t("Configure I2P Logging Options")%>&nbsp;<a title="<%=intl._t("View Router Logs")%>" href="/logs">[<%=intl._t("View Logs")%>]</a></h3>
<table id="loggingoptions" border="0" cellspacing="5">
<tr><td class="mediumtags" align="right"><b><%=intl._t("Log file")%>:</b></td>
<tr><td align="right"><b><%=intl._t("Log file")%>:</b></td>
<td><input type="text" name="logfilename" size="40" disabled="disabled" title="<%=intl._t("Edit {0} to change", "logger.config")%>" value="<jsp:getProperty name="logginghelper" property="logFilePattern" />" >
</td>
<td><i><%=intl._t("(the symbol '@' will be replaced during log rotation)")%></i></td>
<td></td>
</tr><tr><td class="mediumtags" align="right"><b><%=intl._t("Log record format")%>:</b></td>
<td><%=intl._t("(the symbol '@' will be replaced during log rotation)")%></td>
</tr><tr><td align="right"><b><%=intl._t("Log record format")%>:</b></td>
<td><input type="text" name="logformat" size="20" value="<jsp:getProperty name="logginghelper" property="recordPattern" />" >
</td>
<td><i><%=intl._t("(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)")%></i></td>
<td></td>
</tr><tr><td class="mediumtags" align="right"><b><%=intl._t("Log date format")%>:</b></td>
<td><%=intl._t("(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)")%></td>
</tr><tr><td align="right"><b><%=intl._t("Log date format")%>:</b></td>
<td><input type="text" name="logdateformat" size="20" value="<jsp:getProperty name="logginghelper" property="datePattern" />" >
</td>
<td><i><%=intl._t("('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)")%></i></td>
<td></td>
</tr><tr><td class="mediumtags" align="right"><b><%=intl._t("Max log file size")%>:</b></td>
<td><%=intl._t("('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)")%></td>
</tr><tr><td align="right"><b><%=intl._t("Max log file size")%>:</b></td>
<td><input type="text" name="logfilesize" size="10" value="<jsp:getProperty name="logginghelper" property="maxFileSize" />" ></td>
<td></td>
<td></td>
</tr><tr><td class="mediumtags" align="right"><b><%=intl._t("Default log level")%>:</b></td>
</tr><tr><td align="right"><b><%=intl._t("Default log level")%>:</b></td>
<td><jsp:getProperty name="logginghelper" property="defaultLogLevelBox" /></td>
<td><i><%=intl._t("(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)")%></i></td>
<td></td>
</tr><tr><td class="mediumtags" align="right"><b><%=intl._t("Log level overrides")%>:</b></td>
<td colspan="3"><jsp:getProperty name="logginghelper" property="logLevelTable" /></td>
</tr><tr><td class="mediumtags" align="right"><b><%=intl._t("New override")%>:</b></td>
<td colspan="3"><jsp:getProperty name="logginghelper" property="newClassBox" /></td>
<td><%=intl._t("(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)")%></td>
</tr><tr><td align="right"><b><%=intl._t("Log level overrides")%>:</b></td>
<td colspan="2"><jsp:getProperty name="logginghelper" property="logLevelTable" /></td>
</tr><tr><td align="right"><b><%=intl._t("New override")%>:</b></td>
<td colspan="2"><jsp:getProperty name="logginghelper" property="newClassBox" /></td>
</tr>
<tr><td class="optionsave" colspan="4">
<tr><td class="optionsave" colspan="3">
<input type="reset" class="cancel" value="<%=intl._t("Cancel")%>" >
<input type="submit" name="shouldsave" class="accept" value="<%=intl._t("Save changes")%>" >
</td></tr></table></form></div></body></html>

View File

@ -35,8 +35,8 @@
</tr>
<tr>
<td>
<input type="checkbox" class="optbox" name="upnp" value="true" <jsp:getProperty name="nethelper" property="upnpChecked" /> >
<%=intl._t("Enable UPnP to open firewall ports")%>
<label><input type="checkbox" class="optbox" name="upnp" value="true" <jsp:getProperty name="nethelper" property="upnpChecked" /> >
<%=intl._t("Enable UPnP to open firewall ports")%></label>
</td>
</tr>
<tr>
@ -44,19 +44,19 @@
</tr>
<tr>
<td>
<%=intl._t("Externally reachable hostname or IP address")%>:<br>
<input type="radio" class="optbox" name="udpAutoIP" value="local,upnp,ssu" <%=nethelper.getUdpAutoIPChecked(3) %> >
<%=intl._t("Use all auto-detect methods")%><br>
<input type="radio" class="optbox" name="udpAutoIP" value="local,ssu" <%=nethelper.getUdpAutoIPChecked(4) %> >
<%=intl._t("Disable UPnP IP address detection")%><br>
<input type="radio" class="optbox" name="udpAutoIP" value="upnp,ssu" <%=nethelper.getUdpAutoIPChecked(5) %> >
<%=intl._t("Ignore local interface IP address")%><br>
<input type="radio" class="optbox" name="udpAutoIP" value="ssu" <%=nethelper.getUdpAutoIPChecked(0) %> >
<%=intl._t("Use SSU IP address detection only")%><br>
<input type="radio" class="optbox" name="udpAutoIP" value="hidden" <%=nethelper.getUdpAutoIPChecked(2) %> >
<%=intl._t("Hidden mode - do not publish IP")%> <i><%=intl._t("(prevents participating traffic)")%></i><br>
<input type="radio" class="optbox" name="udpAutoIP" value="fixed" <%=nethelper.getUdpAutoIPChecked(1) %> >
<%=intl._t("Specify hostname or IP")%>:
<b class="suboption"><%=intl._t("Externally reachable hostname or IP address")%>:</b><br>
<label><input type="radio" class="optbox" name="udpAutoIP" value="local,upnp,ssu" <%=nethelper.getUdpAutoIPChecked(3) %> >
<%=intl._t("Use all auto-detect methods")%></label><br>
<label><input type="radio" class="optbox" name="udpAutoIP" value="local,ssu" <%=nethelper.getUdpAutoIPChecked(4) %> >
<%=intl._t("Disable UPnP IP address detection")%></label><br>
<label><input type="radio" class="optbox" name="udpAutoIP" value="upnp,ssu" <%=nethelper.getUdpAutoIPChecked(5) %> >
<%=intl._t("Ignore local interface IP address")%></label><br>
<label><input type="radio" class="optbox" name="udpAutoIP" value="ssu" <%=nethelper.getUdpAutoIPChecked(0) %> >
<%=intl._t("Use SSU IP address detection only")%></label><br>
<label><input type="radio" class="optbox" name="udpAutoIP" value="hidden" <%=nethelper.getUdpAutoIPChecked(2) %> >
<%=intl._t("Hidden mode - do not publish IP")%> <i><%=intl._t("(prevents participating traffic)")%></i></label><br>
<label><input type="radio" class="optbox" name="udpAutoIP" value="fixed" <%=nethelper.getUdpAutoIPChecked(1) %> >
<%=intl._t("Specify hostname or IP")%>:</label>
<%=nethelper.getAddressSelector() %>
</td>
</tr>
@ -65,9 +65,9 @@
</tr>
<tr>
<td>
<input type="checkbox" class="optbox" name="laptop" value="true" <jsp:getProperty name="nethelper" property="laptopChecked" /> >
<label><input type="checkbox" class="optbox" name="laptop" value="true" <jsp:getProperty name="nethelper" property="laptopChecked" /> >
<%=intl._t("Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity")%>
(<i><%=intl._t("Experimental")%></i>)
(<i><%=intl._t("Experimental")%></i>)</label>
</td>
</tr>
<tr>
@ -75,8 +75,8 @@
</tr>
<tr>
<td>
<input type="checkbox" class="optbox" name="IPv4Firewalled" value="true" <jsp:getProperty name="nethelper" property="IPv4FirewalledChecked" /> >
<%=intl._t("Disable inbound (Firewalled by Carrier-grade NAT or DS-Lite)")%>
<label><input type="checkbox" class="optbox" name="IPv4Firewalled" value="true" <jsp:getProperty name="nethelper" property="IPv4FirewalledChecked" /> >
<%=intl._t("Disable inbound (Firewalled by Carrier-grade NAT or DS-Lite)")%></label>
</td>
</tr>
<tr>
@ -84,19 +84,19 @@
</tr>
<tr>
<td>
<input type="checkbox" class="optbox" name="IPv6Firewalled" value="true" <jsp:getProperty name="nethelper" property="IPv6FirewalledChecked" /> >
<%=intl._t("Disable inbound (Firewalled by Carrier-grade NAT or DS-Lite)")%><br>
<input type="radio" class="optbox" name="ipv6" value="false" <%=nethelper.getIPv6Checked("false") %> >
<%=intl._t("Disable IPv6")%><br>
<input type="radio" class="optbox" name="ipv6" value="enable" <%=nethelper.getIPv6Checked("enable") %> >
<%=intl._t("Enable IPv6")%><br>
<input type="radio" class="optbox" name="ipv6" value="preferIPv4" <%=nethelper.getIPv6Checked("preferIPv4") %> >
<%=intl._t("Prefer IPv4 over IPv6")%><br>
<input type="radio" class="optbox" name="ipv6" value="preferIPv6" <%=nethelper.getIPv6Checked("preferIPv6") %> >
<%=intl._t("Prefer IPv6 over IPv4")%><br>
<input type="radio" class="optbox" name="ipv6" value="only" <%=nethelper.getIPv6Checked("only") %> >
<label><input type="checkbox" class="optbox" name="IPv6Firewalled" value="true" <jsp:getProperty name="nethelper" property="IPv6FirewalledChecked" /> >
<%=intl._t("Disable inbound (Firewalled by Carrier-grade NAT or DS-Lite)")%></label><br>
<label><input type="radio" class="optbox" name="ipv6" value="false" <%=nethelper.getIPv6Checked("false") %> >
<%=intl._t("Disable IPv6")%></label><br>
<label><input type="radio" class="optbox" name="ipv6" value="enable" <%=nethelper.getIPv6Checked("enable") %> >
<%=intl._t("Enable IPv6")%></label><br>
<label><input type="radio" class="optbox" name="ipv6" value="preferIPv4" <%=nethelper.getIPv6Checked("preferIPv4") %> >
<%=intl._t("Prefer IPv4 over IPv6")%></label><br>
<label><input type="radio" class="optbox" name="ipv6" value="preferIPv6" <%=nethelper.getIPv6Checked("preferIPv6") %> >
<%=intl._t("Prefer IPv6 over IPv4")%></label><br>
<label><input type="radio" class="optbox" name="ipv6" value="only" <%=nethelper.getIPv6Checked("only") %> >
<%=intl._t("Use IPv6 only (disable IPv4)")%>
(<i><%=intl._t("Experimental")%></i>)
(<i><%=intl._t("Experimental")%></i>)</label>
</td>
</tr>
<tr>
@ -109,10 +109,10 @@
</tr>
<tr>
<td>
<%=intl._t("UDP port:")%>
<b><%=intl._t("UDP port:")%></b>
<input name ="udpPort" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="configuredUdpPort" />" ><br>
<input type="checkbox" class="optbox" name="disableUDP" value="disabled" <%=nethelper.getUdpDisabledChecked() %> >
<%=intl._t("Completely disable")%> <i><%=intl._t("(select only if behind a firewall that blocks outbound UDP)")%></i>
<label><input type="checkbox" class="optbox" name="disableUDP" value="disabled" <%=nethelper.getUdpDisabledChecked() %> >
<%=intl._t("Completely disable")%> <i><%=intl._t("(select only if behind a firewall that blocks outbound UDP)")%></i></label>
</td>
</tr>
<% /********
@ -129,20 +129,20 @@
</tr>
<tr>
<td>
<%=intl._t("Externally reachable hostname or IP address")%>:<br>
<input type="radio" class="optbox" name="ntcpAutoIP" value="true" <%=nethelper.getTcpAutoIPChecked(2) %> >
<b class="suboption"><%=intl._t("Externally reachable hostname or IP address")%>:</b><br>
<label><input type="radio" class="optbox" name="ntcpAutoIP" value="true" <%=nethelper.getTcpAutoIPChecked(2) %> >
<%=intl._t("Use auto-detected IP address")%>
<i>(<%=intl._t("currently")%> <jsp:getProperty name="nethelper" property="udpIP" />)</i>
<%=intl._t("if we are not firewalled")%><br>
<input type="radio" class="optbox" name="ntcpAutoIP" value="always" <%=nethelper.getTcpAutoIPChecked(3) %> >
<%=intl._t("Always use auto-detected IP address (Not firewalled)")%><br>
<input type="radio" class="optbox" name="ntcpAutoIP" value="false" <%=nethelper.getTcpAutoIPChecked(1) %> >
<%=intl._t("Specify hostname or IP")%>:
<%=intl._t("if we are not firewalled")%></label><br>
<label><input type="radio" class="optbox" name="ntcpAutoIP" value="always" <%=nethelper.getTcpAutoIPChecked(3) %> >
<%=intl._t("Always use auto-detected IP address (Not firewalled)")%></label><br>
<label><input type="radio" class="optbox" name="ntcpAutoIP" value="false" <%=nethelper.getTcpAutoIPChecked(1) %> >
<%=intl._t("Specify hostname or IP")%>:</label>
<input name ="ntcphost" type="text" size="16" value="<jsp:getProperty name="nethelper" property="ntcphostname" />" ><br>
<input type="radio" class="optbox" name="ntcpAutoIP" value="false" <%=nethelper.getTcpAutoIPChecked(0) %> >
<%=intl._t("Disable inbound (Firewalled)")%><br>
<input type="radio" class="optbox" name="ntcpAutoIP" value="disabled" <%=nethelper.getTcpAutoIPChecked(4) %> >
<%=intl._t("Completely disable")%> <i><%=intl._t("(select only if behind a firewall that throttles or blocks outbound TCP)")%></i>
<label><input type="radio" class="optbox" name="ntcpAutoIP" value="false" <%=nethelper.getTcpAutoIPChecked(0) %> >
<%=intl._t("Disable inbound (Firewalled)")%></label><br>
<label><input type="radio" class="optbox" name="ntcpAutoIP" value="disabled" <%=nethelper.getTcpAutoIPChecked(4) %> >
<%=intl._t("Completely disable")%> <i><%=intl._t("(select only if behind a firewall that throttles or blocks outbound TCP)")%></i></label>
</td>
</tr>
<tr>
@ -150,11 +150,11 @@
</tr>
<tr>
<td>
<input type="radio" class="optbox" name="ntcpAutoPort" value="2" <%=nethelper.getTcpAutoPortChecked(2) %> >
<label><input type="radio" class="optbox" name="ntcpAutoPort" value="2" <%=nethelper.getTcpAutoPortChecked(2) %> >
<%=intl._t("Use the same port configured for UDP")%>
<i>(<%=intl._t("currently")%> <jsp:getProperty name="nethelper" property="udpPort" />)</i><br>
<input type="radio" class="optbox" name="ntcpAutoPort" value="1" <%=nethelper.getTcpAutoPortChecked(1) %> >
<%=intl._t("Specify Port")%>:
<i>(<%=intl._t("currently")%> <jsp:getProperty name="nethelper" property="udpPort" />)</i></label><br>
<label><input type="radio" class="optbox" name="ntcpAutoPort" value="1" <%=nethelper.getTcpAutoPortChecked(1) %> >
<%=intl._t("Specify Port")%>:</label>
<input name ="ntcpport" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="ntcpport" />" >
</td>
</tr>

View File

@ -26,7 +26,7 @@
<a name="bonus"> </a>
<h3 class="tabletitle"><%=intl._t("Manual Peer Controls")%></h3>
<table class="configtable">
<tr><td colspan="2"><%=intl._t("Router Hash")%>: <input type="text" size="55" name="peer" value="<%=peer%>" /></td></tr>
<tr><td colspan="2"><b><%=intl._t("Router Hash")%>:</b> <input type="text" size="55" name="peer" value="<%=peer%>" /></td></tr>
<tr><th colspan="2"><%=intl._t("Manually Ban / Unban a Peer")%></th></tr>
<tr><td class="infohelp" colspan="2"><%=intl._t("Banning will prevent the participation of this peer in tunnels you create.")%></td></tr>
<tr>
@ -50,9 +50,9 @@
// get existing bonus values?
}
%>
<td><%=intl._t("Speed")%>:
<td><b><%=intl._t("Speed")%>:</b>
<input type="text" size="8" name="speed" value="<%=speed%>" />
<%=intl._t("Capacity")%>:
<b><%=intl._t("Capacity")%>:</b>
<input type="text" size="8" name="capacity" value="<%=capacity%>" />
</td>
<td class="optionsave">

View File

@ -31,7 +31,7 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
if (clientshelper.showPlugins()) {
if (clientshelper.isPluginUpdateEnabled()) {
%>
<h3 id="pluginconfig"><a name="pconfig"></a><%=intl._t("Plugin Configuration")%></h3><p id="pluginconfigtext">
<h3 id="pconfig"><%=intl._t("Plugin Configuration")%></h3><p id="pluginconfigtext">
<%=intl._t("The plugins listed below are started by the webConsole client.")%>
</p><div class="wideload">
<form action="" method="POST">
@ -57,7 +57,7 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<form action="configplugins" method="POST">
<td>
<input type="hidden" name="nonce" value="<%=pageNonce%>" >
URL:&nbsp;
<b>URL:</b>
<input type="text" size="60" name="pluginURL" title="<%=intl._t("To install a plugin, enter the download URL:")%>" >
</td>
<td class="optionsave" align="right">
@ -74,7 +74,7 @@ input.default { width: 1px; height: 1px; visibility: hidden; }
<form action="configplugins" method="POST" enctype="multipart/form-data" accept-charset="UTF-8">
<td>
<input type="hidden" name="nonce" value="<%=pageNonce%>" >
<%=intl._t("Select xpi2p or su3 file")%>:&nbsp;
<b><%=intl._t("Select xpi2p or su3 file")%>:</b>
<input type="file" name="pluginFile" accept=".xpi2p,.su3" >
</td>
<td class="optionsave" align="right">

View File

@ -39,7 +39,7 @@
<form action="" method="POST">
<input type="hidden" name="nonce" value="<%=pageNonce%>" >
<td>
<%=intl._t("Enter zip or su3 URL")%>:
<b><%=intl._t("Enter zip or su3 URL")%>:</b>
<input name="url" type="text" size="60" value="" />
</td>
<td class="optionsave">
@ -54,7 +54,7 @@
<form action="" method="POST" enctype="multipart/form-data" accept-charset="UTF-8">
<input type="hidden" name="nonce" value="<%=pageNonce%>" >
<td>
<%=intl._t("Select zip or su3 file")%>:
<b><%=intl._t("Select zip or su3 file")%>:</b>
<input name="file" type="file" accept=".zip,.su3" value="" />
</td>
<td class="optionsave">
@ -92,45 +92,45 @@
<%=intl._t("Change these only if HTTPS is blocked by a restrictive firewall and reseed has failed.")%>
</td>
</tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("Reseed URL Selection")%>:</b></td>
<td><input type="radio" class="optbox" name="mode" value="0" <%=reseedHelper.modeChecked(0) %> >
<b><%=intl._t("Try SSL first then non-SSL")%></b><br>
<input type="radio" class="optbox" name="mode" value="1" <%=reseedHelper.modeChecked(1) %> >
<b><%=intl._t("Use SSL only")%></b><br>
<input type="radio" class="optbox" name="mode" value="2" <%=reseedHelper.modeChecked(2) %> >
<b><%=intl._t("Use non-SSL only")%></b></td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("Reseed URLs")%>:</b></td>
<tr><td align="right"><b><%=intl._t("Reseed URL Selection")%>:</b></td>
<td><label><input type="radio" class="optbox" name="mode" value="0" <%=reseedHelper.modeChecked(0) %> >
<%=intl._t("Try SSL first then non-SSL")%></label><br>
<label><input type="radio" class="optbox" name="mode" value="1" <%=reseedHelper.modeChecked(1) %> >
<%=intl._t("Use SSL only")%></label><br>
<label><input type="radio" class="optbox" name="mode" value="2" <%=reseedHelper.modeChecked(2) %> >
<%=intl._t("Use non-SSL only")%></label></td></tr>
<tr><td align="right"><b><%=intl._t("Reseed URLs")%>:</b></td>
<td><textarea wrap="off" name="reseedURL" cols="60" rows="7" spellcheck="false"><jsp:getProperty name="reseedHelper" property="reseedURL" /></textarea>
<div class="formaction" id="resetreseed"><input type="submit" name="action" class="reload" value="<%=intl._t("Reset URL list")%>" /></div>
</td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("Enable HTTP Proxy?")%></b></td>
<td><input type="checkbox" class="optbox" name="enable" value="true" <jsp:getProperty name="reseedHelper" property="enable" /> ></td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("HTTP Proxy Host")%>:</b></td>
<tr><td align="right"><label for="enableproxy"><b><%=intl._t("Enable HTTP Proxy?")%></b></label></td>
<td><input type="checkbox" class="optbox" name="enable" id="enableproxy" value="true" <jsp:getProperty name="reseedHelper" property="enable" /> ></td></tr>
<tr><td align="right"><b><%=intl._t("HTTP Proxy Host")%>:</b></td>
<td><input name="host" type="text" value="<jsp:getProperty name="reseedHelper" property="host" />" ></td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("HTTP Proxy Port")%>:</b></td>
<tr><td align="right"><b><%=intl._t("HTTP Proxy Port")%>:</b></td>
<td><input name="port" type="text" size="5" maxlength="5" value="<jsp:getProperty name="reseedHelper" property="port" />" ></td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("Use HTTP Proxy Authorization?")%></b></td>
<td><input type="checkbox" class="optbox" name="auth" value="true" <jsp:getProperty name="reseedHelper" property="auth" /> ></td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("HTTP Proxy Username")%>:</b></td>
<tr><td align="right"><label for="useproxyauth"><b><%=intl._t("Use HTTP Proxy Authorization?")%></b></label></td>
<td><input type="checkbox" class="optbox" name="auth" id="useproxyauth" value="true" <jsp:getProperty name="reseedHelper" property="auth" /> ></td></tr>
<tr><td align="right"><b><%=intl._t("HTTP Proxy Username")%>:</b></td>
<td><input name="username" type="text" value="<jsp:getProperty name="reseedHelper" property="username" />" ></td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("HTTP Proxy Password")%>:</b></td>
<tr><td align="right"><b><%=intl._t("HTTP Proxy Password")%>:</b></td>
<td><input name="nofilter_password" type="password" value="<jsp:getProperty name="reseedHelper" property="nofilter_password" />" ></td></tr>
<!-- TODO Need SSLEepGet support
<tr><td class="mediumtags" align="right"><b><%=intl._t("Enable HTTPS Proxy?")%></b></td>
<tr><td align="right"><b><%=intl._t("Enable HTTPS Proxy?")%></b></td>
<td><input type="checkbox" class="optbox" name="senable" value="true" <jsp:getProperty name="reseedHelper" property="senable" /> ></td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("HTTPS Proxy Host")%>:</b></td>
<tr><td align="right"><b><%=intl._t("HTTPS Proxy Host")%>:</b></td>
<td><input name="shost" type="text" value="<jsp:getProperty name="reseedHelper" property="shost" />" ></td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("HTTPS Proxy Port")%>:</b></td>
<tr><td align="right"><b><%=intl._t("HTTPS Proxy Port")%>:</b></td>
<td><input name="sport" type="text" size="5" maxlength="5" value="<jsp:getProperty name="reseedHelper" property="sport" />" ></td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("Use HTTPS Proxy Authorization?")%></b></td>
<tr><td align="right"><b><%=intl._t("Use HTTPS Proxy Authorization?")%></b></td>
<td><input type="checkbox" class="optbox" name="sauth" value="true" <jsp:getProperty name="reseedHelper" property="sauth" /> ></td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("HTTPS Proxy Username")%>:</b></td>
<tr><td align="right"><b><%=intl._t("HTTPS Proxy Username")%>:</b></td>
<td><input name="susername" type="text" value="<jsp:getProperty name="reseedHelper" property="susername" />" ></td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("HTTPS Proxy Password")%>:</b></td>
<tr><td align="right"><b><%=intl._t("HTTPS Proxy Password")%>:</b></td>
<td><input name="nofilter_spassword" type="password" value="<jsp:getProperty name="reseedHelper" property="nofilter_spassword" />" ></td></tr>
-->

View File

@ -75,10 +75,10 @@ function toggleAll(category)
<input type="hidden" name="action" value="foo" >
<input type="hidden" name="nonce" value="<%=pageNonce%>" >
<h3 class="ptitle"><%=intl._t("Configure I2P Stat Collection")%>&nbsp;<a class="script" title="<%=intl._t("Toggle full stat collection and all graphing options")%>" href="javascript:void(null);" onclick="toggleAll('*')">[<%=intl._t("toggle all")%>]</a></h3>
<p id="enablefullstats"><b><%=intl._t("Enable full stats?")%></b>
<p id="enablefullstats"><label><b><%=intl._t("Enable full stats?")%></b>
<input type="checkbox" class="optbox" name="isFull" value="true" <%
if (statshelper.getIsFull()) { %>checked="checked" <% } %> >
(<%=intl._t("change requires restart to take effect")%>)<br>
(<%=intl._t("change requires restart to take effect")%>)</label><br>
<%
// stats.log for devs only and grows without bounds, not recommended
@ -120,28 +120,24 @@ Warning - Log with care, stat file grows without limit.<br>
if (shouldShowLog) {
%> <td align="center">
<a name="<%=statshelper.getCurrentStatName()%>"></a>
<input type="checkbox" class="optbox <%=statshelper.getCurrentGroupName()%>" name="statList" value="<%=statshelper.getCurrentStatName()%>" <%
%> <td align="center"><a name="<%=statshelper.getCurrentStatName()%>"></a><input type="checkbox" class="optbox <%=statshelper.getCurrentGroupName()%>" name="statList" value="<%=statshelper.getCurrentStatName()%>" <%
if (statshelper.getCurrentIsLogged()) { %>checked="checked" <% } %> ></td>
<%
} // shouldShowLog
%> <td align="center">
<% if (statshelper.getCurrentCanBeGraphed()) { %>
<input type="checkbox" class="optbox <%=statshelper.getCurrentGroupName()%>" name="graphList" value="<%=statshelper.getCurrentGraphName()%>" <%
if (statshelper.getCurrentIsGraphed()) { %>checked="checked" <% } %> ><% } %></td>
<td align="left"><b><%=statshelper.getCurrentStatName()%>:</b>&nbsp;
<%=statshelper.getCurrentStatDescription()%></td></tr><%
%> <td align="center"><% if (statshelper.getCurrentCanBeGraphed()) { %><input type="checkbox" class="optbox <%=statshelper.getCurrentGroupName()%>" id="<%=statshelper.getCurrentStatName()%>" name="graphList" value="<%=statshelper.getCurrentGraphName()%>" <%
if (statshelper.getCurrentIsGraphed()) { %>checked="checked" <% } %> ><% } %></td> <% // no whitespace here so we can use td:empty to remove css pointer from inert labels %>
<td align="left"><label for="<%=statshelper.getCurrentStatName()%>"><b><%=statshelper.getCurrentStatName()%>:</b>&nbsp;
<%=statshelper.getCurrentStatDescription()%></label></td></tr><%
} // end iterating over all stats
if (shouldShowLog) {
%> <tr><td colspan="3"></td></tr>
<tr><td align="center"><input type="checkbox" class="optbox" name="explicitFilter" ></td>
<td colspan="2"><%=intl._t("Advanced filter")%>:
<input type="text" name="explicitFilterValue" value="<%=statshelper.getExplicitFilter()%>" size="40" ></td></tr>
<tr><td align="center"><label><input type="checkbox" class="optbox" name="explicitFilter" ></td>
<td colspan="2"><%=intl._t("Advanced filter")%>:</label>
<input type="text" name="explicitFilterValue" value="<%=statshelper.getExplicitFilter()%>" size="40" ></td></tr>
<%
} // shouldShowLog

View File

@ -28,50 +28,50 @@
<% if (updatehelper.canInstall()) { %>
<h3 class="tabletitle"><%=intl._t("Check for I2P and News Updates")%></h3>
<table id="i2pupdates" class="configtable" border="0" cellspacing="5">
<tr><td class="mediumtags" align="right"><b><%=intl._t("News &amp; I2P Updates")%>:</b></td>
<tr><td align="right"><b><%=intl._t("News &amp; I2P Updates")%>:</b></td>
<% } else { %>
<h3><%=intl._t("Check for news updates")%></h3>
<table id="i2pupdates" class="configtable" border="0" cellspacing="5">
<tr><td colspan="2"></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("News Updates")%>:</b></td>
<tr><td align="right"><b><%=intl._t("News Updates")%>:</b></td>
<% } // if canInstall %>
<td> <% if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress", "false"))) { %> <i><%=intl._t("Update In Progress")%></i><br> <% } else { %> <input type="submit" name="action" class="check" value="<%=intl._t("Check for updates")%>" />
<% } %></td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("News URL")%>:</b></td>
<tr><td align="right"><b><%=intl._t("News URL")%>:</b></td>
<td><input type="text" size="60" name="newsURL" <% if (!updatehelper.isAdvanced()) { %>readonly="readonly"<% } %> value="<jsp:getProperty name="updatehelper" property="newsURL" />"></td>
</tr><tr><td class="mediumtags" align="right"><b><%=intl._t("Refresh frequency")%>:</b>
</tr><tr><td align="right"><b><%=intl._t("Refresh frequency")%>:</b>
<td><jsp:getProperty name="updatehelper" property="refreshFrequencySelectBox" /></td></tr>
<% if (updatehelper.canInstall()) { %>
<tr><td class="mediumtags" align="right"><b><%=formhandler._t("Update policy")%>:</b></td>
<tr><td align="right"><b><%=formhandler._t("Update policy")%>:</b></td>
<td><jsp:getProperty name="updatehelper" property="updatePolicySelectBox" /></td></tr>
<% } // if canInstall %>
<tr><td class="mediumtags" align="right"><b><%=intl._t("Fetch news through the eepProxy?")%></b></td>
<tr><td align="right"><label for="newsThroughProxy"><b><%=intl._t("Fetch news through the eepProxy?")%></b></label></td>
<td><jsp:getProperty name="updatehelper" property="newsThroughProxy" /></td></tr>
<tr><td class="mediumtags" align="right"><b><%=intl._t("Update through the eepProxy?")%></b></td>
<tr><td align="right"><b><label for="updateThroughProxy"><%=intl._t("Update through the eepProxy?")%></b></label></td>
<td><jsp:getProperty name="updatehelper" property="updateThroughProxy" /></td></tr>
<% if (updatehelper.isAdvanced()) { %>
<tr><td class="mediumtags" align="right"><b><%=intl._t("eepProxy host")%>:</b></td>
<tr><td align="right"><b><%=intl._t("eepProxy host")%>:</b></td>
<td><input type="text" size="10" name="proxyHost" value="<jsp:getProperty name="updatehelper" property="proxyHost" />" /></td>
</tr><tr><td class="mediumtags" align="right"><b><%=intl._t("eepProxy port")%>:</b></td>
</tr><tr><td align="right"><b><%=intl._t("eepProxy port")%>:</b></td>
<td><input type="text" size="10" name="proxyPort" value="<jsp:getProperty name="updatehelper" property="proxyPort" />" /></td></tr>
<% } // if isAdvanced %>
<% if (updatehelper.canInstall()) { %>
<% if (updatehelper.isAdvanced()) { %>
<tr><td class="mediumtags" align="right"><b><%=intl._t("Update URLs")%>:</b></td>
<tr><td align="right"><b><%=intl._t("Update URLs")%>:</b></td>
<td><textarea cols="60" rows="6" name="updateURL" wrap="off" spellcheck="false"><jsp:getProperty name="updatehelper" property="updateURL" /></textarea></td>
</tr><tr><td class="mediumtags" align="right"><b><%=intl._t("Trusted keys")%>:</b></td>
</tr><tr><td align="right"><b><%=intl._t("Trusted keys")%>:</b></td>
<td><textarea cols="60" rows="6" name="trustedKeys" wrap="off" spellcheck="false"><jsp:getProperty name="updatehelper" property="trustedKeys" /></textarea></td></tr>
<tr><td id="devSU3build" class="mediumtags" align="right"><b><%=intl._t("Update with signed development builds?")%></b></td>
<tr><td id="devSU3build" align="right"><b><label for="updateDevSU3"><%=intl._t("Update with signed development builds?")%></b></label></td>
<td><jsp:getProperty name="updatehelper" property="updateDevSU3" /></td>
</tr><tr><td class="mediumtags" align="right"><b><%=intl._t("Signed Build URL")%>:</b></td>
</tr><tr><td align="right"><b><%=intl._t("Signed Build URL")%>:</b></td>
<td><input type="text" size="60" name="devSU3URL" value="<jsp:getProperty name="updatehelper" property="devSU3URL" />"></td></tr>
<tr><td id="unsignedbuild" class="mediumtags" align="right"><b><%=intl._t("Update with unsigned development builds?")%></b></td>
<tr><td id="unsignedbuild" align="right"><b><label for="updateUnsigned"><%=intl._t("Update with unsigned development builds?")%></b></label></td>
<td><jsp:getProperty name="updatehelper" property="updateUnsigned" /></td>
</tr><tr><td class="mediumtags" align="right"><b><%=intl._t("Unsigned Build URL")%>:</b></td>
</tr><tr><td align="right"><b><%=intl._t("Unsigned Build URL")%>:</b></td>
<td><input type="text" size="60" name="zipURL" value="<jsp:getProperty name="updatehelper" property="zipURL" />"></td></tr>
<% } // if isAdvanced %>
<% } else { %>
<tr><td class="mediumtags" align="center" colspan="2"><b><%=intl._t("Updates will be dispatched via your package manager.")%></b></td></tr>
<tr><td align="center" colspan="2"><b><%=intl._t("Updates will be dispatched via your package manager.")%></b></td></tr>
<% } // if canInstall %>
<tr class="tablefooter"><td colspan="2" class="optionsave">
<input type="reset" class="cancel" value="<%=intl._t("Cancel")%>" >

View File

@ -94,7 +94,7 @@
</div>
<% } // shouldShowWelcome %>
<div class="home" id="home">
<div id="homepanel">
<%
if (homehelper.shouldShowSearch()) {
%>

View File

@ -14,6 +14,6 @@
<jsp:useBean class="net.i2p.router.web.NewsFeedHelper" id="feedHelper" scope="request" />
<jsp:setProperty name="feedHelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
<% feedHelper.setLimit(0); %>
<div class="fixme" id="fixme">
<div id="newspage">
<jsp:getProperty name="feedHelper" property="entries" />
</div></div></body></html>

View File

@ -162,7 +162,7 @@
</form>
</div>
<div id="visualid">
<h3><%=intl._t("Visual Identification for")%> <%=addr.getName()%></h3>
<h3><%=intl._t("Visual Identification for")%> <span id="idAddress"><%=addr.getName()%></span></h3>
<table>
<tr>
<td><img src="/imagegen/id?s=256&amp;c=<%=addr.getB64().replace("=", "%3d")%>" width="256" height="256"></td>

View File

@ -2176,7 +2176,7 @@ public class WebMail extends HttpServlet
"<tr><td align=\"right\">" + _t("To") + ":</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_TO + "\" value=\"" + quoteHTML(to) + "\"></td></tr>\n" +
"<tr><td align=\"right\">" + _t("Cc") + ":</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_CC + "\" value=\"" + quoteHTML(cc) + "\"></td></tr>\n" +
"<tr><td align=\"right\">" + _t("Bcc") + ":</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_BCC + "\" value=\"" + quoteHTML(bcc) + "\"></td></tr>\n" +
"<tr><td align=\"right\">" + _t("Bcc to self") + ": </td><td align=\"left\"><input type=\"checkbox\" class=\"optbox\" name=\"" + NEW_BCC_TO_SELF + "\" value=\"1\" " + (sessionObject.bccToSelf ? "checked" : "" ) + "></td></tr>\n" +
"<tr><td align=\"right\"><label for=\"bcctoself\">" + _t("Bcc to self") + ":</label></td><td align=\"left\"><input type=\"checkbox\" class=\"optbox\" id=\"bcctoself\" name=\"" + NEW_BCC_TO_SELF + "\" value=\"1\" " + (sessionObject.bccToSelf ? "checked" : "" ) + "></td></tr>\n" +
"<tr><td align=\"right\">" + _t("Subject") + ":</td><td align=\"left\"><input type=\"text\" size=\"80\" name=\"" + NEW_SUBJECT + "\" value=\"" + quoteHTML(subject) + "\"></td></tr>\n" +
"<tr><td></td><td align=\"left\"><textarea cols=\"" + Config.getProperty( CONFIG_COMPOSER_COLS, 80 )+ "\" rows=\"" + Config.getProperty( CONFIG_COMPOSER_ROWS, 10 )+ "\" name=\"" + NEW_TEXT + "\">" + text + "</textarea></td></tr>" +
"<tr class=\"bottombuttons\"><td colspan=\"2\" align=\"center\"><hr></td></tr>\n" +
@ -2457,9 +2457,9 @@ public class WebMail extends HttpServlet
sz = sessionObject.folder.getPageSize();
else
sz = Config.getProperty(Folder.PAGESIZE, Folder.DEFAULT_PAGESIZE);
out.println("<div class=\"topbuttons\">");
out.println("<div class=\"topbuttons\"><b>");
out.println(
_t("Folder Page Size") + ":&nbsp;<input type=\"text\" style=\"text-align: right;\" name=\"" + PAGESIZE +
_t("Folder Page Size") + ":</b>&nbsp;<input type=\"text\" style=\"text-align: right;\" name=\"" + PAGESIZE +
"\" size=\"4\" value=\"" + sz + "\">" +
"&nbsp;" +
button( SETPAGESIZE, _t("Set") ) );

View File

@ -1368,7 +1368,7 @@ public class NTCPTransport extends TransportImpl {
buf.append(". ").append(_t("Status")).append(": ").append(_t(getReachabilityStatus().toStatusString()));
}
buf.append(".</h3>\n" +
"<table id=\"ntcpconnections\">\n" +
"<div class=\"widescroll\"><table id=\"ntcpconnections\">\n" +
"<tr><th><a href=\"#def.peer\">").append(_t("Peer")).append("</a></th>" +
"<th>").append(_t("Dir")).append("</th>" +
"<th>").append(_t("IPv6")).append("</th>" +
@ -1379,7 +1379,7 @@ public class NTCPTransport extends TransportImpl {
"<th align=\"right\"><a href=\"#def.send\">").append(_t("TX")).append("</a></th>" +
"<th align=\"right\"><a href=\"#def.recv\">").append(_t("RX")).append("</a></th>" +
"<th>").append(_t("Out Queue")).append("</th>" +
"<th>").append(_t("Backlogged?")).append("</th>" +
"<th title=\"").append(_t("Is peer backlogged?")).append("\">").append(_t("Backlogged?")).append("</th>" +
//"<th>").append(_t("Reading?")).append("</th>" +
" </tr>\n");
out.write(buf.toString());
@ -1397,7 +1397,7 @@ public class NTCPTransport extends TransportImpl {
buf.append("<img src=\"/themes/console/images/outbound.png\" alt=\"Outbound\" title=\"").append(_t("Outbound")).append("\"/>");
buf.append("</td><td class=\"cells\" align=\"center\">");
if (con.isIPv6())
buf.append("&#x2713;");
buf.append("<span class=\"backlogged\">&#x2714;</span>");
else
buf.append("&nbsp;");
buf.append("</td><td class=\"cells\" align=\"right\">");
@ -1432,7 +1432,7 @@ public class NTCPTransport extends TransportImpl {
buf.append("</td><td class=\"cells\" align=\"center\">").append(outQueue);
buf.append("</td><td class=\"cells\" align=\"center\">");
if (con.isBacklogged())
buf.append("&#x2713;");
buf.append("<span class=\"backlogged\">&#x2714;</span>");
else
buf.append("&nbsp;");
//long readTime = con.getReadTime();
@ -1457,7 +1457,7 @@ public class NTCPTransport extends TransportImpl {
buf.append("</b></td><td>&nbsp;</td><td>&nbsp;</td></tr>\n");
}
buf.append("</table>\n");
buf.append("</table></div>\n");
out.write(buf.toString());
buf.setLength(0);
}