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.util.template.DataProvider;
import net.pterodactylus.util.template.Template;
import freenet.clients.http.SessionManager.Session;
import freenet.clients.http.ToadletContext;
}
/**
+ * Returns the currently logged in Sone.
+ *
+ * @param toadletContext
+ * The toadlet context
+ * @param create
+ * {@code true} to create a new session if no session exists,
+ * {@code false} to not create a new session
+ * @return The currently logged in Sone, or {@code null} if no Sone is
+ * currently logged in
+ */
+ protected Sone getCurrentSone(ToadletContext toadletContext, boolean create) {
+ return webInterface.getCurrentSone(toadletContext, create);
+ }
+
+ /**
* Sets the currently logged in Sone.
*
* @param toadletContext
* {@inheritDoc}
*/
@Override
- protected void processTemplate(Request request, Template template) throws RedirectException {
- super.processTemplate(request, template);
- template.set("currentSone", getCurrentSone(request.getToadletContext()));
- template.set("request", request);
+ protected void processTemplate(Request request, DataProvider dataProvider) throws RedirectException {
+ super.processTemplate(request, dataProvider);
+ dataProvider.set("currentSone", getCurrentSone(request.getToadletContext(), false));
+ dataProvider.set("request", request);
+ dataProvider.set("currentVersion", SonePlugin.VERSION);
+ dataProvider.set("hasLatestVersion", webInterface.getCore().getUpdateChecker().hasLatestVersion());
+ dataProvider.set("latestVersion", webInterface.getCore().getUpdateChecker().getLatestVersion());
+ dataProvider.set("latestVersionTime", webInterface.getCore().getUpdateChecker().getLatestVersionDate());
}
/**
*/
@Override
protected String getRedirectTarget(Page.Request request) {
- if (requiresLogin() && (getCurrentSone(request.getToadletContext()) == null)) {
+ if (requiresLogin() && (getCurrentSone(request.getToadletContext(), false) == null)) {
return "login.html";
}
return null;
@Override
public boolean isEnabled(ToadletContext toadletContext) {
if (requiresLogin()) {
- return getCurrentSone(toadletContext) != null;
+ return getCurrentSone(toadletContext, false) != null;
}
return true;
}