]> WPIA git - gigi.git/commitdiff
Add an assure-search-page.
authorFelix Dörre <felix@dogcraft.de>
Wed, 25 Jun 2014 21:47:29 +0000 (23:47 +0200)
committerFelix Dörre <felix@dogcraft.de>
Wed, 25 Jun 2014 21:47:37 +0000 (23:47 +0200)
src/org/cacert/gigi/Gigi.java
src/org/cacert/gigi/pages/wot/AssurePage.java [new file with mode: 0644]
src/org/cacert/gigi/pages/wot/AssureeSearch.templ [new file with mode: 0644]

index 78924e822687909511c231cfa8dd5a52417804c3..7900c2ed21b66e311de5337f7a95f654d1a4b916 100644 (file)
@@ -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 (file)
index 0000000..9c7707a
--- /dev/null
@@ -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<String, Object> vars = new HashMap<String, Object>();
+               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 (file)
index 0000000..915b0d3
--- /dev/null
@@ -0,0 +1,19 @@
+<form method="POST">\r
+<table class="wrapper" width="300">\r
+  <tr>\r
+    <td colspan="2" class="title"><?=_Assure Someone?></td>\r
+  </tr>\r
+  <tr>\r
+    <td class="DataTD" width="125"><?=_Email?>: </td>\r
+    <td class="DataTD" width="125"><input type="text" name="email"></td>\r
+  </tr>\r
+  <tr>\r
+    <td class="DataTD" width="125"><?=_Date of Birth?><br>\r
+           (<?=_dd/mm/yyyy?>)</td>\r
+    <td class="DataTD" width="125"><?=$DoB?></td>\r
+  </tr>\r
+  <tr>\r
+    <td class="DataTD" colspan="2"><input type="submit" name="process" value="<?=_Next?>"></td>\r
+  </tr>\r
+</table>\r
+</form>\r