<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*" import="com.tootsville.user.*" import="org.starhope.appius.user.*" import="org.starhope.appius.mb.Messages" import="com.tootsville.WebUtil" %><% //---------- Universal Declarations: Place this on every page. /** * Parent/User object. On myAccount this should be declared User and on parent this should be declared Parent */ Toot sessionUser=null; /** * Error message list */ /** * Success message list */ String url = "/membership/my-account"; %><% System.err.println("Trying to change password."); if (null!=request.getParameter("oldPassword") && null!=request.getParameter("newPassword") && null!=request.getParameter("newPasswordConfirm") && null!=session.getAttribute("sUserID") && null!=session.getAttribute("sUserType") && !request.getParameter("oldPassword").equals("") && !request.getParameter("newPassword").equals("") && !request.getParameter("newPasswordConfirm").equals("") && !session.getAttribute("sUserID").equals("") && session.getAttribute("sUserType").equals(WebUtil.USER)) { System.err.println("It's going through."); String oldPassword = request.getParameter("oldPassword"); String newPassword = request.getParameter("newPassword"); String newPasswordConfirm = request.getParameter("newPasswordConfirm"); sessionUser = (Toot) User.getByID(Integer.parseInt(session.getAttribute("sUserID").toString())); if (null!=sessionUser) { if (sessionUser.checkPassword(oldPassword)) { if (!sessionUser.getPassword().equals(newPassword)) { if (User.MIN_PW_LENGTH<=newPassword.length()) { if (newPassword.equals(newPasswordConfirm)) { sessionUser.setPassword(newPassword); WebUtil.log (sessionUser.getUserName() + " (" + sessionUser.getUserID() + ") has updated their password to " + newPassword + "."); suc.put("", Messages.getText("password_change")); } else { err.put("newPassword", Messages.getText("password_mismatch")); WebUtil.log (sessionUser.getUserName() + " (" + sessionUser.getUserID() + ") entered two passwords that did not match when trying to change it."); } } else { err.put("newPassword", Messages.getText("password_length")); WebUtil.log (sessionUser.getUserName() + " (" + sessionUser.getUserID() + ") tried to set a new password that was too short."); } } else { err.put("newPassword", Messages.getText("password_same")); WebUtil.log (sessionUser.getUserName() + " (" + sessionUser.getUserID() + ") tried to change their password to the same thing."); } } else { err.put("oldPassword", Messages.getText("password_invalid")); WebUtil.log (sessionUser.getUserName() + " (" + sessionUser.getUserID() + ") mistyped their old password when trying to change it."); } } else { err.put("", Messages.getText("login_invalid")); } } else { if (null==request.getParameter("oldPassword") || request.getParameter("oldPassword").equals("")) err.put("oldPassword", Messages.blank_field("old password")); if (null==request.getParameter("newPassword") || request.getParameter("newPassword").equals("")) err.put("oldPassword", Messages.blank_field("new password")); if (null==request.getParameter("newPasswordConfirm") || request.getParameter("newPasswordConfirm").equals("")) err.put("oldPassword", Messages.blank_field("new password confirmation")); if (null==session.getAttribute("sUserID") || session.getAttribute("sUserID").equals("") || null==session.getAttribute("sUserType")) { err.put("", Messages.getText("login_invalid")); url = "/membership/"; } } if (err.size() > 0) { /** If there was any errors caught, return to last page with the error message. */ session.setAttribute("sError", err); } if (suc.size() > 0) { /** If there was any success messages, return to last page with the message. */ session.setAttribute("sSuccess", suc); } response.sendRedirect(response.encodeRedirectURL(url)); %>