// New -- returns data in HashMap private static Map viewSignups( HttpServletRequest req, PrintWriter out, Connection con, boolean json_mode) { int wait_list_id = 0; int wait_list_signup_id = 0; int sum_players = 0; int date = 0; int pos = 1; int time = SystemUtils.getTime(con); int today_date = (int) SystemUtils.getDate(con); int start_time = 0; int end_time = 0; int count = 0; int index = 0; int player_index = 0; Map waitlist_map = new HashMap(); waitlist_map.put("options", new HashMap()); waitlist_map.put("signups", new LinkedHashMap()); String sindex = req.getParameter( "index"); // index value of day (needed by Proshop_waitlist_slot when returning) String id = req.getParameter("waitListId"); // uid of the wait list we are working with String course = (req.getParameter("course") == null) ? "" : req.getParameter("course"); String returnCourse = (req.getParameter("returnCourse") == null) ? "" : req.getParameter("returnCourse"); String sdate = (req.getParameter("sdate") == null) ? "" : req.getParameter("sdate"); String name = (req.getParameter("name") == null) ? "" : req.getParameter("name"); String day_name = (req.getParameter("day_name") == null) ? "" : req.getParameter("day_name"); String sstart_time = (req.getParameter("start_time") == null) ? "" : req.getParameter("start_time"); String send_time = (req.getParameter("end_time") == null) ? "" : req.getParameter("end_time"); // String count = (req.getParameter("count") == null) ? "" : req.getParameter("count"); String jump = req.getParameter("jump"); String fullName = ""; String cw = ""; String notes = ""; String nineHole = ""; PreparedStatement pstmt = null; PreparedStatement pstmt2 = null; boolean tmp_found = false; boolean tmp_found2 = false; boolean master = (req.getParameter("view") != null && req.getParameter("view").equals("master")); boolean show_notes = (req.getParameter("show_notes") != null && req.getParameter("show_notes").equals("yes")); boolean alt_row = false; boolean tmp_converted = false; try { date = Integer.parseInt(sdate); index = Integer.parseInt(sindex); wait_list_id = Integer.parseInt(id); start_time = Integer.parseInt(sstart_time); end_time = Integer.parseInt(send_time); } catch (NumberFormatException e) { } try { count = getWaitList.getListCount(wait_list_id, date, index, time, !master, con); } catch (Exception exp) { out.println(exp.getMessage()); } // // isolate yy, mm, dd // int yy = date / 10000; int temp = yy * 10000; int mm = date - temp; temp = mm / 100; temp = temp * 100; int dd = mm - temp; mm = mm / 100; String report_date = SystemUtils.getLongDateTime(today_date, time, " at ", con); if (!json_mode) { out.println("<br>"); out.println( "<h3 align=center>" + ((master) ? "Master Wait List Sign-up Sheet" : "Current Wait List Sign-ups") + "</h3>"); out.println("<p align=center><font size=3><b><i>\"" + name + "\"</i></b></font></p>"); out.println("<table border=0 align=center>"); out.println("<tr><td><font size=\"2\">"); out.println( "Date: <b>" + day_name + " " + mm + "/" + dd + "/" + yy + "</b></td>"); out.println("<td> </td><td>"); if (!course.equals("")) { out.println("<font size=\"2\">Course: <b>" + course + "</b></font>"); } out.println("</td></tr>"); out.println( "<tr><td><font size=\"2\">Time: <b>" + SystemUtils.getSimpleTime(start_time) + " to " + SystemUtils.getSimpleTime(end_time) + "</b></font></td>"); out.println("<td></td>"); out.println("<td><font size=\"2\">Signups: <b>" + count + "</b></font></td>"); out.println("</table>"); out.println( "<p align=center><font size=2><b><i>List Generated on " + report_date + "</i></b></font></p>"); out.println("<table align=center border=1 bgcolor=\"#F5F5DC\">"); if (master) { out.println( "<tr bgcolor=\"#8B8970\" align=center style=\"color: black; font-weight: bold\">" + "<td height=35> Pos </td>" + "<td>Sign-up Time</td>" + "<td>Members</td>" + "<td>Desired Time</td>" + "<td> Players </td>" + "<td> On Sheet </td>" + "<td>Converted At</td>" + "<td> Converted By </td>" + ((show_notes) ? "<td> Notes </td>" : "") + "</tr>"); } else { out.println( "<tr bgcolor=\"#8B8970\" align=center style=\"color: black; font-weight: bold\">" + "<td height=35> Pos </td>" + "<td>Members</td>" + "<td>Desired Time</td>" + "<td> Players </td>" + ((show_notes) ? "<td> Notes </td>" : "") + "</tr>"); // + // "<td> On Sheet </td>" + // "</tr>"); // ((multi == 0) ? "" : "<td>Course</td>") + } out.println( "<!-- wait_list_id=" + wait_list_id + ", date=" + date + ", time=" + time + " -->"); } try { pstmt = con.prepareStatement( "" + "SELECT *, " + "DATE_FORMAT(created_datetime, '%c/%e/%y %r') AS created_time, " + "DATE_FORMAT(converted_at, '%c/%e/%y %r') AS converted_time " + // %l:%i %p "FROM wait_list_signups " + "WHERE wait_list_id = ? AND date = ? " + ((master) ? "" : "AND converted = 0 ") + ((!master && sindex.equals("0")) ? "AND ok_etime > ? " : "") + "ORDER BY created_datetime"); pstmt.clearParameters(); pstmt.setInt(1, wait_list_id); pstmt.setInt(2, date); if (!master && sindex.equals("0")) { pstmt.setInt(3, time); } ResultSet rs = pstmt.executeQuery(); while (rs.next()) { wait_list_signup_id = rs.getInt("wait_list_signup_id"); if (json_mode) { ((Map) waitlist_map.get("signups")) .put("signup_id_" + wait_list_signup_id, new LinkedHashMap()); ((Map) ((Map) waitlist_map.get("signups")).get("signup_id_" + wait_list_signup_id)) .put("players", new LinkedHashMap()); ((Map) ((Map) waitlist_map.get("signups")).get("signup_id_" + wait_list_signup_id)) .put("options", new HashMap()); } else { out.print( "<tr align=center" + ((alt_row) ? " style=\"background-color:white\"" : "") + "><td>" + pos + "</td>"); if (master) { out.println("<td> " + rs.getString("created_time") + " </td>"); } out.print("<td align=left>"); } // if (multi == 1) out.println("<td>" + rs.getString("course") + "</td>"); // // Display players in this signup // pstmt2 = con.prepareStatement( "" + "SELECT * " + "FROM wait_list_signups_players " + "WHERE wait_list_signup_id = ? " + "ORDER BY pos"); pstmt2.clearParameters(); pstmt2.setInt(1, wait_list_signup_id); ResultSet rs2 = pstmt2.executeQuery(); tmp_found2 = false; player_index = 0; while (rs2.next()) { if (json_mode) { player_index++; ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("players")) .put("player_" + player_index, new HashMap()); ((Map) ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("players")) .get("player_" + player_index)) .put("player_name", rs2.getString("player_name")); ((Map) ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("players")) .get("player_" + player_index)) .put("player_name", rs2.getString("player_name")); ((Map) ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("players")) .get("player_" + player_index)) .put("cw", rs2.getString("cw")); ((Map) ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("players")) .get("player_" + player_index)) .put("9hole", rs2.getInt("9hole")); } else { fullName = rs2.getString("player_name"); cw = rs2.getString("cw"); if (rs2.getInt("9hole") == 1) { cw = cw + "9"; } if (tmp_found2) { out.print(", "); } else { out.print(" "); } out.print(fullName + " <font style=\"font-size:9px\">(" + cw + ")</font>"); tmp_found2 = true; } sum_players++; nineHole = ""; // reset } pstmt2.close(); if (json_mode) { ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("options")) .put("notes", notes); ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("options")) .put("created_time", rs.getInt("created_time")); ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("options")) .put("converted", rs.getInt("converted")); ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("options")) .put("converted_time", rs.getString("converted_time")); ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("options")) .put("converted_by", rs.getString("converted_by")); ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("options")) .put("start_time", SystemUtils.getSimpleTime(rs.getInt("ok_stime"))); ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("options")) .put("end_time", SystemUtils.getSimpleTime(rs.getInt("ok_etime"))); ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("options")) .put("wait_list_signup_id", wait_list_signup_id); ((Map) ((Map) ((Map) waitlist_map.get("signups")) .get("signup_id_" + wait_list_signup_id)) .get("options")) .put("player_count", sum_players); } else { out.print("</td>"); out.println( "<td> " + SystemUtils.getSimpleTime(rs.getInt("ok_stime")) + " - " + SystemUtils.getSimpleTime(rs.getInt("ok_etime")) + " </td>"); out.println("<td>" + sum_players + "</td>"); if (master) { tmp_converted = rs.getInt("converted") == 1; out.println("<td>" + ((tmp_converted) ? "Yes" : "No") + "</td>"); out.println( "<td>" + ((tmp_converted) ? rs.getString("converted_time") : " ") + "</td>"); out.println( "<td>" + ((tmp_converted) ? rs.getString("converted_by") : " ") + "</td>"); } if (show_notes) { notes = rs.getString("notes").trim(); if (notes.equals("")) { notes = " "; } out.println("<td>" + notes + "</td>"); } out.print("</tr>"); } pos++; sum_players = 0; alt_row = alt_row == false; } pstmt.close(); } catch (Exception exc) { SystemUtils.buildDatabaseErrMsg( "Error loading wait list signups.", exc.toString(), out, false); } if (json_mode) { ((Map) waitlist_map.get("options")).put("index", sindex); ((Map) waitlist_map.get("options")).put("wait_list_id", wait_list_id); ((Map) waitlist_map.get("options")).put("date", "" + mm + "/" + dd + "/" + yy); ((Map) waitlist_map.get("options")).put("name", name); ((Map) waitlist_map.get("options")).put("time", time); ((Map) waitlist_map.get("options")).put("jump", jump); ((Map) waitlist_map.get("options")).put("returnCourse", returnCourse); ((Map) waitlist_map.get("options")).put("course", course); ((Map) waitlist_map.get("options")).put("master", master); ((Map) waitlist_map.get("options")).put("report_date", report_date); ((Map) waitlist_map.get("options")).put("show_notes", show_notes); } else { out.println("</table><br>"); out.println("<table align=center><tr>"); out.println("<form action=\"Member_jump\" method=\"POST\" target=\"_top\">"); out.println("<input type=\"hidden\" name=\"jump\" value=\"0\">"); out.println("<input type=\"hidden\" name=\"index\" value=" + sindex + ">"); out.println( "<input type=\"hidden\" name=\"course\" value=\"" + ((!returnCourse.equals("")) ? returnCourse : course) + "\">"); out.println("<td><input type=\"submit\" value=\"Tee Sheet\"></td></form>"); out.println("<td> </td>"); out.println("<form action=\"Member_waitlist\" method=\"POST\">"); out.println("<input type=\"hidden\" name=\"waitListId\" value=\"" + wait_list_id + "\">"); out.println("<input type=\"hidden\" name=\"date\" value=\"" + date + "\">"); out.println("<input type=\"hidden\" name=\"day\" value=\"" + day_name + "\">"); out.println("<input type=\"hidden\" name=\"index\" value=\"" + sindex + "\">"); out.println("<input type=\"hidden\" name=\"course\" value=\"" + course + "\">"); out.println("<input type=\"hidden\" name=\"returnCourse\" value=\"" + returnCourse + "\">"); out.println("<input type=\"hidden\" name=\"jump\" value=\"" + jump + "\">"); out.println("<td><input type=\"submit\" value=\"Return\"></td></form>"); out.println("</tr></table></form>"); out.println("<br>"); } return waitlist_map; } // end viewSignups
// ***************************************************** // Process the initial request from Proshop_main // ***************************************************** // public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // // Prevent caching so sessions are not mangled // resp.setHeader("Pragma", "no-cache"); // for HTTP 1.0 resp.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); // for HTTP 1.1 resp.setDateHeader("Expires", 0); // prevents caching at the proxy server resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); HttpSession session = SystemUtils.verifyHotel(req, out); // check for intruder if (session == null) { return; } String club = (String) session.getAttribute("club"); // get club name String user = (String) session.getAttribute("user"); if (req.getParameter("clubswitch") != null && req.getParameter("clubswitch").equals("1") && req.getParameter("club") != null) { // // Request is to switch clubs - switch the db (TPC or Demo sites) // String newClub = req.getParameter("club"); Connection con = null; // // release the old connection // ConnHolder holder = (ConnHolder) session.getAttribute("connect"); if (holder != null) { con = holder.getConn(); // get the connection for previous club } if (con != null) { /* // abandon any unfinished transactions try { con.rollback(); } catch (Exception ignore) {} */ // close/release the connection try { con.close(); } catch (Exception ignore) { } } // // Connect to the new club // try { con = dbConn.Connect(newClub); // get connection to this club's db } catch (Exception ignore) { } holder = new ConnHolder(con); session.setAttribute("club", newClub); session.setAttribute("connect", holder); out.println("<HTML><HEAD><Title>Switching Sites</Title>"); out.println("<meta http-equiv=\"Refresh\" content=\"0; url=/" + rev + "/hotel_home.htm\">"); out.println("</HEAD>"); out.println("<BODY><CENTER><BR>"); out.println("<BR><H2>Switching Sites</H2><BR>"); out.println("<a href=\"/" + rev + "/hotel_home.htm\" target=_top>Continue</a><br>"); out.println("</CENTER></BODY></HTML>"); out.close(); return; } // // Call is to display the Home page. // out.println("<html><head>"); out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">"); out.println("<meta http-equiv=\"Content-Language\" content=\"en-us\">"); out.println("<title> \"ForeTees Hotel Home Page\"</title>"); out.println( "<script language=\"JavaScript\" src=\"/" + rev + "/web utilities/foretees.js\"></script>"); out.println( "<style type=\"text/css\"> body {text-align: center} </style>"); // so body will align on // center out.println("</head>"); out.println("<body bgcolor=\"#CCCCAA\" text=\"#000000\">"); out.println("<div style=\"align:center; margin:0px auto;\">"); if (club.startsWith("tpc") && user.startsWith("passport")) { // if TPC Passport user out.println("<br><H3>Welcome to ForeTees</H3><br>"); String clubname = ""; String fullname = ""; Connection con = null; try { con = dbConn.Connect(rev); // get connection to the Vx db // // Get the club names for each TPC club // PreparedStatement pstmt = con.prepareStatement("SELECT fullname FROM clubs WHERE clubname=?"); pstmt.clearParameters(); pstmt.setString(1, club); ResultSet rs = pstmt.executeQuery(); if (rs.next()) { fullname = rs.getString("fullname"); // get the club's full name } out.println("<p>You are currently connected to: <b>" + fullname + "</b><br><br>"); out.println("To continue with this site, simply use the navigation menus above.<br><br>"); out.println("To switch sites, click on the desired club name below.</p><br>"); // // Get the club names for each TPC club // pstmt = con.prepareStatement( "SELECT clubname, fullname FROM clubs WHERE inactive=0 AND clubname LIKE 'tpc%' ORDER BY fullname"); pstmt.clearParameters(); rs = pstmt.executeQuery(); while (rs.next()) { clubname = rs.getString("clubname"); // get a club name if (clubname.startsWith("tpc")) { fullname = rs.getString("fullname"); // get the club's full name out.println( "<a href=\"Hotel_home?clubswitch=1&club=" + clubname + "\" target=_top>" + fullname + "</a><br>"); } } pstmt.close(); } catch (Exception e) { // Error connecting to db.... out.println( "<BR><BR>Sorry, we encountered an error while trying to connect to the database."); // out.println("<br><br>Error: " + e.toString() + "<br>"); out.println("<BR><BR> <A HREF=\"Hotel_home\">Return</A>."); out.println("</BODY></HTML>"); return; } } else { out.println( "<BR><BR> You have entered here by mistake. Please contact ForeTees Support at 651-765-6006."); out.println("</BODY></HTML>"); } out.println("</div></BODY></HTML>"); } // end of doGet