From ae46fa2e6d3d0c0fe9487331b6e4796cf10396fb Mon Sep 17 00:00:00 2001 From: jrandom <jrandom> Date: Sun, 13 Nov 2005 04:46:28 +0000 Subject: [PATCH] allow the user to change their password --- apps/syndie/java/src/net/i2p/syndie/BlogManager.java | 10 +++++++++- .../java/src/net/i2p/syndie/web/BaseServlet.java | 8 ++++++++ .../java/src/net/i2p/syndie/web/ProfileServlet.java | 10 ++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/apps/syndie/java/src/net/i2p/syndie/BlogManager.java b/apps/syndie/java/src/net/i2p/syndie/BlogManager.java index f3fd0fb1c2..b755245b45 100644 --- a/apps/syndie/java/src/net/i2p/syndie/BlogManager.java +++ b/apps/syndie/java/src/net/i2p/syndie/BlogManager.java @@ -284,6 +284,14 @@ public class BlogManager { } } + public boolean changePasswrd(User user, String oldPass, String pass0, String pass1) { + boolean ok = user.changePassword(oldPass, pass0, pass1); + if (ok) + saveUser(user); + return ok; + } + + public User login(String login, String pass) { User u = new User(_context); String ok = login(u, login, pass); @@ -438,7 +446,7 @@ public class BlogManager { private static final String PROP_DEFAULT_LOGIN = "syndie.defaultSingleUserLogin"; private static final String PROP_DEFAULT_PASS = "syndie.defaultSingleUserPass"; - private String getDefaultLogin() { + public String getDefaultLogin() { String login = _context.getProperty(PROP_DEFAULT_LOGIN); if ( (login == null) || (login.trim().length() <= 0) ) login = DEFAULT_LOGIN; diff --git a/apps/syndie/java/src/net/i2p/syndie/web/BaseServlet.java b/apps/syndie/java/src/net/i2p/syndie/web/BaseServlet.java index 19ea125902..b220c07538 100644 --- a/apps/syndie/java/src/net/i2p/syndie/web/BaseServlet.java +++ b/apps/syndie/java/src/net/i2p/syndie/web/BaseServlet.java @@ -319,6 +319,14 @@ public abstract class BaseServlet extends HttpServlet { } } + String pass0 = req.getParameter("password"); + String pass1 = req.getParameter("passwordConfirm"); + String oldPass = req.getParameter("oldPassword"); + + if ( (pass0 != null) && (pass1 != null) && (pass0.equals(pass1)) ) { + BlogManager.instance().changePasswrd(user, oldPass, pass0, pass1); + } + boolean updated = BlogManager.instance().updateMetadata(user, user.getBlog(), opts); } diff --git a/apps/syndie/java/src/net/i2p/syndie/web/ProfileServlet.java b/apps/syndie/java/src/net/i2p/syndie/web/ProfileServlet.java index 7aed5bc241..abb94154ff 100644 --- a/apps/syndie/java/src/net/i2p/syndie/web/ProfileServlet.java +++ b/apps/syndie/java/src/net/i2p/syndie/web/ProfileServlet.java @@ -87,6 +87,16 @@ public class ProfileServlet extends BaseServlet { } out.write("</textarea></td></tr>\n"); + if (user.getAuthenticated()) { + if ( (user.getUsername() == null) || (user.getUsername().equals(BlogManager.instance().getDefaultLogin())) ) { + // this is the default user, don't let them change the password + } else { + out.write("<tr><td colspan=\"3\">Old Password: <input type=\"password\" name=\"oldPassword\" /></td></tr>\n"); + out.write("<tr><td colspan=\"3\">Password: <input type=\"password\" name=\"password\" /></td></tr>\n"); + out.write("<tr><td colspan=\"3\">Password again: <input type=\"password\" name=\"passwordConfirm\" /></td></tr>\n"); + } + } + out.write("<tr><td colspan=\"3\"><input type=\"submit\" name=\"action\" value=\"Update profile\" /></td></tr>\n"); out.write("</form>\n"); } -- GitLab