/**
  * Resets.
  * @since 1.0
  */
 public function reset()
 {
     $input = ['user_login' => Request::input('ref'), 'key' => Request::input('key')];
     $user = $errors = null;
     if (!$this->is_reset_valid($input, $user, $errors)) {
         global $wp_query;
         $wp_query->set_404();
         status_header(404);
         nocache_headers();
         return;
     }
     wp_enqueue_script('addon-loginpage');
     return $this->view->get('addons.loginpage.resetpassword', ['token' => LoginPage::generate_token(), 'action' => admin_url('admin-ajax.php?action=addon_resetpassword'), 'user' => $user]);
 }
 /**
  * Displays registration page.
  * @since 1.0
  */
 public function register()
 {
     wp_enqueue_script('addon-loginpage');
     return $this->view->get('addons.loginpage.signup', ['token' => LoginPage::generate_token(), 'action' => admin_url('admin-ajax.php?action=addon_signup'), 'redirect_to' => Request::input('redirect_to')]);
 }
 /**
  * Performs login operation.
  * @since 1.0
  */
 protected function do_login()
 {
     // Redirect to.
     $redirect_to = LoginPage::get_redirect_to();
     // Cookie authentication
     if ($this->cookie_authenticate()) {
         wp_safe_redirect(LoginPage::get_redirect_to());
     } else {
         wp_enqueue_script('addon-loginpage');
         return $this->view->get('addons.loginpage.login', ['token' => LoginPage::generate_token(), 'action' => admin_url('admin-ajax.php?action=addon_login'), 'redirect_to' => Request::input('redirect_to')]);
     }
 }