<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*" import="javax.servlet.http.HttpServletRequest" import="org.starhope.appius.user.*" import="org.starhope.appius.mb.Messages" import="org.starhope.appius.except.*" import="org.starhope.appius.messaging.*" import="org.starhope.appius.types.AgeBracket" import="com.tootsville.WebUtil" %><% //---------- Universal Declarations: Place this on every page. /** * Error message list */ HashMap err = new HashMap (); /** * Success message list */ HashMap suc = new HashMap (); %><% String login = request.getParameter("login").toString(); if (null!=login && login.equalsIgnoreCase("user")) { String username = request.getParameter("uUsername"); String password = request.getParameter("uPassword"); System.err.println ("A user is logging in: " + username); boolean remember = (null!=request.getParameter("uRemember")); if (null!=username && null!=password && !username.equals("") && !password.equals("")) { User sessionUser = User.getByLogin(username); if (null!=sessionUser) { if (sessionUser.checkPassword(password)) { if (remember) { Cookie cookie = new Cookie ("username", username); cookie.setMaxAge(365 * 24 * 60 * 60); response.addCookie(cookie); } // Create session for user session.setAttribute("sUserID", ((User) sessionUser).getUserID()); session.setAttribute("sUserType", WebUtil.USER); session.setAttribute("sUserPassword", sessionUser.getPassword()); if (null==sessionUser.getResponsibleMail()) { // Redirect to collect email address System.out.println(sessionUser.getUserName() + " is not registered with an email, directing to prompt."); response.sendRedirect("/membership/register/email/"); } else { // Redirect user to account page System.out.println(sessionUser.getUserName() + " is registered with this email: " + sessionUser.getResponsibleMail()); response.sendRedirect("/membership/my-account/"); } } else { err.put("password", Messages.password_invalid()); } } else { err.put("username", Messages.user_does_not_exist()); System.err.println("Something is going wrong? A parent object wasn't created when the parent tried to log in."); } } else { if (null==username || username.equals("")) err.put("username", Messages.blank_field("username")); if (null==password || password.equals("")) err.put("password", Messages.blank_field("password")); } } else if (login.equalsIgnoreCase("parent")) { String username = request.getParameter("pUsername"); String password = request.getParameter("pPassword"); boolean remember = (null!=request.getParameter("pRemember")); if (null!=username && null!=password && !username.equals("") && !password.equals("")) { Parent sessionUser = Parent.getByMail(username); if (null!=sessionUser) { System.err.println("A parent, " + sessionUser.getDisplayName() + " is logging in."); if (sessionUser.checkPassword(password)) { if (remember) { Cookie cookie = new Cookie ("username",username); cookie.setMaxAge(365 * 24 * 60 * 60); response.addCookie(cookie); } if (null!=sessionUser.getMailConfirmed()) { // Create session for user session.setAttribute("sUserID", sessionUser.getID()); session.setAttribute("sUserType", WebUtil.PARENT); session.setAttribute("sUserPassword", sessionUser.getPassword()); // Redirect user to account page response.sendRedirect("/membership/parent/"); } else { err.put("username", "Please confirm your e-mail address."); System.err.println (sessionUser.getDisplayName() + " needs to confirm their e-mail."); session.setAttribute("sError", err); } } else { err.put("password", Messages.password_invalid()); } } else { err.put("username", Messages.user_does_not_exist()); } } else { if (null==username || username.equals("")) err.put("username", Messages.blank_field("username")); if (null==password || password.equals("")) err.put("password", Messages.blank_field("password")); } } else if (login.equalsIgnoreCase("billing")) { String username = request.getParameter("username"); String password = request.getParameter("password"); boolean remember = (null!=request.getParameter("uRemember")); if (0<=username.indexOf('@')) { Parent sessionUser = Parent.getByMail(username); if (null!=sessionUser) { if (sessionUser.checkPassword(password)) { if (remember) { Cookie cookie = new Cookie ("username",username); cookie.setMaxAge(365 * 24 * 60 * 60); response.addCookie(cookie); } // Create session for user session.setAttribute("sUserID", sessionUser.getID()); session.setAttribute("sUserType", WebUtil.PARENT); session.setAttribute("sUserPassword", sessionUser.getPassword()); // Create message with instructions suc.put ("", Messages.select_toot_upgrade()); session.setAttribute("sSuccess", suc); // Redirect user to account page response.sendRedirect("/membership/parent/"); } else { err.put("password", Messages.password_invalid()); } } else { err.put("username", Messages.user_does_not_exist()); } } else { if (null!=username && null!=password && !username.equals("") && !password.equals("")) { User sessionUser = User.getByLogin(username); if (null!=sessionUser) { if (sessionUser.checkPassword(password)) { if (remember) { Cookie cookie = new Cookie ("username",username); cookie.setMaxAge(365 * 24 * 60 * 60); response.addCookie(cookie); } // Create session for user session.setAttribute("sUserID", ((User) sessionUser).getUserID()); session.setAttribute("sUserType", WebUtil.USER); session.setAttribute("sUserPassword", sessionUser.getPassword()); if (null==sessionUser.getResponsibleMail()) { // Redirect to collect email address System.out.println(sessionUser.getUserName() + " is not registered with an email, directing to prompt."); response.sendRedirect("/membership/register/email/"); } else { // Redirect user to account page System.out.println(sessionUser.getUserName() + " is registered with this email: " + sessionUser.getResponsibleMail()); response.sendRedirect("/membership/register/premium/?toot=" + sessionUser.getUserID()); } } else { err.put("password", Messages.password_invalid()); } } else { err.put("username", Messages.user_does_not_exist()); } } else { if (null==username || username.equals("")) err.put("username", Messages.blank_field("username")); if (null==password || password.equals("")) err.put("password", Messages.blank_field("password")); } } if (err.size() > 0) { /** If there was any errors caught, return to last page with the error message. */ session.setAttribute("sError", err); response.sendRedirect("/register/premium/billing.jsp"); } } else { err.put("username", Messages.login_invalid()); System.err.println ("--Error-- " ); Map params = request.getParameterMap(); for ( Object key : params.keySet() ) { System.err.println (" " + key.toString () + " = " + params.get(key).toString () ); } System.err.println (request.getParameter("login").toString()); } if (err.size() > 0) { /** If there was any errors caught, return to last page with the error message. */ session.setAttribute("sError", err); response.sendRedirect("/membership/"); } %>