<%@page import="com.sun.mail.handlers.message_rfc822"%><%@ 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.messaging.*" import="org.starhope.appius.except.*" import="org.starhope.appius.pay.util.*" import="org.starhope.appius.types.AgeBracket" import="com.tootsville.WebUtil" import="javax.naming.NamingException" %><% //---------- 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 */ Person sessionUser=null; User childUser=null; /** * Error message list */ HashMap err = new HashMap (); HashMap storeValues = new HashMap (); %><% String ccType = ""; String ccNum = ""; String ccExpMonth = ""; String ccExpYear = ""; String ccv = ""; String firstName = ""; String lastName = ""; String email = ""; String phoneNumber = ""; String country = ""; String address = ""; String locality = ""; String state = ""; String province = ""; String zip = ""; String mem = ""; String toot = ""; String city = ""; if (null!=request.getParameter("mem") && null!=request.getParameter("toot") && !request.getParameter("mem").equals("") && !request.getParameter("toot").equals("")) { mem=request.getParameter("mem"); toot=request.getParameter("toot"); } else { err.put("username", Messages.login_invalid()); session.setAttribute("sError", err); response.sendRedirect("/membership/register/premium/billing.jsp?mem=" + mem); } if (null!=request.getParameter("ccType") && null!=request.getParameter("ccNum") && null!=request.getParameter("ccExpMonth") && null!=request.getParameter("ccExpYear") && null!=request.getParameter("ccv") && null!=request.getParameter("firstName") && null!=request.getParameter("lastName") && null!=request.getParameter("email") && null!=request.getParameter("country") && null!=request.getParameter("address") && null!=request.getParameter("zip") && !request.getParameter("ccType").equals("") && !request.getParameter("ccNum").equals("") && !request.getParameter("ccExpMonth").equals("") && !request.getParameter("ccExpYear").equals("") && !request.getParameter("ccv").equals("") && !request.getParameter("firstName").equals("") && !request.getParameter("lastName").equals("") && !request.getParameter("email").equals("") && !request.getParameter("country").equals("") && !request.getParameter("address").equals("") && !request.getParameter("zip").equals("")) { ccType=request.getParameter("ccType"); storeValues.put("ccType", ccType); ccNum=request.getParameter("ccNum"); storeValues.put("ccNum", ccNum); ccExpMonth=request.getParameter("ccExpMonth"); storeValues.put("ccExpMonth", ccExpMonth); ccExpYear=request.getParameter("ccExpYear"); storeValues.put("ccExpYear", ccExpYear); ccv=request.getParameter("ccv"); storeValues.put("ccv", ccv); firstName=request.getParameter("firstName"); storeValues.put("firstName", firstName); lastName=request.getParameter("lastName"); storeValues.put("lastName", lastName); email=request.getParameter("email"); storeValues.put("email", email); country=request.getParameter("country"); storeValues.put("country", country); address=request.getParameter("address"); storeValues.put("address", address); zip=request.getParameter("zip"); storeValues.put("zip", zip); if (country.equals("eu")) { country=request.getParameter("eu_country"); System.err.println("Eu checkout"); } if (null!=request.getParameter("phoneNumber") && !request.getParameter("phoneNumber").equals("")) { phoneNumber=request.getParameter("phoneNumber"); storeValues.put("phoneNumber", phoneNumber); } if (null!=request.getParameter("state") && !request.getParameter("state").equals("")) { state=request.getParameter("state"); storeValues.put("state", phoneNumber); } if (null!=request.getParameter("locality") && !request.getParameter("locality").equals("")) { locality=request.getParameter("locality"); storeValues.put("state", locality); } if (null!=request.getParameter("province") && !request.getParameter("province").equals("")) { province=request.getParameter("province"); storeValues.put("province", province); } if (null!=request.getParameter("city") && !request.getParameter("city").equals("")) { city=request.getParameter("city"); storeValues.put("city", city); } session.setAttribute("storeValues", storeValues); String userID = session.getAttribute("sUserID").toString(); String password = session.getAttribute("sUserPassword").toString(); String userType = session.getAttribute("sUserType").toString(); if (userType.equals(WebUtil.USER)) { sessionUser=User.getByID(Integer.parseInt(userID)); if (!((User )sessionUser).canMakePurchase()) { ((User) sessionUser).setParent(Parent.getOrCreateByMail(email)); ((User) sessionUser).parentApprovedAccount(true); ((User) sessionUser).parentApprovedName(true); } System.err.println("A user is checking out: " + ((User) sessionUser).getUserNameOrRequest() + "."); } else if (userType.equals(WebUtil.PARENT)) { sessionUser=Parent.getByID(Integer.parseInt(userID)); childUser = User.getByID(Integer.parseInt(toot)); System.err.println("A Parent is checking out this child: " + childUser.getUserNameOrRequest() + "."); if (null==childUser) err.put("username", Messages.select_toot_upgrade()); // TODO change message } else { System.err.println("A user isn't logged in with a userType session."); } if (ccNum.length()<5) err.put("ccNum", "That credit card number seems to be invalid."); if (null==sessionUser) err.put("username", Messages.login_invalid()); } else { if (null==request.getParameter("ccType") || request.getParameter("ccType").equals("")) err.put("ccType", Messages.blank_field("Credit Card Type select")); else { ccType=request.getParameter("ccType"); storeValues.put("ccType", ccType); } if (null==request.getParameter("ccNum") || request.getParameter("ccNum").equals("")) err.put("ccNum", Messages.blank_field("Credit Card Number")); else { ccNum=request.getParameter("ccNum"); storeValues.put("ccNum", ccNum); } if (null==request.getParameter("ccExpMonth") || request.getParameter("ccExpMonth").equals("")) err.put("ccExpMonth", Messages.blank_field("Credit Card Expiration Month")); else { ccExpMonth=request.getParameter("ccExpMonth"); storeValues.put("ccExpMonth", ccExpMonth); } if (null==request.getParameter("ccExpYear") || request.getParameter("ccExpYear").equals("")) err.put("ccExpYear", Messages.blank_field("Credit Card Expiration Year")); else{ ccExpYear=request.getParameter("ccExpYear"); storeValues.put("ccExpYear", ccExpYear); } if (null==request.getParameter("ccv") || request.getParameter("ccv").equals("")) err.put("ccv", Messages.blank_field("CCV")); if (null==request.getParameter("firstName") || request.getParameter("firstName").equals("")) err.put("firstName", Messages.blank_field("first name")); else { firstName=request.getParameter("firstName"); storeValues.put("firstName", firstName); } if (null==request.getParameter("lastName") || request.getParameter("lastName").equals("")) err.put("lastName", Messages.blank_field("last name")); else { lastName=request.getParameter("lastName"); storeValues.put("lastName", lastName); } if (null==request.getParameter("email") || request.getParameter("email").equals("")) err.put("email", Messages.blank_field("e-mail")); else { email=request.getParameter("email"); storeValues.put("email", email); } if (null==request.getParameter("country") || request.getParameter("country").equals("")) err.put("country", Messages.blank_field("country")); else { country=request.getParameter("country"); storeValues.put("country", country); if (country.equals("eu")) { country=request.getParameter("eu_country").substring(1); System.err.println("Eu checkout"); storeValues.put("country", "." + country); } } if (null==request.getParameter("address") || request.getParameter("country").equals("")) err.put("address", Messages.blank_field("address")); else{ address=request.getParameter("address"); storeValues.put("address", address); } if (null==request.getParameter("zip") || request.getParameter("country").equals("")) err.put("zip", Messages.blank_field("zip code")); else { zip=request.getParameter("zip"); storeValues.put("zip", zip); } if (null!=request.getParameter("phoneNumber") && !request.getParameter("phoneNumber").equals("")) { phoneNumber=request.getParameter("phoneNumber"); storeValues.put("phoneNumber", phoneNumber); } if (null!=request.getParameter("state") && !request.getParameter("state").equals("")) { state=request.getParameter("state"); storeValues.put("state", phoneNumber); } if (null!=request.getParameter("locality") && !request.getParameter("locality").equals("")) { locality=request.getParameter("locality"); storeValues.put("state", locality); } if (null!=request.getParameter("province") && !request.getParameter("province").equals("")) { province=request.getParameter("province"); storeValues.put("province", province); } if (null!=request.getParameter("city") && !request.getParameter("city").equals("")) { city=request.getParameter("city"); storeValues.put("city", city); } session.setAttribute("storeValues", storeValues); } session.setAttribute("storeValues", storeValues); %><% //----------- Verify the session and create a User or Parent Object //----------- This should be placed on any of the 'logged in' sections on the website. String userID=session.getAttribute("sUserID").toString(); String userPassword=session.getAttribute("sUserPassword").toString(); String userType=session.getAttribute("sUserType").toString(); if (userType.equals(WebUtil.USER)) { sessionUser=(User)WebUtil.verifyUserLogin(userID, userPassword); } else if (userType.equals(WebUtil.PARENT)) { sessionUser=(Parent)WebUtil.verifyParentLogin(userID, userPassword); } if (null==sessionUser) { err.put("username", Messages.login_invalid()); } %><% //----------- Error handling: Place this on every page. //----------- These errors are read and displayed by Header.jsp if (err.size() > 0) { /** If there was any errors caught, return to last page with the error message. */ session.setAttribute("sError", err); System.err.println ("Someone made some mistakes on the billing page."); String url = "/membership/register/premium/billing.jsp?mem=" + mem + "&toot=" + toot; System.err.println("URL: " + url); response.sendRedirect (url); } else { %> Tootsvilleâ„¢ Membership

