Pastebin launched a little side project called HostCabi.net, check it out ;-)Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Nov 2nd, 2011  |  syntax: None  |  size: 2.33 KB  |  hits: 99  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package controllers;
  2.  
  3. import java.util.Random;
  4. import notifiers.Mails;
  5. import play.data.validation.Email;
  6. import play.data.validation.Required;
  7. import play.libs.Codec;
  8. import play.mvc.Controller;
  9.  
  10. public class User extends Controller
  11. {
  12.     public static boolean register(@Email @Required String email)
  13.     {
  14.         if(request.isAjax())
  15.         {
  16.             models.User testMail = models.User.find("email = ?", email).first();
  17.            
  18.             if(testMail != null)
  19.             {
  20.                 return false;
  21.             }
  22.            
  23.             String AB = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  24.             Random rnd = new Random();
  25.  
  26.             StringBuilder sb = new StringBuilder(10);
  27.  
  28.             for(int i = 0; i < 10; i++)
  29.             {
  30.                 sb.append(AB.charAt(rnd.nextInt(AB.length())));
  31.             }
  32.            
  33.             models.User u = new models.User(email, sb.toString());
  34.             u.save();
  35.  
  36.             Mails.register(u.getEmail(), sb.toString());
  37.  
  38.             return true;
  39.         }
  40.         else
  41.         {
  42.             return false;
  43.         }
  44.     }
  45.  
  46.     public static boolean remind(@Email @Required String email)
  47.     {
  48.         if(request.isAjax())
  49.         {
  50.             models.User u = models.User.find("email = ?", email).first();
  51.  
  52.             if(u == null)
  53.             {
  54.                 return false;
  55.             }
  56.  
  57.             String AB = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  58.             Random rnd = new Random();
  59.  
  60.             StringBuilder sb = new StringBuilder(10);
  61.  
  62.             for(int i = 0; i < 10; i++)
  63.             {
  64.                 sb.append(AB.charAt(rnd.nextInt(AB.length())));
  65.             }
  66.  
  67.             u.setPassword(Codec.hexMD5(sb.toString()));
  68.             u.save();
  69.  
  70.             Mails.remind(u.getEmail(), sb.toString());
  71.  
  72.             return true;
  73.         }
  74.         else
  75.         {
  76.             return false;
  77.         }
  78.     }
  79.    
  80.     public static boolean changePassword(@Required String newPassword)
  81.     {
  82.         if(request.isAjax())
  83.         {
  84.             if(newPassword.isEmpty())
  85.             {
  86.                 return false;
  87.             }
  88.            
  89.             models.User u = models.User.findById(Security.getUser().id);
  90.             u.setPassword(Codec.hexMD5(newPassword));
  91.             u.save();
  92.            
  93.             return true;
  94.         }
  95.         else
  96.         {
  97.             return false;
  98.         }
  99.     }
  100. }