Guest User

Untitled

a guest
Jan 4th, 2019
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. // funcion que genera un string random
  2. function random_str($length, $keyspace = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
  3. {
  4. $pieces = [];
  5. $max = mb_strlen($keyspace, '8bit') - 1;
  6.  
  7. for ($i = 0; $i < $length; ++$i) {
  8. $pieces []= $keyspace[random_int(0, $max)];
  9. }
  10.  
  11. return implode('', $pieces);
  12. }
  13.  
  14.  
  15. public function forget_pass()
  16. {
  17. // verifica que es un metodo post
  18. if ($this->request->('get')){
  19. $email_user = $this->request->data['email'];
  20.  
  21. // verificar que el mail existe
  22. $user = $this->Users->find('all', array('conditions' => array('Users.email' => $email_user)))->firt();
  23.  
  24. // si el usuario no existe
  25. if ($user == null){
  26. $this->Flash->success('Este email no se encuentra registrado.');
  27. }
  28. else{
  29.  
  30. // genera una nueva contraseña random de cuatro caracteres
  31. $new_password = random_str(4);
  32.  
  33. // se envia el correo a la direccion del usuario
  34. $email = new Email('default');
  35. $email->setFrom(['[email protected]' => 'ServiBat'])
  36. ->setTo($email_user);
  37. ->setSubject('Nueva contraseña'),
  38. ->send($new_password);
  39.  
  40. $user->password = $new_password;
  41.  
  42. //si la nueva contraseña se guarda con exito
  43. if($this->Users->save($user)){
  44. $this->Flash->success('Error al cambiar la nueva pasword.');
  45. }
  46. }
  47. }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment