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"); } } }