X-Git-Url: https://git.pterodactylus.net/?p=WoTNS.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fwotns%2Fui%2Fweb%2FWebInterface.java;h=02b410a5bef9d63ad7238b929234ee430928ee5d;hp=4151531d069dcb594342d4e337eeb9933832f321;hb=398a5c00128093b788055acded4ac0e8c6e041a8;hpb=622c4a4d3ebed447d5708a41cf3e1e82e18fa29b diff --git a/src/main/java/net/pterodactylus/wotns/ui/web/WebInterface.java b/src/main/java/net/pterodactylus/wotns/ui/web/WebInterface.java index 4151531..02b410a 100644 --- a/src/main/java/net/pterodactylus/wotns/ui/web/WebInterface.java +++ b/src/main/java/net/pterodactylus/wotns/ui/web/WebInterface.java @@ -24,17 +24,24 @@ import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; +import net.pterodactylus.util.template.ClassPathTemplateProvider; +import net.pterodactylus.util.template.CollectionSortFilter; import net.pterodactylus.util.template.HtmlFilter; import net.pterodactylus.util.template.ReflectionAccessor; import net.pterodactylus.util.template.Template; import net.pterodactylus.util.template.TemplateContextFactory; import net.pterodactylus.util.template.TemplateParser; +import net.pterodactylus.util.web.StaticPage; import net.pterodactylus.wotns.freenet.wot.Identity; +import net.pterodactylus.wotns.main.IdentityComparator; import net.pterodactylus.wotns.main.WoTNSPlugin; +import net.pterodactylus.wotns.template.HttpRequestAccessor; import net.pterodactylus.wotns.template.IdentityAccessor; +import net.pterodactylus.wotns.web.FreenetRequest; import net.pterodactylus.wotns.web.PageToadlet; import net.pterodactylus.wotns.web.PageToadletFactory; import freenet.clients.http.ToadletContainer; +import freenet.support.api.HTTPRequest; /** * TODO @@ -55,7 +62,12 @@ public class WebInterface { templateContextFactory.addAccessor(Object.class, new ReflectionAccessor()); templateContextFactory.addAccessor(Identity.class, new IdentityAccessor()); + templateContextFactory.addAccessor(HTTPRequest.class, new HttpRequestAccessor()); templateContextFactory.addFilter("html", new HtmlFilter()); + CollectionSortFilter sortFilter = new CollectionSortFilter(); + sortFilter.addComparator(Identity.class, IdentityComparator.NAME); + templateContextFactory.addFilter("sort", sortFilter); + templateContextFactory.addProvider(new ClassPathTemplateProvider(WebInterface.class)); } // @@ -96,14 +108,17 @@ public class WebInterface { pageToadlets.add(pageToadletFactory.createPageToadlet(new ResolverPage(unknownTemplate, this, wotNSPlugin.getResolver()))); pageToadlets.add(pageToadletFactory.createPageToadlet(new IndexPage(indexTemplate, this), "Index")); pageToadlets.add(pageToadletFactory.createPageToadlet(new ManagePage(manageTemplate, this))); + pageToadlets.add(pageToadletFactory.createPageToadlet(new EnableIdentityPage(new Template(), this))); pageToadlets.add(pageToadletFactory.createPageToadlet(new AddTargetPage(addTargetTemplate, this))); + pageToadlets.add(pageToadletFactory.createPageToadlet(new EditTargetPage(new Template(), this))); + pageToadlets.add(pageToadletFactory.createPageToadlet(new StaticPage("css/", "/static/css/", "text/css"))); ToadletContainer toadletContainer = wotNSPlugin.getToadletContainer(); - toadletContainer.getPageMaker().addNavigationCategory("/tns/index.html", "Navigation.Menu.Name", "Navigation.Menu.Tooltip", wotNSPlugin); + toadletContainer.getPageMaker().addNavigationCategory("/tns/index.html", "Navigation.Menu.WoTNS.Name", "Navigation.Menu.WoTNS.Tooltip", wotNSPlugin); for (PageToadlet toadlet : pageToadlets) { String menuName = toadlet.getMenuName(); if (menuName != null) { - toadletContainer.register(toadlet, "Navigation.Menu.Name", toadlet.path(), true, "Navigation.Menu.Item." + menuName + ".Name", "Navigation.Menu.Item." + menuName + ".Tooltip", false, toadlet); + toadletContainer.register(toadlet, "Navigation.Menu.WoTNS.Name", toadlet.path(), true, "Navigation.Menu.WoTNS.Item." + menuName + ".Name", "Navigation.Menu.WoTNS.Item." + menuName + ".Tooltip", false, toadlet); } else { toadletContainer.register(toadlet, null, toadlet.path(), true, false); } @@ -118,7 +133,7 @@ public class WebInterface { for (PageToadlet pageToadlet : pageToadlets) { toadletContainer.unregister(pageToadlet); } - toadletContainer.getPageMaker().removeNavigationCategory("Navigation.Menu.Name"); + toadletContainer.getPageMaker().removeNavigationCategory("Navigation.Menu.WoTNS.Name"); } /**