示例#1
0
 private function send_forgot_password_email($user_id)
 {
     $this->load->library('email');
     $this->load->helper('keygen');
     $user = new User($user_id);
     //////////////////////////////////////////////////
     // Generate a unique code                       //
     //////////////////////////////////////////////////
     $code = keygen_generate(64);
     $check = new PasswordReset();
     $check->where('code', $code);
     $check->get();
     while ($check->exists()) {
         $code = keygen_generate(64);
         $check = new PasswordReset();
         $check->where('code', $code);
         $check->get();
     }
     $reset = $user->passwordreset;
     $reset->get();
     if ($reset->exists()) {
         $reset->code = $code;
         $reset->save();
     } else {
         $reset = new PasswordReset();
         $reset->code = $code;
         $reset->save($user);
     }
     $this->user_session->set_account_invalid();
     $data['code'] = $reset->code;
     $data['user'] = array('id' => $user->id, 'firstname' => $user->firstname, 'lastname' => $user->lastname, 'email' => $user->email);
     $data['content'] = 'password_reset';
     $message = $this->load->view('email_master', $data, true);
     $this->email->from('*****@*****.**', 'OurVigor Support');
     $this->email->to($user->email);
     $this->email->subject('OurVigor Password Reset');
     $this->email->message($message);
     $this->email->send();
 }