]> WPIA git - gigi.git/blob - src/org/cacert/gigi/pages/main/Signup.java
Save partial entries into register page.
[gigi.git] / src / org / cacert / gigi / pages / main / Signup.java
1 package org.cacert.gigi.pages.main;
2
3 import java.io.InputStreamReader;
4 import java.io.PrintWriter;
5 import java.io.UnsupportedEncodingException;
6 import java.util.Date;
7 import java.util.HashMap;
8
9 import javax.servlet.ServletRequest;
10
11 import org.cacert.gigi.User;
12 import org.cacert.gigi.output.DateSelector;
13 import org.cacert.gigi.output.Template;
14 import org.cacert.gigi.pages.Page;
15 import org.cacert.gigi.util.HTMLEncoder;
16
17 public class Signup {
18         User buildup = new User();
19         String password;
20         Template t;
21         boolean general = true, country = true, regional = true, radius = true;
22         public Signup() {
23                 try {
24                         t = new Template(new InputStreamReader(
25                                         Signup.class.getResourceAsStream("Signup.templ"), "UTF-8"));
26                 } catch (UnsupportedEncodingException e) {
27                         e.printStackTrace();
28                 }
29                 buildup.setFname("");
30                 buildup.setMname("");
31                 buildup.setLname("");
32                 buildup.setSuffix("");
33                 buildup.setEmail("");
34                 buildup.setDob(new Date(0));
35         }
36         DateSelector myDoB = new DateSelector("day", "month", "year");
37
38         public void writeForm(PrintWriter out, ServletRequest req) {
39                 HashMap<String, Object> vars = new HashMap<String, Object>();
40                 vars.put("fname", HTMLEncoder.encodeHTML(buildup.getFname()));
41                 vars.put("mname", HTMLEncoder.encodeHTML(buildup.getMname()));
42                 vars.put("lname", HTMLEncoder.encodeHTML(buildup.getLname()));
43                 vars.put("suffix", HTMLEncoder.encodeHTML(buildup.getSuffix()));
44                 vars.put("dob", myDoB);
45                 vars.put("email", HTMLEncoder.encodeHTML(buildup.getEmail()));
46                 vars.put("general", general ? " checked=\"checked\"" : "");
47                 vars.put("country", country ? " checked=\"checked\"" : "");
48                 vars.put("regional", regional ? " checked=\"checked\"" : "");
49                 vars.put("radius", radius ? " checked=\"checked\"" : "");
50                 vars.put(
51                                 "helpOnNames",
52                                 String.format(
53                                                 Page.translate(req, "Help on Names %sin the wiki%s"),
54                                                 "<a href=\"//wiki.cacert.org/FAQ/HowToEnterNamesInJoinForm\" target=\"_blank\">",
55                                                 "</a>"));
56                 t.output(out, Page.getLanguage(req), vars);
57         }
58         public void update(ServletRequest r) {
59                 buildup.setFname(r.getParameter("fname"));
60                 buildup.setLname(r.getParameter("lname"));
61                 buildup.setMname(r.getParameter("mname"));
62                 buildup.setSuffix(r.getParameter("suffix"));
63                 buildup.setEmail(r.getParameter("email"));
64                 general = "1".equals(r.getParameter("general"));
65                 country = "1".equals(r.getParameter("country"));
66                 regional = "1".equals(r.getParameter("regional"));
67                 radius = "1".equals(r.getParameter("radius"));
68         }
69 }