Author: bombe
Date: 2006-06-10 15:53:58 +0000 (Sat, 10 Jun 2006)
New Revision: 9131

Modified:
   trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
   trunk/freenet/src/freenet/clients/http/PluginToadlet.java
Log:
more ul & li on peer page
use POST in plugin toadlet

Modified: trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java       
2006-06-10 15:51:04 UTC (rev 9130)
+++ trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java       
2006-06-10 15:53:58 UTC (rev 9131)
@@ -95,14 +95,15 @@
                buf.append("<div class=\"infobox\">");
                buf.append("<div class=\"infobox-header\">Node status 
overview</div>");
                buf.append("<div class=\"infobox-content\">");
-               buf.append("bwlimitDelayTime:&nbsp;" + bwlimitDelayTime + 
"ms<br/>");
-               buf.append("nodeAveragePingTime:&nbsp;" + nodeAveragePingTime + 
"ms<br/>");
-               buf.append("networkSizeEstimate:&nbsp;" + networkSizeEstimate + 
"&nbsp;nodes<br/>");
-               buf.append("nodeUptime:&nbsp;" + nodeUptimeString + "<br/>");
-               buf.append("</div>");
+               buf.append("<ul>");
+               buf.append("<li>bwlimitDelayTime:&nbsp;" + bwlimitDelayTime + 
"ms</li>");
+               buf.append("<li>nodeAveragePingTime:&nbsp;" + 
nodeAveragePingTime + "ms</li>");
+               buf.append("<li>networkSizeEstimate:&nbsp;" + 
networkSizeEstimate + "&nbsp;nodes</li>");
+               buf.append("<li>nodeUptime:&nbsp;" + nodeUptimeString + 
"</li>");
+               buf.append("</ul></div>");
                buf.append("</div>\n");

-               buf.append("</td><td class=\"last\">");
+               buf.append("</td><td>");

                // Activity box
                buf.append("<div class=\"infobox\">\n");
@@ -119,30 +120,32 @@
                buf.append("</div>\n");
                buf.append("</div>\n");

-               buf.append("</td><td class=\"last\">");
+               buf.append("</td><td>");

                // Peer statistics box
                buf.append("<div class=\"infobox\">");
                buf.append("<div class=\"infobox-header\">Peer 
statistics</div>");
                buf.append("<div class=\"infobox-content\">");
+               buf.append("<ul>");
                if (numberOfConnected > 0) {
-                       buf.append("<span 
class=\"peer_connected\">Connected:&nbsp;" + numberOfConnected + 
"</span><br/>");
+                       buf.append("<li><span 
class=\"peer_connected\">Connected:&nbsp;" + numberOfConnected + 
"</span></li>");
                }
                if (numberOfRoutingBackedOff > 0) {
-                       buf.append("<span class=\"peer_backedoff\">Backed 
off:&nbsp;" + numberOfRoutingBackedOff + "</span><br/>");
+                       buf.append("<li><span class=\"peer_backedoff\">Backed 
off:&nbsp;" + numberOfRoutingBackedOff + "</span></li>");
                }
                if (numberOfTooNew > 0) {
-                       buf.append("<span class=\"peer_too_new\">Too 
new:&nbsp;" + numberOfTooNew + "</span><br/>");
+                       buf.append("<li><span class=\"peer_too_new\">Too 
new:&nbsp;" + numberOfTooNew + "</span></li>");
                }
                if (numberOfTooOld > 0) {
-                       buf.append("<span class=\"peer_too_old\">Too 
old:&nbsp;" + numberOfTooOld + "</span><br/>");
+                       buf.append("<li><span class=\"peer_too_old\">Too 
old:&nbsp;" + numberOfTooOld + "</span></li>");
                }
                if (numberOfDisconnected > 0) {
-                       buf.append("<span 
class=\"peer_disconnected\">Disconnected:&nbsp;" + numberOfDisconnected + 
"</span><br/>");
+                       buf.append("<li><span 
class=\"peer_disconnected\">Disconnected:&nbsp;" + numberOfDisconnected + 
"</span></li>");
                }
                if (numberOfNeverConnected > 0) {
-                       buf.append("<span class=\"peer_never_connected\">Never 
Connected:&nbsp;" + numberOfNeverConnected + "</span><br/>");
+                       buf.append("<li><span 
class=\"peer_never_connected\">Never Connected:&nbsp;" + numberOfNeverConnected 
+ "</span></li>");
                }
+               buf.append("</ul>");
                buf.append("</div>");
                buf.append("</div>\n");


Modified: trunk/freenet/src/freenet/clients/http/PluginToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/PluginToadlet.java   2006-06-10 
15:51:04 UTC (rev 9130)
+++ trunk/freenet/src/freenet/clients/http/PluginToadlet.java   2006-06-10 
15:53:58 UTC (rev 9131)
@@ -10,6 +10,7 @@
 import freenet.plugin.HttpPlugin;
 import freenet.plugin.Plugin;
 import freenet.plugin.PluginManager;
+import freenet.support.Bucket;
 import freenet.support.HTMLEncoder;

 /**
@@ -37,13 +38,13 @@
        }

        /**
-        * Currently this toadlet only supports GET.
+        * This toadlet support GET and POST operations.
         * 
         * @see freenet.clients.http.Toadlet#supportedMethods()
-        * @return "GET"
+        * @return "GET,POST"
         */
        public String supportedMethods() {
-               return "GET";
+               return "GET,POST";
        }

        /**
@@ -85,7 +86,44 @@
                StringBuffer replyBuffer = new StringBuffer();
                if ("list".equals(action)) {
                        replyBuffer.append(listPlugins(ctx));
-               } else if ("add".equals(action)) {
+               } else {
+                       writeReply(ctx, 220, "text/html; charset=utf-8", "OK", 
createBox(ctx, "Unsupported method", "Unsupported method.").toString());
+                       return;
+               }
+               writeReply(ctx, 220, "text/html; charset=utf-8", "OK", 
replyBuffer.toString());
+       }
+       
+       /**
+        * @see freenet.clients.http.Toadlet#handlePost(java.net.URI, 
freenet.support.Bucket, freenet.clients.http.ToadletContext)
+        */
+       public void handlePost(URI uri, Bucket data, ToadletContext ctx) throws 
ToadletContextClosedException, IOException, RedirectException {
+               HTTPRequest httpRequest = new HTTPRequest(uri, data, ctx);
+               
+               String uriPath = uri.getPath();
+               String pluginName = uriPath.substring(uriPath.lastIndexOf('/') 
+ 1);
+               
+               if (pluginName.length() > 0) {
+                       Plugin plugin = findPlugin(pluginName);
+                       if (plugin != null) {
+                               if (plugin instanceof HttpPlugin) {
+                                       ((HttpPlugin) 
plugin).handlePost(httpRequest, ctx);
+                               } else {
+                                       writeReply(ctx, 220, "text/html; 
charset=utf-8", "OK", createBox(ctx, "Plugin has no web interface", "The plugin 
does not have a web interface, so there is nothing to show.").toString());
+                               }
+                               return;
+                       }
+                       writeReply(ctx, 220, "text/html; charset=utf-8", "OK", 
createBox(ctx, "Plugin not found", "The requested plugin could not be 
found.").toString());
+                       return;
+               }
+               
+               String action = httpRequest.getParam("action");
+               if (action.length() == 0) {
+                       writePermanentRedirect(ctx, "Plugin list", 
"?action=list");
+                       return;
+               }
+
+               StringBuffer replyBuffer = new StringBuffer();
+               if ("add".equals(action)) {
                        pluginName = httpRequest.getParam("pluginName");
                        boolean added = false;
                        try {
@@ -97,7 +135,7 @@
                                writePermanentRedirect(ctx, "Plugin list", 
"?action=list");
                                return;
                        }
-                       replyBuffer.append(createBox(ctx, "Plugin was not 
loaded", "The plugin you requested could not be loaded. Please verify the name 
of the plugin&rsquo;s class and the URL, if you gave one."));
+                       replyBuffer.append(createBox(ctx, "Plugin was not 
loaded", "The plugin you requested could not be loaded. Please verify the name 
of the plugin\u2019s class and the URL, if you gave one."));
                } else if ("reload".equals(action)) {
                        pluginName = httpRequest.getParam("pluginName");
                        Plugin plugin = findPlugin(pluginName);
@@ -168,8 +206,8 @@
                        } else {
                                outputBuffer.append("<td/>");
                        }
-                       outputBuffer.append("<td><form action=\"\" 
method=\"get\"><input type=\"hidden\" name=\"action\" value=\"reload\"/><input 
type=\"hidden\" name=\"pluginName\" value=\"").append(internalName).append("\" 
/><input type=\"submit\" value=\"Reload\" /></form></td>");
-                       outputBuffer.append("<td><form action=\"\" 
method=\"get\"><input type=\"hidden\" name=\"action\" value=\"unload\"/><input 
type=\"hidden\" name=\"pluginName\" value=\"").append(internalName).append("\" 
/><input type=\"submit\" value=\"Unload\" /></form></td>");
+                       outputBuffer.append("<td><form action=\"./\" 
method=\"post\"><input type=\"hidden\" name=\"action\" value=\"reload\"/><input 
type=\"hidden\" name=\"pluginName\" value=\"").append(internalName).append("\" 
/><input type=\"submit\" value=\"Reload\" /></form></td>");
+                       outputBuffer.append("<td><form action=\"./\" 
method=\"post\"><input type=\"hidden\" name=\"action\" value=\"unload\"/><input 
type=\"hidden\" name=\"pluginName\" value=\"").append(internalName).append("\" 
/><input type=\"submit\" value=\"Unload\" /></form></td>");
                        outputBuffer.append("</tr>\n");
                }
                outputBuffer.append("</table>");
@@ -200,8 +238,8 @@
                pageMaker.makeHead(outputBuffer, HTMLEncoder.encode(title));
                outputBuffer.append("<div class=\"infobox infobox-alert\">");
                outputBuffer.append("<div 
class=\"infobox-header\">").append(HTMLEncoder.encode(title)).append("</div>\n");
-               outputBuffer.append("<div 
class=\"infobox-content\">").append(HTMLEncoder.encode(message)).append("</div>\n");
-               outputBuffer.append("<div class=\"infobox-content\">Please <a 
href=\"?action=list\">return</a> to the list of plugins.</div>\n");
+               outputBuffer.append("<div 
class=\"infobox-content\"><p>").append(HTMLEncoder.encode(message)).append("</p>");
+               outputBuffer.append("<p>Please <a 
href=\"?action=list\">return</a> to the list of plugins.</p></div>");
                outputBuffer.append("</div>\n");
                pageMaker.makeTail(outputBuffer);

@@ -219,7 +257,7 @@
                outputBuffer.append("<div class=\"infobox\">");
                outputBuffer.append("<div class=\"infobox-header\">Add a 
plugin</div>");
                outputBuffer.append("<div class=\"infobox-content\">");
-               outputBuffer.append("<form action=\"?add\" method=\"get\">");
+               outputBuffer.append("<form action=\"./\" method=\"post\">");
                outputBuffer.append("<input type=\"hidden\" name=\"action\" 
value=\"add\" />");
                outputBuffer.append("<input type=\"text\" size=\"40\" 
name=\"pluginName\" value=\"\" />&nbsp;");
                outputBuffer.append("<input type=\"submit\" value=\"Load 
plugin\" />");


Reply via email to