%@ 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/");
}
%>