X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=src%2Fclub%2Fwpia%2Fgigi%2Fpages%2Fmain%2FSignup.java;h=6b8dd75ff1fdfc3ea65aa5a44f447d45cc4b66c1;hb=526cc24f432b26d09f255b24d5d0f7844917c967;hp=d9b2cc1f8de65fc0744c023a72e555fa370062cb;hpb=39f9de33cf93e893cf61a3f21a2af61c7b1eebfc;p=gigi.git diff --git a/src/club/wpia/gigi/pages/main/Signup.java b/src/club/wpia/gigi/pages/main/Signup.java index d9b2cc1f..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 { @@ -53,7 +54,7 @@ public class Signup extends Form { vars.put("name", ni); vars.put("dob", myDoB); vars.put("email", HTMLEncoder.encodeHTML(email)); - 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); @@ -127,13 +128,13 @@ public class Signup extends Form { } else if ( !pw1.equals(pw2)) { ga.mergeInto(new GigiApiException("Passwords don't match")); } - int pwpoints = PasswordStrengthChecker.checkpw(pw1, ni.getNamePartsPlain(), email); - if (pwpoints < 3) { - ga.mergeInto(new GigiApiException(new SprintfCommand("The Password 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", "!''")))); - } 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);