Author: nextgens
Date: 2006-06-02 21:23:47 +0000 (Fri, 02 Jun 2006)
New Revision: 9007
Modified:
trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
trunk/freenet/src/freenet/node/TextModeClientInterface.java
trunk/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java
Log:
Some helpers to use the auto-update
Modified: trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java 2006-06-02
21:03:05 UTC (rev 9006)
+++ trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java 2006-06-02
21:23:47 UTC (rev 9007)
@@ -79,6 +79,24 @@
Logger.normal(this, "Node is restarting");
node.getNodeStarter().restart();
return;
+ }else if(request.getParam("updateconfirm").length() > 0){
+ // false for no navigation bars, because that would be
very silly
+ ctx.getPageMaker().makeHead(buf, "Node Updating",
false);
+ buf.append("<div class=\"infobox
infobox-information\">\n");
+ buf.append("<div class=\"infobox-header\">\n");
+ buf.append("The Freenet node is beeing updated and will
self-restart\n");
+ buf.append("</div>\n");
+ buf.append("<div class=\"infobox-content\">\n");
+ buf.append("The restart process might take up to 3
minutes. <br>");
+ buf.append("Thank you for using Freenet\n");
+ buf.append("</div>\n");
+ buf.append("</div>\n");
+ ctx.getPageMaker().makeTail(buf);
+
+ writeReply(ctx, 200, "text/html", "OK", buf.toString());
+ Logger.normal(this, "Node is updating/restarting");
+ node.getNodeUpdater().Update();
+ return;
}else if (request.getParam("restart").length() > 0) {
ctx.getPageMaker().makeHead(buf, "Node Restart");
buf.append("<div class=\"infobox infobox-query\">\n");
@@ -96,6 +114,23 @@
ctx.getPageMaker().makeTail(buf);
writeReply(ctx, 200, "text/html", "OK", buf.toString());
return;
+ }else if (request.getParam("update").length() > 0) {
+ ctx.getPageMaker().makeHead(buf, "Node Update");
+ buf.append("<div class=\"infobox infobox-query\">\n");
+ buf.append("<div class=\"infobox-header\">\n");
+ buf.append("Update the node?\n");
+ buf.append("</div>\n");
+ buf.append("<div class=\"infobox-content\">\n");
+ buf.append("Are you sure you wish to update your
Freenet node?\n");
+ buf.append("<form action=\"/\" method=\"post\">\n");
+ buf.append("<input type=\"submit\" name=\"cancel\"
value=\"Cancel\" />\n");
+ buf.append("<input type=\"submit\"
name=\"updateconfirm\" value=\"Restart\" />\n");
+ buf.append("</form>\n");
+ buf.append("</div>\n");
+ buf.append("</div>\n");
+ ctx.getPageMaker().makeTail(buf);
+ writeReply(ctx, 200, "text/html", "OK", buf.toString());
+ return;
} else if (request.getParam("exit").equalsIgnoreCase("true")) {
ctx.getPageMaker().makeHead(buf, "Node Shutdown");
buf.append("<div class=\"infobox infobox-query\">\n");
Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-06-02
21:03:05 UTC (rev 9006)
+++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-06-02
21:23:47 UTC (rev 9007)
@@ -151,6 +151,7 @@
sb.append("CONNECT:\r\n<noderef including an End on a line by itself>
- enter a noderef directly.\r\n");
sb.append("DISCONNECT:<ip:port> - disconnect from a node by providing
it's ip+port or name\r\n");
sb.append("NAME:<new node name> - change the node's name.\r\n");
+ sb.append("UPDATE ask the node to self-update if possible. \r\n");
// sb.append("SUBFILE:<filename> - append all data received from
subscriptions to a file, rather than sending it to stdout.\r\n");
// sb.append("SAY:<text> - send text to the last created/pushed
stream\r\n");
sb.append("STATUS - display some status information on the node
including its reference and connections.\r\n");
@@ -298,6 +299,7 @@
outsb.append("Permanent redirect: "+e.newURI+"\r\n");
}
} else if(uline.startsWith("UPDATE")) {
+ outsb.append("starting the update process");
n.getNodeUpdater().Update();
return false;
}else if(uline.startsWith("BLOW")) {
Modified:
trunk/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java
===================================================================
---
trunk/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java
2006-06-02 21:03:05 UTC (rev 9006)
+++
trunk/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java
2006-06-02 21:23:47 UTC (rev 9007)
@@ -1,7 +1,5 @@
package freenet.node.useralerts;
-import freenet.node.Node;
-
public class UpdatedVersionAvailableUserAlert implements UserAlert {
private boolean isValid;
private int version;
@@ -25,9 +23,10 @@
public String getText() {
return "It seems that your node isn't running the latest
version of the software. "+
- "Updating to "+version+" is advised.";
+ "Updating to "+version+" is advised. <form action=\"/\"
method=\"post\">"+
+ "<input type=\"submit\" name=\"update\" value=\"Update Now\"
/></form>";
}
-
+
public short getPriorityClass() {
return UserAlert.MINOR;
}