/**
  * Enforce password reset after user login, when applicable.
  *
  * @action wp_login
  *
  * @param string  $user_login
  * @param WP_User $user
  */
 public function wp_login($user_login, $user)
 {
     if (!Expire_Passwords::get_user_meta($user)) {
         Expire_Passwords::save_user_meta($user);
     }
     if (!Expire_Passwords::is_expired($user)) {
         return;
     }
     wp_destroy_all_sessions();
     wp_safe_redirect(add_query_arg(array('action' => 'lostpassword', 'expass' => 'expired'), wp_login_url()), 302);
     exit;
 }
Пример #2
0
 function settings_tools()
 {
     if (isset($_POST['action'])) {
         switch ($_POST['action']) {
             case 'force_destroy_sessions':
                 if (0 === get_current_user_id()) {
                     MainWP_Helper::write(array('error' => __('Cannot get user_id', 'mainwp-child')));
                 }
                 wp_destroy_all_sessions();
                 $sessions = wp_get_all_sessions();
                 if (empty($sessions)) {
                     MainWP_Helper::write(array('success' => 1));
                 } else {
                     MainWP_Helper::write(array('error' => __('Cannot destroy sessions', 'mainwp-child')));
                 }
                 break;
             default:
                 MainWP_Helper::write(array('error' => __('Invalid action', 'mainwp-child')));
         }
     } else {
         MainWP_Helper::write(array('error' => __('Missing action', 'mainwp-child')));
     }
 }