Check Out

Please review your billing information and click 'Process Now' to complete the transaction. If any of the information is incorrect, please click the 'Back' button and make the necessary changes.

Review Your Information
Name: <%= firstName + " " + lastName %>
Address: <%= address %> Zip: <%= zip %>
State/Territory: <% if (country.equals("us") || country.equals("au") || country.equals("in")) out.println(state); if (country.equals("ca")) out.println(province); if (country.equals("uk")) out.println(locality); %> Country: <% if (country.equals("us")) out.println("United States"); if (country.equals("in")) out.println("India"); if (country.equals("ca")) out.println("Canada"); if (country.equals("tt")) out.println("Trinidad & Tobago"); if (country.equals("uk")) out.println("United Kingdom"); if (country.equals("ky")) out.println("Cayman Islands"); if (country.equals("eu")) out.println(country); %>

Toot: <% if (sessionUser instanceof User) { out.print(((User) sessionUser).getUserNameOrRequest ()); System.err.println("Child paying: " + ((User) sessionUser).getUserNameOrRequest()); } else { if (null!=childUser) { out.print(childUser.getUserNameOrRequest ()); System.err.println("Parent paying: " + childUser.getUserNameOrRequest ()); } else { System.err.println("child object not created"); } } %> E-mail: <%= email %>
Membership: <% if (mem.equals("2995")) { %>$29.95 Semi Annual Recurring<% } else if (mem.equals("5795")) { %>$57.95 Annual Recurring<% } else { %>$5.95 Monthly Recurring<% }%>

Credit Card: ************<%= ccNum.substring(ccNum.length()-5, ccNum.length()-1) %> Expiration: <%= ccExpMonth %> / <%= ccExpYear %>
<% } %>