public function send_new_password($user_id)
{
$user_id = (int) $user_id;
$user = $this->get_user($user_id);
// Generate the random key
$user_verify = random_string('alnum', 22);
$data = array('user_verify' => $user_verify);
$this->db->where('user_id', $user_id);
$this->db->update('users', $data);
// Get all the email settings
$this->load->library('email');
$site_email = $this->settings->get_setting('site_email');
$site_name = $this->settings->get_setting('site_name');
// Generate the validate link
$user['validate_url'] = site_url('users/reset/' . $user_verify);
// Are we sending html or text?
if ($this->email->mailtype == 'html') {
$this->template->set_layout('emails/html/layout');
$email_message = $this->template->build('emails/html/forgot_pass_conf', $user, TRUE);
} else {
$this->template->set_layout('emails/text/layout');
$email_message = $this->template->build('emails/text/forgot_pass_conf', $user, TRUE);
}
$this->email->from($site_email, $site_name);
$this->email->to($user['user_email']);
$this->email->subject(lang('lang_forgot_pass'));
$this->email->message($email_message);
$this->email->send();
log_message('debug', 'Forgot Pass Email: ' . $this->email->print_debugger());
// Assign the layout back to the theme layout.
$this->template->set_layout('layout');
}