X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpages%2FSoneTemplatePage.kt;h=7efd2bd2111796e5dd507e5030dc23d4b8ee1804;hp=1ff35a819bfb86d5c5fdde7588b34418611c083d;hb=6a3f1fede0cda5cd6ed56204aa1dd37a19813cb9;hpb=cd1f93dc057bdc6e89baeb41db0f749f2287224e diff --git a/src/main/kotlin/net/pterodactylus/sone/web/pages/SoneTemplatePage.kt b/src/main/kotlin/net/pterodactylus/sone/web/pages/SoneTemplatePage.kt index 1ff35a8..7efd2bd 100644 --- a/src/main/kotlin/net/pterodactylus/sone/web/pages/SoneTemplatePage.kt +++ b/src/main/kotlin/net/pterodactylus/sone/web/pages/SoneTemplatePage.kt @@ -2,7 +2,7 @@ package net.pterodactylus.sone.web.pages import freenet.clients.http.* import net.pterodactylus.sone.data.Sone -import net.pterodactylus.sone.main.SonePlugin +import net.pterodactylus.sone.main.* import net.pterodactylus.sone.utils.emptyToNull import net.pterodactylus.sone.web.SessionProvider import net.pterodactylus.sone.web.WebInterface @@ -18,15 +18,16 @@ import java.net.URLEncoder */ open class SoneTemplatePage @JvmOverloads constructor( path: String, - protected val webInterface: WebInterface, + private val webInterface: WebInterface, + loaders: Loaders, template: Template, private val pageTitleKey: String? = null, private val requiresLogin: Boolean = false, private val pageTitle: (FreenetRequest) -> String = { pageTitleKey?.let(webInterface.l10n::getString) ?: "" } -) : FreenetTemplatePage(path, webInterface.templateContextFactory, template, "noPermission.html") { +) : FreenetTemplatePage(path, webInterface.templateContextFactory, loaders, template, "noPermission.html") { private val core = webInterface.core - protected val sessionProvider: SessionProvider = webInterface + private val sessionProvider: SessionProvider = webInterface protected fun getCurrentSone(toadletContext: ToadletContext, createSession: Boolean = true) = sessionProvider.getCurrentSone(toadletContext, createSession) @@ -71,7 +72,7 @@ open class SoneTemplatePage @JvmOverloads constructor( handleRequest(freenetRequest, templateContext) } - internal open fun handleRequest(freenetRequest: FreenetRequest, templateContext: TemplateContext) { + open fun handleRequest(freenetRequest: FreenetRequest, templateContext: TemplateContext) { handleRequest(freenetRequest.toSoneRequest(core, webInterface), templateContext) } @@ -92,7 +93,7 @@ open class SoneTemplatePage @JvmOverloads constructor( private val String.urlEncode: String get() = URLEncoder.encode(this, "UTF-8") override fun isEnabled(toadletContext: ToadletContext) = - isEnabled(SoneRequest(toadletContext.uri, Method.GET, HTTPRequestImpl(toadletContext.uri, "GET"), toadletContext, webInterface.l10n, core, webInterface)) + isEnabled(SoneRequest(toadletContext.uri, Method.GET, HTTPRequestImpl(toadletContext.uri, "GET"), toadletContext, webInterface.l10n, webInterface.sessionManager, core, webInterface)) open fun isEnabled(soneRequest: SoneRequest) = when { requiresLogin && getCurrentSone(soneRequest.toadletContext) == null -> false