From: David ‘Bombe’ Roden Date: Tue, 29 Mar 2011 18:24:36 +0000 (+0200) Subject: Merge branch 'release-0.5.2' X-Git-Tag: 0.5.2^0 X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=commitdiff_plain;h=cf563ebda93371a3088a1789eb628ed568658b14;hp=963582b5c941b1abb4fa26555aece340184956e1 Merge branch 'release-0.5.2' --- diff --git a/pom.xml b/pom.xml index 229f2ef..0dfac6e 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 net.pterodactylus sone - 0.5.1 + 0.5.2 net.pterodactylus diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java index 7dc398e..e0373e9 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -817,7 +817,6 @@ public class Core implements IdentityListener, UpdateListener { @SuppressWarnings("synthetic-access") public void run() { if (!preferences.isSoneRescueMode()) { - soneDownloader.fetchSone(sone); return; } logger.log(Level.INFO, "Trying to restore Sone from Freenet…"); diff --git a/src/main/java/net/pterodactylus/sone/freenet/wot/WebOfTrustConnector.java b/src/main/java/net/pterodactylus/sone/freenet/wot/WebOfTrustConnector.java index b6d68d3..1802f2d 100644 --- a/src/main/java/net/pterodactylus/sone/freenet/wot/WebOfTrustConnector.java +++ b/src/main/java/net/pterodactylus/sone/freenet/wot/WebOfTrustConnector.java @@ -42,7 +42,7 @@ public class WebOfTrustConnector implements ConnectorListener { private static final Logger logger = Logging.getLogger(WebOfTrustConnector.class); /** The name of the WoT plugin. */ - private static final String WOT_PLUGIN_NAME = "plugins.WoT.WoT"; + private static final String WOT_PLUGIN_NAME = "plugins.WebOfTrust.WebOfTrust"; /** A random connection identifier. */ private static final String PLUGIN_CONNECTION_IDENTIFIER = "Sone-WoT-Connector-" + Math.abs(Math.random()); diff --git a/src/main/java/net/pterodactylus/sone/main/SonePlugin.java b/src/main/java/net/pterodactylus/sone/main/SonePlugin.java index 0f7f0e8..635b734 100644 --- a/src/main/java/net/pterodactylus/sone/main/SonePlugin.java +++ b/src/main/java/net/pterodactylus/sone/main/SonePlugin.java @@ -78,7 +78,7 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10 } /** The version. */ - public static final Version VERSION = new Version(0, 5, 1); + public static final Version VERSION = new Version(0, 5, 2); /** The logger. */ private static final Logger logger = Logging.getLogger(SonePlugin.class); diff --git a/src/main/java/net/pterodactylus/sone/web/LoginPage.java b/src/main/java/net/pterodactylus/sone/web/LoginPage.java index 1126f7b..eaa8351 100644 --- a/src/main/java/net/pterodactylus/sone/web/LoginPage.java +++ b/src/main/java/net/pterodactylus/sone/web/LoginPage.java @@ -72,7 +72,11 @@ public class LoginPage extends SoneTemplatePage { Sone selectedSone = webInterface.getCore().getLocalSone(soneId, false); if (selectedSone != null) { setCurrentSone(request.getToadletContext(), selectedSone); - throw new RedirectException("index.html"); + String target = request.getHttpRequest().getParam("target"); + if ((target == null) || (target.length() == 0)) { + target = "index.html"; + } + throw new RedirectException(target); } } List ownIdentitiesWithoutSone = CreateSonePage.getOwnIdentitiesWithoutSone(webInterface.getCore()); diff --git a/src/main/java/net/pterodactylus/sone/web/SoneTemplatePage.java b/src/main/java/net/pterodactylus/sone/web/SoneTemplatePage.java index a7df9c2..a04873d 100644 --- a/src/main/java/net/pterodactylus/sone/web/SoneTemplatePage.java +++ b/src/main/java/net/pterodactylus/sone/web/SoneTemplatePage.java @@ -17,6 +17,8 @@ package net.pterodactylus.sone.web; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.Arrays; import java.util.Collection; @@ -28,6 +30,7 @@ import net.pterodactylus.util.template.Template; import net.pterodactylus.util.template.TemplateContext; import freenet.clients.http.SessionManager.Session; import freenet.clients.http.ToadletContext; +import freenet.support.api.HTTPRequest; /** * Base page for the Freetalk web interface. @@ -204,7 +207,26 @@ public class SoneTemplatePage extends TemplatePage { @Override protected String getRedirectTarget(Page.Request request) { if (requiresLogin() && (getCurrentSone(request.getToadletContext(), false) == null)) { - return "login.html"; + HTTPRequest httpRequest = request.getHttpRequest(); + String originalUrl = httpRequest.getPath(); + if (httpRequest.hasParameters()) { + StringBuilder requestParameters = new StringBuilder(); + for (String parameterName : httpRequest.getParameterNames()) { + if (requestParameters.length() > 0) { + requestParameters.append("%26"); + } + String[] parameterValues = httpRequest.getMultipleParam(parameterName); + for (String parameterValue : parameterValues) { + try { + requestParameters.append(URLEncoder.encode(parameterName, "UTF-8")).append("%3d").append(URLEncoder.encode(parameterValue, "UTF-8")); + } catch (UnsupportedEncodingException uee1) { + /* A JVM without UTF-8? I don’t think so. */ + } + } + } + originalUrl += "?" + requestParameters.toString(); + } + return "login.html?target=" + originalUrl; } return null; } diff --git a/src/main/resources/templates/include/createSone.html b/src/main/resources/templates/include/createSone.html index 30ce0f7..c0df5c0 100644 --- a/src/main/resources/templates/include/createSone.html +++ b/src/main/resources/templates/include/createSone.html @@ -1,7 +1,7 @@ <%if !identitiesWithoutSone.empty>

<%= Page.Login.CreateSone.Title|l10n|html>

-

<%= View.CreateSone.Text.WotIdentityRequired|l10n|html|replace needle="{link}" replacement=''|replace needle="{/link}" replacement=''>

+

<%= View.CreateSone.Text.WotIdentityRequired|l10n|html|replace needle="{link}" replacement=''|replace needle="{/link}" replacement=''>

@@ -23,8 +23,8 @@
<%else> <%if !sones.empty> -

<%= View.CreateSone.Text.NoNonSoneIdentities|l10n|html|replace needle="{link}" replacement=''|replace needle="{/link}" replacement="">

+

<%= View.CreateSone.Text.NoNonSoneIdentities|l10n|html|replace needle="{link}" replacement=''|replace needle="{/link}" replacement="">

<%else> -

<%= View.CreateSone.Text.NoIdentities|l10n|html|replace needle="{link}" replacement=''|replace needle="{/link}" replacement="">

+

<%= View.CreateSone.Text.NoIdentities|l10n|html|replace needle="{link}" replacement=''|replace needle="{/link}" replacement="">

<%/if> <%/if> diff --git a/src/main/resources/templates/include/head.html b/src/main/resources/templates/include/head.html index a9fbb49..cd83600 100644 --- a/src/main/resources/templates/include/head.html +++ b/src/main/resources/templates/include/head.html @@ -36,7 +36,7 @@