From 0c8e24a1948bd23ee70fe75c56ac70772f21f2c6 Mon Sep 17 00:00:00 2001 From: Nikita Sinelnikov Date: Mon, 10 Oct 2022 14:10:32 +0300 Subject: [PATCH] - fixed #1081; --- includes/core/class-user.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/includes/core/class-user.php b/includes/core/class-user.php index 42830346..b2795d78 100644 --- a/includes/core/class-user.php +++ b/includes/core/class-user.php @@ -1641,6 +1641,11 @@ if ( ! class_exists( 'um\core\User' ) ) { function email_pending() { $this->assign_secretkey(); $this->set_status( 'awaiting_email_confirmation' ); + + //clear all sessions for email confirmation pending users + $user = \WP_Session_Tokens::get_instance( um_user( 'ID' ) ); + $user->destroy_all(); + UM()->mail()->send( um_user( 'user_email' ), 'checkmail_email' ); } @@ -1662,6 +1667,11 @@ if ( ! class_exists( 'um\core\User' ) ) { */ function pending() { $this->set_status( 'awaiting_admin_review' ); + + //clear all sessions for awaiting admin confirmation users + $user = \WP_Session_Tokens::get_instance( um_user( 'ID' ) ); + $user->destroy_all(); + UM()->mail()->send( um_user( 'user_email' ), 'pending_email' ); } @@ -1684,6 +1694,11 @@ if ( ! class_exists( 'um\core\User' ) ) { */ function reject() { $this->set_status( 'rejected' ); + + //clear all sessions for rejected users + $user = \WP_Session_Tokens::get_instance( um_user( 'ID' ) ); + $user->destroy_all(); + UM()->mail()->send( um_user( 'user_email' ), 'rejected_email' ); } @@ -1705,6 +1720,11 @@ if ( ! class_exists( 'um\core\User' ) ) { */ function deactivate() { $this->set_status( 'inactive' ); + + //clear all sessions for inactive users + $user = \WP_Session_Tokens::get_instance( um_user( 'ID' ) ); + $user->destroy_all(); + /** * UM hook *