package controllers; import java.util.Random; import notifiers.Mails; import play.data.validation.Email; import play.data.validation.Required; import play.libs.Codec; import play.mvc.Controller; public class User extends Controller { public static boolean register(@Email @Required String email) { if(request.isAjax()) { models.User testMail = models.User.find("email = ?", email).first(); if(testMail != null) { return false; } String AB = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; Random rnd = new Random(); StringBuilder sb = new StringBuilder(10); for(int i = 0; i < 10; i++) { sb.append(AB.charAt(rnd.nextInt(AB.length()))); } models.User u = new models.User(email, sb.toString()); u.save(); Mails.register(u.getEmail(), sb.toString()); return true; } else { return false; } } public static boolean remind(@Email @Required String email) { if(request.isAjax()) { models.User u = models.User.find("email = ?", email).first(); if(u == null) { return false; } String AB = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; Random rnd = new Random(); StringBuilder sb = new StringBuilder(10); for(int i = 0; i < 10; i++) { sb.append(AB.charAt(rnd.nextInt(AB.length()))); } u.setPassword(Codec.hexMD5(sb.toString())); u.save(); Mails.remind(u.getEmail(), sb.toString()); return true; } else { return false; } } public static boolean changePassword(@Required String newPassword) { if(request.isAjax()) { if(newPassword.isEmpty()) { return false; } models.User u = models.User.findById(Security.getUser().id); u.setPassword(Codec.hexMD5(newPassword)); u.save(); return true; } else { return false; } } }