From e10fa0abc72abd9b4080ebd3c2986b101c7c35ea Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Wed, 25 Jun 2014 23:47:29 +0200 Subject: [PATCH] Add an assure-search-page. --- src/org/cacert/gigi/Gigi.java | 2 + src/org/cacert/gigi/pages/wot/AssurePage.java | 66 +++++++++++++++++++ .../cacert/gigi/pages/wot/AssureeSearch.templ | 19 ++++++ 3 files changed, 87 insertions(+) create mode 100644 src/org/cacert/gigi/pages/wot/AssurePage.java create mode 100644 src/org/cacert/gigi/pages/wot/AssureeSearch.templ diff --git a/src/org/cacert/gigi/Gigi.java b/src/org/cacert/gigi/Gigi.java index 78924e82..7900c2ed 100644 --- a/src/org/cacert/gigi/Gigi.java +++ b/src/org/cacert/gigi/Gigi.java @@ -25,6 +25,7 @@ import org.cacert.gigi.pages.Verify; import org.cacert.gigi.pages.account.MailCertificates; import org.cacert.gigi.pages.account.MyDetails; import org.cacert.gigi.pages.main.RegisterPage; +import org.cacert.gigi.pages.wot.AssurePage; import org.eclipse.jetty.util.log.Log; public class Gigi extends HttpServlet { @@ -44,6 +45,7 @@ public class Gigi extends HttpServlet { pages.put("/", new MainPage("CACert - Home")); pages.put("/secure", new TestSecure()); pages.put(Verify.PATH, new Verify()); + pages.put(AssurePage.PATH, new AssurePage()); pages.put(MailCertificates.PATH, new MailCertificates()); pages.put(MyDetails.PATH, new MyDetails()); pages.put(RegisterPage.PATH, new RegisterPage()); diff --git a/src/org/cacert/gigi/pages/wot/AssurePage.java b/src/org/cacert/gigi/pages/wot/AssurePage.java new file mode 100644 index 00000000..9c7707a2 --- /dev/null +++ b/src/org/cacert/gigi/pages/wot/AssurePage.java @@ -0,0 +1,66 @@ +package org.cacert.gigi.pages.wot; + +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.HashMap; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.cacert.gigi.database.DatabaseConnection; +import org.cacert.gigi.output.DateSelector; +import org.cacert.gigi.output.Template; +import org.cacert.gigi.pages.Page; + +public class AssurePage extends Page { + public static final String PATH = "/wot/assure"; + DateSelector ds = new DateSelector("day", "month", "year"); + Template t; + + public AssurePage() { + super("Assure someone"); + t = new Template(new InputStreamReader( + AssurePage.class.getResourceAsStream("AssureeSearch.templ"))); + } + + @Override + public void doGet(HttpServletRequest req, HttpServletResponse resp) + throws IOException { + PrintWriter out = resp.getWriter(); + HashMap vars = new HashMap(); + vars.put("DoB", ds); + t.output(out, getLanguage(req), vars); + } + @Override + public void doPost(HttpServletRequest req, HttpServletResponse resp) + throws IOException { + PrintWriter out = resp.getWriter(); + System.out.println("searching for"); + try { + PreparedStatement ps = DatabaseConnection.getInstance().prepare( + "SELECT id FROM users WHERE email=? AND dob=?"); + ps.setString(1, req.getParameter("email")); + String day = req.getParameter("year") + "-" + + req.getParameter("month") + "-" + req.getParameter("day"); + ps.setString(2, day); + ResultSet rs = ps.executeQuery(); + int id = 0; + if (rs.next()) { + id = rs.getInt(1); + } + if (rs.next()) { + out.println("Error, ambigous user. Please contact support@cacert.org"); + } else { + out.println("Found member: " + id); + } + + rs.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } +} diff --git a/src/org/cacert/gigi/pages/wot/AssureeSearch.templ b/src/org/cacert/gigi/pages/wot/AssureeSearch.templ new file mode 100644 index 00000000..915b0d3f --- /dev/null +++ b/src/org/cacert/gigi/pages/wot/AssureeSearch.templ @@ -0,0 +1,19 @@ +
+ + + + + + + + + + + + + + + +
:

+ ()
+
-- 2.39.2