X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FSoneTemplatePage.java;h=f969208ee4c6efa653ef828fe3911831a138a59d;hb=c339c07590bd70cd03a0871d08455b673188fe7b;hp=a04873dfd1ec3f1ce188d49c55da84214853a67a;hpb=4063955ca29367290922c49234f88cb7591a849f;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/SoneTemplatePage.java b/src/main/java/net/pterodactylus/sone/web/SoneTemplatePage.java index a04873d..f969208 100644 --- a/src/main/java/net/pterodactylus/sone/web/SoneTemplatePage.java +++ b/src/main/java/net/pterodactylus/sone/web/SoneTemplatePage.java @@ -25,7 +25,7 @@ import java.util.Collection; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.main.SonePlugin; import net.pterodactylus.sone.web.page.Page; -import net.pterodactylus.sone.web.page.TemplatePage; +import net.pterodactylus.sone.web.page.FreenetTemplatePage; import net.pterodactylus.util.template.Template; import net.pterodactylus.util.template.TemplateContext; import freenet.clients.http.SessionManager.Session; @@ -37,11 +37,14 @@ import freenet.support.api.HTTPRequest; * * @author David ‘Bombe’ Roden */ -public class SoneTemplatePage extends TemplatePage { +public class SoneTemplatePage extends FreenetTemplatePage { /** The Sone core. */ protected final WebInterface webInterface; + /** The page title l10n key. */ + private final String pageTitleKey; + /** Whether to require a login. */ private final boolean requireLogin; @@ -53,6 +56,21 @@ public class SoneTemplatePage extends TemplatePage { * The path of the page * @param template * The template to render + * @param webInterface + * The Sone web interface + */ + public SoneTemplatePage(String path, Template template, WebInterface webInterface) { + this(path, template, null, webInterface, false); + } + + /** + * Creates a new template page for Freetalk that does not require the user + * to be logged in. + * + * @param path + * The path of the page + * @param template + * The template to render * @param pageTitleKey * The l10n key of the page title * @param webInterface @@ -69,6 +87,22 @@ public class SoneTemplatePage extends TemplatePage { * The path of the page * @param template * The template to render + * @param webInterface + * The Sone web interface + * @param requireLogin + * Whether this page requires a login + */ + public SoneTemplatePage(String path, Template template, WebInterface webInterface, boolean requireLogin) { + this(path, template, null, webInterface, requireLogin); + } + + /** + * Creates a new template page for Freetalk. + * + * @param path + * The path of the page + * @param template + * The template to render * @param pageTitleKey * The l10n key of the page title * @param webInterface @@ -77,7 +111,8 @@ public class SoneTemplatePage extends TemplatePage { * Whether this page requires a login */ public SoneTemplatePage(String path, Template template, String pageTitleKey, WebInterface webInterface, boolean requireLogin) { - super(path, webInterface.getTemplateContextFactory(), template, webInterface.getL10n(), pageTitleKey, "noPermission.html"); + super(path, webInterface.getTemplateContextFactory(), template, "noPermission.html"); + this.pageTitleKey = pageTitleKey; this.webInterface = webInterface; this.requireLogin = requireLogin; template.getInitialContext().set("webInterface", webInterface); @@ -163,6 +198,17 @@ public class SoneTemplatePage extends TemplatePage { * {@inheritDoc} */ @Override + protected String getPageTitle(Request request) { + if (pageTitleKey != null) { + return webInterface.getL10n().getString(pageTitleKey); + } + return ""; + } + + /** + * {@inheritDoc} + */ + @Override protected Collection getStyleSheets() { return Arrays.asList("css/sone.css"); }