On Sunday 28 September 2008 11:32, [EMAIL PROTECTED] wrote:
> Author: nextgens
> Date: 2008-09-28 10:32:44 +0000 (Sun, 28 Sep 2008)
> New Revision: 22869
> 
> Modified:
>    trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java
>    trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
>    trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
> Log:
> solves #2624: Show the wizard until dismissed by the user
> 
> It will re-display it to everyone... but that's something we want imho

You need to force the config to be written to disk after setting the flag for 
its being completed.
> 
> Modified: trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java
> ===================================================================
> --- trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java        
2008-09-27 18:24:34 UTC (rev 22868)
> +++ trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java        
2008-09-28 10:32:44 UTC (rev 22869)
> @@ -45,7 +45,8 @@
>               BANDWIDTH,
>               DATASTORE_SIZE,
>               MEMORY,
> -             CONGRATZ;
> +             CONGRATZ,
> +             FINAL;
>       }
>       
>       
> @@ -271,10 +272,18 @@
>                       congratzInfoboxHeader.addChild("#", l10n("congratz"));
>                       congratzInfoboxContent.addChild("p", 
> l10n("congratzLong"));
>                       
> -                     congratzInfoboxContent.addChild("a", "href", "/", 
L10n.getString("FirstTimeWizardToadlet.continueEnd"));
> +                     congratzInfoboxContent.addChild("a", "href", 
> "?step="+WIZARD_STEP.FINAL, 
L10n.getString("FirstTimeWizardToadlet.continueEnd"));
>  
>                       this.writeHTMLReply(ctx, 200, "OK", 
> pageNode.generate());
>                       return;
> +             } else if(currentStep == WIZARD_STEP.FINAL) {
> +                     try {
> +                             config.get("fproxy").set("hasCompletedWizard", 
> true);
> +                             this.writeTemporaryRedirect(ctx, "Return to 
> home", "/");
> +                     } catch (ConfigException e) {
> +                             Logger.error(this, e.getMessage(), e);
> +                     }
> +                     return;
>               }
>               
>               HTMLNode pageNode = 
> ctx.getPageMaker().getPageNode(l10n("homepageTitle"), 
false, ctx);
> @@ -291,7 +300,7 @@
>               
secondParagraph.addChild("a", "href", 
"?step="+WIZARD_STEP.SECURITY_NETWORK).addChild("#", 
L10n.getString("FirstTimeWizardToadlet.clickContinue"));
>               
>               HTMLNode thirdParagraph = welcomeInfoboxContent.addChild("p");
> -             thirdParagraph.addChild("a", "href", "/").addChild("#", 
l10n("skipWizard"));
> +             
thirdParagraph.addChild("a", "href", "?step="+WIZARD_STEP.FINAL).addChild("#", 
l10n("skipWizard"));
>               
>               this.writeHTMLReply(ctx, 200, "OK", pageNode.generate());
>       }
> 
> Modified: trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
> ===================================================================
> --- trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java   
2008-09-27 18:24:34 UTC (rev 22868)
> +++ trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java   
2008-09-28 10:32:44 UTC (rev 22869)
> @@ -3,6 +3,7 @@
>   * http://www.gnu.org/ for further details of the GPL. */
>  package freenet.clients.http;
>  
> +import freenet.config.NodeNeedRestartException;
>  import java.io.File;
>  import java.io.IOException;
>  import java.net.InetAddress;
> @@ -69,7 +70,8 @@
>       private Thread myThread;
>       private boolean advancedModeEnabled;
>       private boolean ssl = false;
> -     private boolean fProxyJavascriptEnabled;
> +     private volatile boolean fProxyJavascriptEnabled;
> +     private volatile boolean fproxyHasCompletedWizard;
>       private final PageMaker pageMaker;
>       private NodeClientCore core;
>       private final Executor executor;
> @@ -385,6 +387,21 @@
>                               new FProxyAdvancedModeEnabledCallback(this));
>               fproxyConfig.register("javascriptEnabled", false, 
> configItemOrder++, 
true, 
false, "SimpleToadletServer.enableJS", "SimpleToadletServer.enableJSLong",
>                               new FProxyJavascriptEnabledCallback(this));
> +             fproxyConfig.register("hasCompletedWizard", false, 
> configItemOrder++, 
true, 
false, "SimpleToadletServer.hasCompletedWizard", 
"SimpleToadletServer.hasCompletedWizardLong",
> +                             new BooleanCallback() {
> +                                     @Override
> +                                     public Boolean get() {
> +                                             return fproxyHasCompletedWizard;
> +                                     }
> +
> +                                     @Override
> +                                     public void set(Boolean val) throws 
> InvalidConfigValueException, 
NodeNeedRestartException {
> +                                             if(val == get()) return;
> +                                             fproxyHasCompletedWizard = val;
> +                                     }
> +             });
> +             fproxyHasCompletedWizard = 
> fproxyConfig.getBoolean("hasCompletedWizard");
> +             
>               fproxyConfig.register("showPanicButton", false, 
> configItemOrder++, true, 
true, "SimpleToadletServer.panicButton", "SimpleToadletServer.panicButtonLong",
>                               new BooleanCallback(){
>                               @Override
> @@ -588,13 +605,22 @@
>       }
>       
>       public Toadlet findToadlet(URI uri) throws PermanentRedirectException {
> -             Iterator i = toadlets.iterator();
>               String path = uri.getPath();
> +
> +             if(!fproxyHasCompletedWizard) {
> +                     
> if(!(path.startsWith(FirstTimeWizardToadlet.TOADLET_URL) ||
> +                             path.startsWith(StaticToadlet.ROOT_URL)))
> +                             try {
> +                                     throw new 
> PermanentRedirectException(new 
URI(FirstTimeWizardToadlet.TOADLET_URL));
> +                             } catch(URISyntaxException e) { throw new 
> Error(e); }
> +             }
> +
> +             Iterator i = toadlets.iterator();               
>               while(i.hasNext()) {
>                       ToadletElement te = (ToadletElement) i.next();
> -                     
> +                                             
>                       if(path.startsWith(te.prefix))
> -                             return te.t;
> +                                     return te.t;
>                       if(te.prefix.length() > 0 && 
> te.prefix.charAt(te.prefix.length()-1) 
== '/') {
>                               if(path.equals(te.prefix.substring(0, 
> te.prefix.length()-1))) {
>                                       URI newURI;
> 
> Modified: trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
> ===================================================================
> --- trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties 2008-09-27 
18:24:34 UTC (rev 22868)
> +++ trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties 2008-09-28 
10:32:44 UTC (rev 22869)
> @@ -1127,6 +1127,8 @@
>  SimpleToadletServer.enableInlinePrefetchLong=This may help if your browser 
only uses a small number of connections to talk to the node. On the other 
hand it may not.
>  SimpleToadletServer.enablePersistentConnections=Enable persistent HTTP 
connections? (Read detailed description)
>  SimpleToadletServer.enablePersistentConnectionsLong=Don't enable this 
unless your browser is configured to use lots of connections even if they are 
persistent.
> +SimpleToadletServer.hasCompletedWizard=Have you completed the wizard yet?
> +SimpleToadletServer.hasCompletedWizardLong=Have you completed the wizard 
yet? If not, fproxy will redirect all your requests to it.
>  SimpleToadletServer.illegalCSSName=CSS name must not contain slashes or 
colons!
>  SimpleToadletServer.panicButton=Show the panic button?
>  SimpleToadletServer.panicButtonLong=Shows a 'panic button' on the queue 
page that will remove all requests with no confirmation.
> 
> _______________________________________________
> cvs mailing list
> [EMAIL PROTECTED]
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs
> 
> 

Attachment: pgpfhSdvS3wH5.pgp
Description: PGP signature

_______________________________________________
Devl mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to