1 package org.cacert.gigi.pages;
3 import java.io.IOException;
4 import java.io.PrintWriter;
5 import java.sql.PreparedStatement;
6 import java.sql.ResultSet;
7 import java.sql.SQLException;
9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
12 import org.cacert.gigi.database.DatabaseConnection;
14 public class Verify extends Page {
15 public static final String PATH = "/verify";
17 super("Verify email");
20 public boolean needsLogin() {
24 public void doGet(HttpServletRequest req, HttpServletResponse resp)
26 PrintWriter out = resp.getWriter();
27 String hash = req.getParameter("hash");
28 String type = req.getParameter("type");
29 String id = req.getParameter("id");
30 if ("email".equals(type)) {
32 PreparedStatement ps = DatabaseConnection
35 "select email, memid from `email` where `id`=? and `hash`=? and `hash` != '' and `deleted` = 0");
37 ps.setString(2, hash);
38 ResultSet rs = ps.executeQuery();
40 if (rs.getRow() == 1) {
41 PreparedStatement ps1 = DatabaseConnection
44 "update `email` set `hash`='', `modified`=NOW() where `id`=?");
47 PreparedStatement ps2 = DatabaseConnection
50 "update `users` set `verified`='1' where `id`=? and `email`=? and `verified`='0'");
51 ps2.setString(1, rs.getString(2));
52 ps2.setString(2, rs.getString(1));
54 out.println("Your email is good.");
56 out.println("Your request is invalid");
58 } catch (SQLException e) {
64 public void doPost(HttpServletRequest req, HttpServletResponse resp)
66 String hash = req.getParameter("hash");
67 String type = req.getParameter("type");
68 if ("email".equals(type)) {