X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Fclub%2Fwpia%2Fgigi%2Fpages%2Fmain%2FSignup.java;h=6b8dd75ff1fdfc3ea65aa5a44f447d45cc4b66c1;hp=07d7f9126cf93606e0e88668b3327f93b6ee2f07;hb=a068c177bb6cdbc3b117038047818ae58f9aa1de;hpb=caaee5b5f3867ab8f7057f04e9824bb14fe077d2 diff --git a/src/club/wpia/gigi/pages/main/Signup.java b/src/club/wpia/gigi/pages/main/Signup.java index 07d7f912..6b8dd75f 100644 --- a/src/club/wpia/gigi/pages/main/Signup.java +++ b/src/club/wpia/gigi/pages/main/Signup.java @@ -8,6 +8,7 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; +import club.wpia.gigi.Gigi; import club.wpia.gigi.GigiApiException; import club.wpia.gigi.database.GigiPreparedStatement; import club.wpia.gigi.database.GigiResultSet; @@ -23,10 +24,10 @@ import club.wpia.gigi.output.template.SprintfCommand; import club.wpia.gigi.output.template.Template; import club.wpia.gigi.output.template.TranslateCommand; import club.wpia.gigi.pages.Page; +import club.wpia.gigi.passwords.PasswordStrengthChecker; import club.wpia.gigi.util.CalendarUtil; import club.wpia.gigi.util.HTMLEncoder; import club.wpia.gigi.util.Notary; -import club.wpia.gigi.util.PasswordStrengthChecker; import club.wpia.gigi.util.RateLimit.RateLimitException; public class Signup extends Form { @@ -37,8 +38,6 @@ public class Signup extends Form { private static final Template t = new Template(Signup.class.getResource("Signup.templ")); - private boolean general = true, country = true, regional = true, radius = true; - private CountrySelector cs; public Signup(HttpServletRequest hsr) { @@ -55,11 +54,7 @@ public class Signup extends Form { vars.put("name", ni); vars.put("dob", myDoB); vars.put("email", HTMLEncoder.encodeHTML(email)); - vars.put("general", general ? " checked=\"checked\"" : ""); - vars.put("country", country ? " checked=\"checked\"" : ""); - vars.put("regional", regional ? " checked=\"checked\"" : ""); - vars.put("radius", radius ? " checked=\"checked\"" : ""); - vars.put("helpOnNames", new SprintfCommand("Help on Names {0}in the wiki{1}", Arrays.asList("!(/wiki/names", "!'"))); + vars.put("helpOnNames", new SprintfCommand("Help on Names {0}in the knowledge base{1}", Arrays.asList("!(/kb/names", "!'"))); vars.put("csrf", getCSRFToken()); vars.put("dobmin", User.MINIMUM_AGE + ""); vars.put("countryCode", cs); @@ -70,10 +65,6 @@ public class Signup extends Form { if (r.getParameter("email") != null) { email = r.getParameter("email"); } - general = "1".equals(r.getParameter("general")); - country = "1".equals(r.getParameter("country")); - regional = "1".equals(r.getParameter("regional")); - radius = "1".equals(r.getParameter("radius")); GigiApiException problems = new GigiApiException(); try { ni.update(r); @@ -133,17 +124,17 @@ public class Signup extends Form { String pw1 = req.getParameter("pword1"); String pw2 = req.getParameter("pword2"); if (pw1 == null || pw1.equals("")) { - ga.mergeInto(new GigiApiException("Pass Phrases were blank")); + ga.mergeInto(new GigiApiException("Passwords were blank")); } else if ( !pw1.equals(pw2)) { - ga.mergeInto(new GigiApiException("Pass Phrases don't match")); - } - int pwpoints = PasswordStrengthChecker.checkpw(pw1, ni.getNamePartsPlain(), email); - if (pwpoints < 3) { - ga.mergeInto(new GigiApiException(new SprintfCommand("The Pass Phrase you submitted failed to contain enough differing characters and/or contained words from your name and/or email address. For the current requirements and to learn more, visit our {0}FAQ{1}.", Arrays.asList("!(/wiki/goodPassword", "!''")))); + ga.mergeInto(new GigiApiException("Passwords don't match")); } if ( !ga.isEmpty()) { throw ga; } + GigiApiException gaPassword = Gigi.getPasswordChecker().checkPassword(pw1, ni.getNamePartsPlain(), email); + if (gaPassword != null) { + throw gaPassword; + } GigiApiException ga2 = new GigiApiException(); try (GigiPreparedStatement q1 = new GigiPreparedStatement("SELECT * FROM `emails` WHERE `email`=? AND `deleted` IS NULL"); GigiPreparedStatement q2 = new GigiPreparedStatement("SELECT * FROM `certOwners` INNER JOIN `users` ON `users`.`id`=`certOwners`.`id` WHERE `email`=? AND `deleted` IS NULL")) { q1.setString(1, email); @@ -190,15 +181,6 @@ public class Signup extends Form { private void run(HttpServletRequest req, String password) throws GigiApiException { User u = new User(email, password, myDoB.getDate(), Page.getLanguage(req).getLocale(), cs.getCountry(), ni.getNameParts()); - - try (GigiPreparedStatement ps = new GigiPreparedStatement("INSERT INTO `alerts` SET `memid`=?," + " `general`=?, `country`=?, `regional`=?, `radius`=?")) { - ps.setInt(1, u.getId()); - ps.setBoolean(2, general); - ps.setBoolean(3, country); - ps.setBoolean(4, regional); - ps.setBoolean(5, radius); - ps.execute(); - } Notary.writeUserAgreement(u, "ToS", "account creation", "", true, 0); }