package freenet.clients.http.wizardsteps; import freenet.clients.http.FirstTimeWizardToadlet; import freenet.l10n.NodeL10n; import freenet.support.HTMLNode; import freenet.support.api.HTTPRequest; /** * This step allows the user to choose between darknet and opennet, explaining each briefly. */ public class OPENNET implements Step { @Override public void getStep(HTTPRequest request, PageHelper helper) { HTMLNode contentNode = helper.getPageContent(WizardL10n.l10n("opennetChoicePageTitle")); HTMLNode infoboxContent = helper.getInfobox("infobox-normal", WizardL10n.l10n("opennetChoiceTitle"), contentNode, null, false); infoboxContent.addChild("p", WizardL10n.l10n("opennetChoiceIntroduction")); HTMLNode form = helper.addFormChild(infoboxContent, ".", "opennetForm", false); HTMLNode p = form.addChild("p"); HTMLNode input = p.addChild("input", new String[] { "type", "name", "value" }, new String[] { "radio", "opennet", "false" }); input.addChild("b", WizardL10n.l10n("opennetChoiceConnectFriends")+":"); p.addChild("br"); p.addChild("i", WizardL10n.l10n("opennetChoicePro")); p.addChild("#", ": "+WizardL10n.l10n("opennetChoiceConnectFriendsPRO") + "¹"); p.addChild("br"); p.addChild("i", WizardL10n.l10n("opennetChoiceCon")); p.addChild("#", ": "+WizardL10n.l10n("opennetChoiceConnectFriendsCON", "minfriends", "5")); p = form.addChild("p"); input = p.addChild("input", new String[] { "type", "name", "value" }, new String[] { "radio", "opennet", "true" }); input.addChild("b", WizardL10n.l10n("opennetChoiceConnectStrangers")+":"); p.addChild("br"); p.addChild("i", WizardL10n.l10n("opennetChoicePro")); p.addChild("#", ": "+WizardL10n.l10n("opennetChoiceConnectStrangersPRO")); p.addChild("br"); p.addChild("i", WizardL10n.l10n("opennetChoiceCon")); p.addChild("#", ": "+WizardL10n.l10n("opennetChoiceConnectStrangersCON")); form.addChild("input", new String[] { "type", "name", "value" }, new String[] { "submit", "back", NodeL10n.getBase().getString("Toadlet.back")}); form.addChild("input", new String[] { "type", "name", "value" }, new String[] { "submit", "next", NodeL10n.getBase().getString("Toadlet.next")}); HTMLNode foot = infoboxContent.addChild("div", "class", "toggleable"); foot.addChild("i", "¹: " + WizardL10n.l10n("opennetChoiceHowSafeIsFreenetToggle")); HTMLNode footHidden = foot.addChild("div", "class", "hidden"); HTMLNode footList = footHidden.addChild("ol"); footList.addChild("li", WizardL10n.l10n("opennetChoiceHowSafeIsFreenetStupid")); footList.addChild("li", WizardL10n.l10n("opennetChoiceHowSafeIsFreenetFriends") + "²"); footList.addChild("li", WizardL10n.l10n("opennetChoiceHowSafeIsFreenetTrustworthy")); footList.addChild("li", WizardL10n.l10n("opennetChoiceHowSafeIsFreenetNoSuspect")); footList.addChild("li", WizardL10n.l10n("opennetChoiceHowSafeIsFreenetChangeID")); footList.addChild("li", WizardL10n.l10n("opennetChoiceHowSafeIsFreenetSSK")); footList.addChild("li", WizardL10n.l10n("opennetChoiceHowSafeIsFreenetOS")); footList.addChild("li", WizardL10n.l10n("opennetChoiceHowSafeIsFreenetBigPriv")); footList.addChild("li", WizardL10n.l10n("opennetChoiceHowSafeIsFreenetDistant")); footList.addChild("li", WizardL10n.l10n("opennetChoiceHowSafeIsFreenetBugs")); HTMLNode foot2 = footHidden.addChild("p"); foot2.addChild("#", "²: " + WizardL10n.l10n("opennetChoiceHowSafeIsFreenetFoot2")); } /** * Doesn't make any changes, just passes result on to SECURITY_NETWORK. * @param request Checked for "opennet" value. */ @Override public String postStep(HTTPRequest request) { if (request.isPartSet("opennet")) { return FirstTimeWizardToadlet.WIZARD_STEP.SECURITY_NETWORK+"&opennet="+ request.getPartAsStringFailsafe("opennet", 5); } else { //Nothing selected when "next" clicked. Display choice again. return FirstTimeWizardToadlet.WIZARD_STEP.OPENNET.name(); } } }