package controllers; import java.io.*; import java.util.logging.*; import models.LdapUser; import play.mvc.*; import play.libs.Crypto; import play.data.validation.*; import play.*; import play.i18n.Messages; public class Registration extends BaseController { public static void index( String password1, String password2, String firstname, String lastname, String email, String signature ) throws LocalizedException { try { if (!signature.equals(Crypto.sign(firstname+lastname+email))) throw new LocalizedException("msg_signature_no_match"); if (password1==null || password1.length()<6) throw new LocalizedException("error_short_pass_msg"); if (!password1.equals(password2)) throw new LocalizedException("error_pass_no_match_msg"); if (!password1.matches(".*[a-zA-Z].*")) throw new LocalizedException("error_alpha_pass_msg"); if (!password1.matches(".*[0-9].*")) throw new LocalizedException("error_num_pass_msg"); String login = normalize(firstname, lastname); LdapUser user = new LdapUser(email, password1, firstname, lastname, login); if (userExists(login)) { user.updateUser(email, password1, firstname, lastname); } else { user.addUser(); } flash.now("success", Messages.get("registration_success", login)); } catch (LocalizedException e) { flash.now("error", e.getMessage()); } render(); } }