Author: toad
Date: 2007-07-06 16:02:09 +0000 (Fri, 06 Jul 2007)
New Revision: 13953
Modified:
trunk/freenet/src/freenet/clients/http/ConnectionsToadlet.java
trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
trunk/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java
Log:
Don't draw the per-peer actions form either on opennet
Modified: trunk/freenet/src/freenet/clients/http/ConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/ConnectionsToadlet.java
2007-07-06 15:37:04 UTC (rev 13952)
+++ trunk/freenet/src/freenet/clients/http/ConnectionsToadlet.java
2007-07-06 16:02:09 UTC (rev 13953)
@@ -312,7 +312,9 @@
}
}
// END OVERVIEW TABLE
-
+
+ boolean enablePeerActions = showPeerActionsBox();
+
// BEGIN PEER TABLE
if(fProxyJavascriptEnabled) {
StringBuffer jsBuf = new StringBuffer();
@@ -360,10 +362,17 @@
L10n.addL10nSubstitution(peerTableInfoboxContent,
"DarknetConnectionsToadlet.noPeersWithHomepageLink",
new String[] { "link", "/link"
}, new String[] { "<a href=\"/\">", "</a>" });
} else {
- HTMLNode peerForm =
ctx.addFormChild(peerTableInfoboxContent, ".", "peersForm");
- HTMLNode peerTable = peerForm.addChild("table",
"class", "darknet_connections");
+ HTMLNode peerForm = null;
+ HTMLNode peerTable;
+ if(enablePeerActions) {
+ peerForm =
ctx.addFormChild(peerTableInfoboxContent, ".", "peersForm");
+ peerTable = peerForm.addChild("table",
"class", "darknet_connections");
+ } else {
+ peerTable =
peerTableInfoboxContent.addChild("table", "class", "darknet_connections");
+ }
HTMLNode peerTableHeaderRow =
peerTable.addChild("tr");
- peerTableHeaderRow.addChild("th");
+ if(enablePeerActions)
+ peerTableHeaderRow.addChild("th");
peerTableHeaderRow.addChild("th").addChild("a",
"href", sortString(isReversed, "status")).addChild("#", l10n("statusTitle"));
if(hasNameColumn())
peerTableHeaderRow.addChild("th").addChild("a", "href", sortString(isReversed,
"name")).addChild("span", new String[] { "title", "style" }, new String[] {
l10n("nameClickToMessage"), "border-bottom: 1px dotted; cursor: help;" },
l10n("nameTitle"));
@@ -391,30 +400,13 @@
for (int peerIndex = 0, peerCount =
peerNodeStatuses.length; peerIndex < peerCount; peerIndex++) {
PeerNodeStatus peerNodeStatus =
peerNodeStatuses[peerIndex];
- drawRow(peerTable, peerNodeStatus,
advancedModeEnabled, fProxyJavascriptEnabled, now, path);
+ drawRow(peerTable, peerNodeStatus,
advancedModeEnabled, fProxyJavascriptEnabled, now, path, enablePeerActions);
}
- HTMLNode actionSelect =
peerForm.addChild("select", new String[] { "id", "name" }, new String[] {
"action", "action" });
- actionSelect.addChild("option", "value", "",
l10n("selectAction"));
- actionSelect.addChild("option", "value",
"send_n2ntm", l10n("sendMessageToPeers"));
- actionSelect.addChild("option", "value",
"update_notes", l10n("updateChangedPrivnotes"));
- if(advancedModeEnabled) {
- actionSelect.addChild("option",
"value", "enable", "Enable selected peers");
- actionSelect.addChild("option",
"value", "disable", "Disable selected peers");
- actionSelect.addChild("option",
"value", "set_burst_only", "On selected peers, set BurstOnly (only set this if
you have a static IP and are not NATed and neither is the peer)");
- actionSelect.addChild("option",
"value", "clear_burst_only", "On selected peers, clear BurstOnly");
- actionSelect.addChild("option",
"value", "set_listen_only", "On selected peers, set ListenOnly (not
recommended)");
- actionSelect.addChild("option",
"value", "clear_listen_only", "On selected peers, clear ListenOnly");
- actionSelect.addChild("option",
"value", "set_allow_local", "On selected peers, set allowLocalAddresses (useful
if you are connecting to another node on the same LAN)");
- actionSelect.addChild("option",
"value", "clear_allow_local", "On selected peers, clear allowLocalAddresses");
- actionSelect.addChild("option",
"value", "set_ignore_source_port", "On selected peers, set ignoreSourcePort
(try this if behind an evil corporate firewall; otherwise not recommended)");
- actionSelect.addChild("option",
"value", "clear_ignore_source_port", "On selected peers, clear
ignoreSourcePort");
+ if(peerForm != null) {
+ drawPeerActionSelectBox(peerForm,
advancedModeEnabled);
}
- actionSelect.addChild("option", "value", "",
l10n("separator"));
- actionSelect.addChild("option", "value",
"remove", l10n("removePeers"));
- peerForm.addChild("input", new String[] {
"type", "name", "value" }, new String[] { "submit", "doAction", l10n("go") });
-
}
// END PEER TABLE
}
@@ -459,8 +451,17 @@
this.writeReply(ctx, 200, "text/html", "OK",
pageNode.generate());
}
+
+ /** Should there be a checkbox for each peer, and
drawPeerActionSelectBox() be called directly
+ * after drawing the peers list? */
+ protected abstract boolean showPeerActionsBox();
+
+ /** If showPeerActionsBox() is true, this will be called directly after
drawing the peers table.
+ * A form has been added, and checkboxes added for each peer. This
function should draw the rest
+ * of the form - any additional controls and one or more submit buttons.
+ */
+ protected abstract void drawPeerActionSelectBox(HTMLNode peerForm,
boolean advancedModeEnabled);
-
protected abstract boolean shouldDrawNoderefBox(boolean
advancedModeEnabled);
private void drawNoderefBox(HTMLNode contentNode, ToadletContext ctx) {
@@ -491,11 +492,13 @@
abstract protected SimpleFieldSet getNoderef();
- private void drawRow(HTMLNode peerTable, PeerNodeStatus peerNodeStatus,
boolean advancedModeEnabled, boolean fProxyJavascriptEnabled, long now, String
path) {
+ private void drawRow(HTMLNode peerTable, PeerNodeStatus peerNodeStatus,
boolean advancedModeEnabled, boolean fProxyJavascriptEnabled, long now, String
path, boolean enablePeerActions) {
HTMLNode peerRow = peerTable.addChild("tr");
- // check box column
- peerRow.addChild("td", "class",
"peer-marker").addChild("input", new String[] { "type", "name" }, new String[]
{ "checkbox", "node_" + peerNodeStatus.hashCode() });
+ if(enablePeerActions) {
+ // check box column
+ peerRow.addChild("td", "class",
"peer-marker").addChild("input", new String[] { "type", "name" }, new String[]
{ "checkbox", "node_" + peerNodeStatus.hashCode() });
+ }
// status column
String statusString = peerNodeStatus.getStatusName();
Modified: trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
2007-07-06 15:37:04 UTC (rev 13952)
+++ trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
2007-07-06 16:02:09 UTC (rev 13953)
@@ -474,4 +474,30 @@
return true;
}
+ protected boolean showPeerActionsBox() {
+ return true;
+ }
+
+ protected void drawPeerActionSelectBox(HTMLNode peerForm, boolean
advancedModeEnabled) {
+ HTMLNode actionSelect = peerForm.addChild("select", new
String[] { "id", "name" }, new String[] { "action", "action" });
+ actionSelect.addChild("option", "value", "",
l10n("selectAction"));
+ actionSelect.addChild("option", "value", "send_n2ntm",
l10n("sendMessageToPeers"));
+ actionSelect.addChild("option", "value", "update_notes",
l10n("updateChangedPrivnotes"));
+ if(advancedModeEnabled) {
+ actionSelect.addChild("option", "value", "enable",
"Enable selected peers");
+ actionSelect.addChild("option", "value", "disable",
"Disable selected peers");
+ actionSelect.addChild("option", "value",
"set_burst_only", "On selected peers, set BurstOnly (only set this if you have
a static IP and are not NATed and neither is the peer)");
+ actionSelect.addChild("option", "value",
"clear_burst_only", "On selected peers, clear BurstOnly");
+ actionSelect.addChild("option", "value",
"set_listen_only", "On selected peers, set ListenOnly (not recommended)");
+ actionSelect.addChild("option", "value",
"clear_listen_only", "On selected peers, clear ListenOnly");
+ actionSelect.addChild("option", "value",
"set_allow_local", "On selected peers, set allowLocalAddresses (useful if you
are connecting to another node on the same LAN)");
+ actionSelect.addChild("option", "value",
"clear_allow_local", "On selected peers, clear allowLocalAddresses");
+ actionSelect.addChild("option", "value",
"set_ignore_source_port", "On selected peers, set ignoreSourcePort (try this if
behind an evil corporate firewall; otherwise not recommended)");
+ actionSelect.addChild("option", "value",
"clear_ignore_source_port", "On selected peers, clear ignoreSourcePort");
+ }
+ actionSelect.addChild("option", "value", "", l10n("separator"));
+ actionSelect.addChild("option", "value", "remove",
l10n("removePeers"));
+ peerForm.addChild("input", new String[] { "type", "name",
"value" }, new String[] { "submit", "doAction", l10n("go") });
+ }
+
}
Modified: trunk/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java
2007-07-06 15:37:04 UTC (rev 13952)
+++ trunk/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java
2007-07-06 16:02:09 UTC (rev 13953)
@@ -57,4 +57,14 @@
return advancedModeEnabled;
}
+ protected boolean showPeerActionsBox() {
+ // No per-peer actions supported on opennet - there's no point,
they'll only reconnect,
+ // possibly as a different identity. And we don't want to be
able to send N2NTM spam either.
+ return false;
+ }
+
+ protected void drawPeerActionSelectBox(HTMLNode peerForm, boolean
advancedModeEnabled) {
+ // Do nothing, see showPeerActionsBox().
+ }
+
}