]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/main/Signup.java
Factor out email sending from "Signup".
[gigi.git] / src / org / cacert / gigi / pages / main / Signup.java
index 04f8114966bcc8c93fc100ab42d3550d6cbeb959..1847d9c29759168640b0b824ef28768dbd42b286 100644 (file)
@@ -1,9 +1,7 @@
 package org.cacert.gigi.pages.main;
 
 import java.io.IOException;
-import java.io.InputStreamReader;
 import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -13,19 +11,18 @@ import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
 
+import org.cacert.gigi.EmailAddress;
 import org.cacert.gigi.Language;
 import org.cacert.gigi.User;
 import org.cacert.gigi.database.DatabaseConnection;
 import org.cacert.gigi.email.EmailProvider;
 import org.cacert.gigi.output.DateSelector;
 import org.cacert.gigi.output.Form;
-import org.cacert.gigi.output.Template;
+import org.cacert.gigi.output.template.Template;
 import org.cacert.gigi.pages.Page;
 import org.cacert.gigi.util.HTMLEncoder;
 import org.cacert.gigi.util.Notary;
 import org.cacert.gigi.util.PasswordStrengthChecker;
-import org.cacert.gigi.util.RandomToken;
-import org.cacert.gigi.util.ServerConstants;
 
 public class Signup extends Form {
        User buildup = new User();
@@ -34,11 +31,7 @@ public class Signup extends Form {
 
        public Signup(HttpServletRequest hsr) {
                super(hsr);
-               try {
-                       t = new Template(new InputStreamReader(Signup.class.getResourceAsStream("Signup.templ"), "UTF-8"));
-               } catch (UnsupportedEncodingException e) {
-                       e.printStackTrace();
-               }
+               t = new Template(Signup.class.getResource("Signup.templ"));
                buildup.setFname("");
                buildup.setMname("");
                buildup.setLname("");
@@ -203,19 +196,14 @@ public class Signup extends Form {
        private void run(HttpServletRequest req, String password) throws SQLException {
                try {
                        DatabaseConnection.getInstance().beginTransaction();
-                       String hash = RandomToken.generateToken(16);
 
                        buildup.setDob(myDoB.getDate());
                        buildup.insert(password);
                        int memid = buildup.getId();
+                       EmailAddress ea = new EmailAddress(buildup.getEmail(), buildup);
+                       ea.insert(Page.getLanguage(req));
+
                        PreparedStatement ps = DatabaseConnection.getInstance().prepare(
-                               "insert into `email` set `email`=?," + " `hash`=?, `created`=NOW(),`memid`=?");
-                       ps.setString(1, buildup.getEmail());
-                       ps.setString(2, hash);
-                       ps.setInt(3, memid);
-                       ps.execute();
-                       int emailid = DatabaseConnection.lastInsertId(ps);
-                       ps = DatabaseConnection.getInstance().prepare(
                                "insert into `alerts` set `memid`=?," + " `general`=?, `country`=?, `regional`=?, `radius`=?");
                        ps.setInt(1, memid);
                        ps.setString(2, general ? "1" : "0");
@@ -225,28 +213,6 @@ public class Signup extends Form {
                        ps.execute();
                        Notary.writeUserAgreement(memid, "CCA", "account creation", "", true, 0);
 
-                       StringBuffer body = new StringBuffer();
-                       body.append(Page
-                               .translate(
-                                       req,
-                                       "Thanks for signing up with CAcert.org, below is the link you need to open to verify your account. Once your account is verified you will be able to start issuing certificates till your hearts' content!"));
-                       body.append("\n\nhttps://");
-                       body.append(ServerConstants.getWwwHostNamePort());
-                       body.append("/verify?type=email&id=");
-                       body.append(emailid);
-                       body.append("&hash=");
-                       body.append(hash);
-                       body.append("\n\n");
-                       body.append(Page.translate(req, "Best regards"));
-                       body.append("\n");
-                       body.append(Page.translate(req, "CAcert.org Support!"));
-                       try {
-                               EmailProvider.getInstance().sendmail(buildup.getEmail(),
-                                       "[CAcert.org] " + Page.translate(req, "Mail Probe"), body.toString(), "support@cacert.org", null,
-                                       null, null, null, false);
-                       } catch (IOException e) {
-                               e.printStackTrace();
-                       }
                        DatabaseConnection.getInstance().commitTransaction();
                } finally {
                        DatabaseConnection.getInstance().quitTransaction();