Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function forget_pass()
- {
- // verifica que es un metodo post
- if ($this->request->is('get')){
- $email_user = $this->request->data['email'];
- // verificar que el mail existe
- $user = $this->Users->find('all', array('conditions' => array('Users.email' => $email_user)))->first();
- // si el usuario no existe
- if ($user == null){
- $this->Flash->success('Este email no se encuentra registrado.');
- }
- else{
- // genera una nueva contraseña random
- $keyspace = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
- $pieces = [];
- $max = mb_strlen($keyspace, '8bit') - 1;
- for ($i = 0; $i < 4; ++$i) {
- $pieces []= $keyspace[random_int(0, $max)];
- }
- $new_password = implode('', $pieces);
- // se envia el correo a la direccion del usuario
- $email = new Email('default');
- $email->setFrom([env('EMAIL_FROM', 'correosprueba1234@gmail.com') => env('EMAIL_NAME', 'Nueva Contraseña de ServiBat')])
- ->setTo($email_user,$user->nombre)
- ->setSubject('Nueva contraseña')
- ->send($new_password);
- $user->password = $new_password;
- //si la nueva contraseña se guarda con exito
- if(!$this->Users->save($user)){
- $this->Flash->success('Error al cambiar la nueva pasword.');
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement