X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FWebInterface.java;h=d2479938df5d6c357d95f8ef180cedff87b651be;hp=836145e8c3d420b54b78be537ad904e17b148fc3;hb=459a10b6fecbb12ca2359b34a85d4e884224f794;hpb=6b0fc27624fc311424452decc28da50a81f4ae2a diff --git a/src/main/java/net/pterodactylus/sone/web/WebInterface.java b/src/main/java/net/pterodactylus/sone/web/WebInterface.java index 836145e..d247993 100644 --- a/src/main/java/net/pterodactylus/sone/web/WebInterface.java +++ b/src/main/java/net/pterodactylus/sone/web/WebInterface.java @@ -112,6 +112,7 @@ import net.pterodactylus.sone.web.ajax.UnlikeAjaxPage; import net.pterodactylus.sone.web.ajax.UnlockSoneAjaxPage; import net.pterodactylus.sone.web.ajax.UntrustAjaxPage; import net.pterodactylus.sone.web.page.FreenetRequest; +import net.pterodactylus.sone.web.page.TemplateRenderer; import net.pterodactylus.sone.web.pages.AboutPage; import net.pterodactylus.sone.web.pages.BookmarkPage; import net.pterodactylus.sone.web.pages.BookmarksPage; @@ -131,10 +132,13 @@ import net.pterodactylus.sone.web.pages.EditAlbumPage; import net.pterodactylus.sone.web.pages.EditImagePage; import net.pterodactylus.sone.web.pages.EditProfileFieldPage; import net.pterodactylus.sone.web.pages.EditProfilePage; +import net.pterodactylus.sone.web.pages.EmptyAlbumTitlePage; +import net.pterodactylus.sone.web.pages.EmptyImageTitlePage; import net.pterodactylus.sone.web.pages.FollowSonePage; import net.pterodactylus.sone.web.pages.GetImagePage; import net.pterodactylus.sone.web.pages.ImageBrowserPage; import net.pterodactylus.sone.web.pages.IndexPage; +import net.pterodactylus.sone.web.pages.InvalidPage; import net.pterodactylus.sone.web.pages.KnownSonesPage; import net.pterodactylus.sone.web.pages.LikePage; import net.pterodactylus.sone.web.pages.LockSonePage; @@ -142,6 +146,7 @@ import net.pterodactylus.sone.web.pages.LoginPage; import net.pterodactylus.sone.web.pages.LogoutPage; import net.pterodactylus.sone.web.pages.MarkAsKnownPage; import net.pterodactylus.sone.web.pages.NewPage; +import net.pterodactylus.sone.web.pages.NoPermissionPage; import net.pterodactylus.sone.web.pages.OptionsPage; import net.pterodactylus.sone.web.pages.RescuePage; import net.pterodactylus.sone.web.pages.SearchPage; @@ -197,6 +202,7 @@ public class WebInterface implements SessionProvider { /** The template context factory. */ private final TemplateContextFactory templateContextFactory; + private final TemplateRenderer templateRenderer; /** The Sone text parser. */ private final SoneTextParser soneTextParser; @@ -263,6 +269,7 @@ public class WebInterface implements SessionProvider { public WebInterface(SonePlugin sonePlugin, Loaders loaders, ListNotificationFilter listNotificationFilter, PostVisibilityFilter postVisibilityFilter, ReplyVisibilityFilter replyVisibilityFilter, ElementLoader elementLoader, TemplateContextFactory templateContextFactory, + TemplateRenderer templateRenderer, ParserFilter parserFilter, ShortenFilter shortenFilter, RenderFilter renderFilter, LinkedElementRenderFilter linkedElementRenderFilter, @@ -273,6 +280,7 @@ public class WebInterface implements SessionProvider { this.postVisibilityFilter = postVisibilityFilter; this.replyVisibilityFilter = replyVisibilityFilter; this.elementLoader = elementLoader; + this.templateRenderer = templateRenderer; this.parserFilter = parserFilter; this.shortenFilter = shortenFilter; this.renderFilter = renderFilter; @@ -623,9 +631,6 @@ public class WebInterface implements SessionProvider { Template createAlbumTemplate = loaders.loadTemplate("/templates/createAlbum.html"); Template deleteAlbumTemplate = loaders.loadTemplate("/templates/deleteAlbum.html"); Template deleteImageTemplate = loaders.loadTemplate("/templates/deleteImage.html"); - Template noPermissionTemplate = loaders.loadTemplate("/templates/noPermission.html"); - Template emptyImageTitleTemplate = loaders.loadTemplate("/templates/emptyImageTitle.html"); - Template emptyAlbumTitleTemplate = loaders.loadTemplate("/templates/emptyAlbumTitle.html"); Template optionsTemplate = loaders.loadTemplate("/templates/options.html"); Template rescueTemplate = loaders.loadTemplate("/templates/rescue.html"); Template aboutTemplate = loaders.loadTemplate("/templates/about.html"); @@ -635,51 +640,51 @@ public class WebInterface implements SessionProvider { Template openSearchTemplate = loaders.loadTemplate("/templates/xml/OpenSearch.xml"); pageToadletRegistry.addPage(new RedirectPage("", "index.html")); - pageToadletRegistry.addPage(new IndexPage(indexTemplate, this, postVisibilityFilter)); - pageToadletRegistry.addPage(new NewPage(newTemplate, this)); - pageToadletRegistry.addPage(new CreateSonePage(createSoneTemplate, this)); - pageToadletRegistry.addPage(new KnownSonesPage(knownSonesTemplate, this)); - pageToadletRegistry.addPage(new EditProfilePage(editProfileTemplate, this)); - pageToadletRegistry.addPage(new EditProfileFieldPage(editProfileFieldTemplate, this)); - pageToadletRegistry.addPage(new DeleteProfileFieldPage(deleteProfileFieldTemplate, this)); - pageToadletRegistry.addPage(new CreatePostPage(createPostTemplate, this)); - pageToadletRegistry.addPage(new CreateReplyPage(createReplyTemplate, this)); - pageToadletRegistry.addPage(new ViewSonePage(viewSoneTemplate, this)); - pageToadletRegistry.addPage(new ViewPostPage(viewPostTemplate, this)); - pageToadletRegistry.addPage(new LikePage(emptyTemplate, this)); - pageToadletRegistry.addPage(new UnlikePage(emptyTemplate, this)); - pageToadletRegistry.addPage(new DeletePostPage(deletePostTemplate, this)); - pageToadletRegistry.addPage(new DeleteReplyPage(deleteReplyTemplate, this)); - pageToadletRegistry.addPage(new LockSonePage(emptyTemplate, this)); - pageToadletRegistry.addPage(new UnlockSonePage(emptyTemplate, this)); - pageToadletRegistry.addPage(new FollowSonePage(emptyTemplate, this)); - pageToadletRegistry.addPage(new UnfollowSonePage(emptyTemplate, this)); - pageToadletRegistry.addPage(new ImageBrowserPage(imageBrowserTemplate, this)); - pageToadletRegistry.addPage(new CreateAlbumPage(createAlbumTemplate, this)); - pageToadletRegistry.addPage(new EditAlbumPage(emptyTemplate, this)); - pageToadletRegistry.addPage(new DeleteAlbumPage(deleteAlbumTemplate, this)); - pageToadletRegistry.addPage(new UploadImagePage(invalidTemplate, this)); - pageToadletRegistry.addPage(new EditImagePage(emptyTemplate, this)); - pageToadletRegistry.addPage(new DeleteImagePage(deleteImageTemplate, this)); - pageToadletRegistry.addPage(new TrustPage(emptyTemplate, this)); - pageToadletRegistry.addPage(new DistrustPage(emptyTemplate, this)); - pageToadletRegistry.addPage(new UntrustPage(emptyTemplate, this)); - pageToadletRegistry.addPage(new MarkAsKnownPage(emptyTemplate, this)); - pageToadletRegistry.addPage(new BookmarkPage(emptyTemplate, this)); - pageToadletRegistry.addPage(new UnbookmarkPage(emptyTemplate, this)); - pageToadletRegistry.addPage(new BookmarksPage(bookmarksTemplate, this)); - pageToadletRegistry.addPage(new SearchPage(searchTemplate, this)); - pageToadletRegistry.addPage(new DeleteSonePage(deleteSoneTemplate, this)); - pageToadletRegistry.addPage(new LoginPage(loginTemplate, this)); - pageToadletRegistry.addPage(new LogoutPage(emptyTemplate, this)); - pageToadletRegistry.addPage(new OptionsPage(optionsTemplate, this)); - pageToadletRegistry.addPage(new RescuePage(rescueTemplate, this)); - pageToadletRegistry.addPage(new AboutPage(aboutTemplate, this, new PluginVersion(SonePlugin.getPluginVersion()), new PluginYear(sonePlugin.getYear()), new PluginHomepage(sonePlugin.getHomepage()))); - pageToadletRegistry.addPage(new SoneTemplatePage("noPermission.html", this, noPermissionTemplate, "Page.NoPermission.Title")); - pageToadletRegistry.addPage(new SoneTemplatePage("emptyImageTitle.html", this, emptyImageTitleTemplate, "Page.EmptyImageTitle.Title")); - pageToadletRegistry.addPage(new SoneTemplatePage("emptyAlbumTitle.html", this, emptyAlbumTitleTemplate, "Page.EmptyAlbumTitle.Title")); - pageToadletRegistry.addPage(new DismissNotificationPage(emptyTemplate, this)); - pageToadletRegistry.addPage(new SoneTemplatePage("invalid.html", this, invalidTemplate, "Page.Invalid.Title")); + pageToadletRegistry.addPage(new IndexPage(indexTemplate, this, loaders, templateRenderer, postVisibilityFilter)); + pageToadletRegistry.addPage(new NewPage(newTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new CreateSonePage(createSoneTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new KnownSonesPage(knownSonesTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new EditProfilePage(editProfileTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new EditProfileFieldPage(editProfileFieldTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DeleteProfileFieldPage(deleteProfileFieldTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new CreatePostPage(createPostTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new CreateReplyPage(createReplyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new ViewSonePage(viewSoneTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new ViewPostPage(viewPostTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new LikePage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new UnlikePage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DeletePostPage(deletePostTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DeleteReplyPage(deleteReplyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new LockSonePage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new UnlockSonePage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new FollowSonePage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new UnfollowSonePage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new ImageBrowserPage(imageBrowserTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new CreateAlbumPage(createAlbumTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new EditAlbumPage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DeleteAlbumPage(deleteAlbumTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new UploadImagePage(invalidTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new EditImagePage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DeleteImagePage(deleteImageTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new TrustPage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DistrustPage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new UntrustPage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new MarkAsKnownPage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new BookmarkPage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new UnbookmarkPage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new BookmarksPage(bookmarksTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new SearchPage(searchTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DeleteSonePage(deleteSoneTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new LoginPage(loginTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new LogoutPage(emptyTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new OptionsPage(optionsTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new RescuePage(rescueTemplate, this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new AboutPage(aboutTemplate, this, loaders, templateRenderer, new PluginVersion(SonePlugin.getPluginVersion()), new PluginYear(sonePlugin.getYear()), new PluginHomepage(sonePlugin.getHomepage()))); + pageToadletRegistry.addPage(new InvalidPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new NoPermissionPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new EmptyImageTitlePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new EmptyAlbumTitlePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DismissNotificationPage(emptyTemplate, this, loaders, templateRenderer)); pageToadletRegistry.addPage(loaders.loadStaticPage("css/", "/static/css/", "text/css")); pageToadletRegistry.addPage(loaders.loadStaticPage("javascript/", "/static/javascript/", "text/javascript")); pageToadletRegistry.addPage(loaders.loadStaticPage("images/", "/static/images/", "image/png"));