/** * Forgotten Password Complete * * @return string * @author Mathew **/ public function forgotten_password_complete($code, $salt = FALSE) { if (empty($code)) { return FALSE; } $user = User::find_by_forgotten_password_code($code); if ($user) { $password = random_string('alnum', 8); $data = array('password' => self::new_password($password), 'forgotten_password_code' => NULL, 'active' => 1); $user->update_attributes($data); if ($user->is_valid()) { return $password; } if ($user->is_invalid()) { return false; } } return FALSE; }
/** * forgotten_password_complete * * @return void * @author Mathew **/ public function forgotten_password_complete($code) { $user = User::find_by_forgotten_password_code($code); if (!$user) { return FALSE; } $new_password = User::forgotten_password_complete($code); if ($new_password) { $data = array('identity' => $user->email, 'new_password' => $new_password); $message = $this->ci->load->view($this->ci->config->item('email_templates') . $this->ci->config->item('email_forgot_password_complete'), $data, true); //config to send email $config['protocol'] = $this->ci->config->item('mail_protocol'); if ($config['protocol'] == 'smtp') { $config['smtp_host'] = $this->ci->config->item('mail_host'); $config['smtp_user'] = $this->ci->config->item('admin_email'); $config['smtp_pass'] = $this->ci->config->item('mail_pass'); } $this->ci->email->initialize($config); $this->ci->email->clear(); $this->ci->email->set_newline("\r\n"); $this->ci->email->from($this->ci->config->item('admin_email'), $this->ci->config->item('site_title')); $this->ci->email->to($user->email); $this->ci->email->subject($this->ci->config->item('site_title') . ' - ' . lang('web_auth_np')); $this->ci->email->message($message); if ($this->ci->email->send()) { return $new_password; } else { return FALSE; } } return FALSE; }