/* This code is part of Freenet. It is distributed under the GNU General * Public License, version 2 (or at your option any later version). See * http://www.gnu.org/ for further details of the GPL. */ package freenet.clients.http; import java.io.IOException; import java.net.URI; import freenet.client.HighLevelSimpleClient; import freenet.l10n.NodeL10n; import freenet.node.NodeClientCore; import freenet.support.HTMLNode; import freenet.support.api.HTTPRequest; /** * Simple Help Toadlet. Provides an offline means of looking up some basic info, howtos, and FAQ * Likely to be superceded someday by an offical Freesite and binary blob included in install package. * @author Juiceman */ public class SimpleHelpToadlet extends Toadlet { SimpleHelpToadlet(HighLevelSimpleClient client, NodeClientCore c) { super(client); this.core=c; } final NodeClientCore core; public void handleMethodGET(URI uri, HTTPRequest request, ToadletContext ctx) throws ToadletContextClosedException, IOException { PageNode page = ctx.getPageMaker().getPageNode("Freenet " + NodeL10n.getBase().getString("FProxyToadlet.help"), ctx); HTMLNode pageNode = page.outer; HTMLNode contentNode = page.content; if(ctx.isAllowedFullAccess()) contentNode.addChild(ctx.getAlertManager().createSummary()); // Description infobox HTMLNode helpScreenContent1 = ctx.getPageMaker().getInfobox("infobox-content", NodeL10n.getBase().getString("SimpleHelpToadlet.descriptionTitle"), contentNode, "freenet-description", true); helpScreenContent1.addChild("#", NodeL10n.getBase().getString("SimpleHelpToadlet.descriptionText")); // Definitions infobox HTMLNode helpScreenContent2 = ctx.getPageMaker().getInfobox("infobox-content", NodeL10n.getBase().getString("SimpleHelpToadlet.definitionsTitle"), contentNode, "freenet-definitions", true); HTMLNode table = helpScreenContent2.addChild("table", new String[]{"border", "style"}, new String[]{"0", "border: none"}); HTMLNode row = table.addChild("tr"); row.addChild("td", "style", "border: none"); row.addChild("#", NodeL10n.getBase().getString("SimpleHelpToadlet.CHK")); row.addChild("br"); row.addChild("#", NodeL10n.getBase().getString("SimpleHelpToadlet.SSK")); row.addChild("br"); row.addChild("#", NodeL10n.getBase().getString("SimpleHelpToadlet.USK")); // Port forwarding, etc. HTMLNode helpScreenContent3 = ctx.getPageMaker().getInfobox("infobox-content", NodeL10n.getBase().getString("SimpleHelpToadlet.connectivityTitle"), contentNode, "freenet-connectivity", true); helpScreenContent3.addChild("#", NodeL10n.getBase().getString("SimpleHelpToadlet.connectivityText")); this.writeHTMLReply(ctx, 200, "OK", pageNode.generate()); } @Override public String path() { return "/help/"; } }