Users_model::send_new_password PHP Method

send_new_password() public method

------------------------------------------------------------------------
public send_new_password ( $user_id )
    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');
    }