示例#1
0
 public function reset_password()
 {
     $this->template->header->this_body = '';
     $this->template->content = new View('mhi/mhi_reset_password');
     $this->template->content->reset_flag = FALSE;
     if ($_POST) {
         // Validate the email address
         $post = Validation::factory($_POST);
         $post->pre_filter('trim');
         $post->add_rules('email', 'required', 'email');
         if ($post->validate()) {
             $settings = kohana::config('settings');
             $mhi_user = new Mhi_User_Model();
             $email = $post->email;
             $mhi_user_id = $mhi_user->get_id($email);
             $new_password = text::rand_str(15);
             $update = $mhi_user->update($mhi_user_id, array('password' => $new_password));
             $to = $email;
             $from = $settings['site_email'];
             $subject = 'Your Crowdmap password has been reset.';
             $message = 'You have chosen to have your password reset. We have gone ahead and changed your login information to the following:' . "\n\n";
             $message .= 'E-mail: ' . $email . "\n";
             $message .= 'Password: '******'Now that your password has changed, please visit the website at http://crowdmap.com to change it to something you prefer.' . "\n\n";
             $message .= 'Thank you!' . "\n";
             $message .= 'The Crowdmap Team';
             email::send($to, $from, $subject, $message, FALSE);
             Mhi_Log_Model::log($mhi_user_id, 5);
             $this->template->content->reset_flag = TRUE;
         } else {
             throw new Kohana_User_Exception('E-mail Validation Error', "Email didn't validate");
         }
     }
 }