mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
* fixed sending emails upon registration;
* fixed using `um_user( 'status' )` and `um_user( 'account_status' )` functions; * fixed using `set_status()` function; * based on https://github.com/ultimatemember/ultimatemember/pull/1564
This commit is contained in:
@@ -150,6 +150,7 @@ if ( ! class_exists( 'um\admin\Secure' ) ) {
|
|||||||
}
|
}
|
||||||
// Restore Account Status.
|
// Restore Account Status.
|
||||||
if ( isset( $metadata['account_status'] ) ) {
|
if ( isset( $metadata['account_status'] ) ) {
|
||||||
|
// Force update of the user status without email notifications.
|
||||||
UM()->common()->users()->set_status( $user_id, $metadata['account_status'] );
|
UM()->common()->users()->set_status( $user_id, $metadata['account_status'] );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -327,7 +328,7 @@ if ( ! class_exists( 'um\admin\Secure' ) ) {
|
|||||||
if ( 'account_status' === $column_name ) {
|
if ( 'account_status' === $column_name ) {
|
||||||
um_fetch_user( $user_id );
|
um_fetch_user( $user_id );
|
||||||
$is_blocked = um_user( 'um_user_blocked' );
|
$is_blocked = um_user( 'um_user_blocked' );
|
||||||
$account_status = um_user( 'account_status' );
|
$account_status = UM()->common()->users()->get_status( $user_id );
|
||||||
if ( ! empty( $is_blocked ) && in_array( $account_status, array( 'rejected', 'inactive' ), true ) ) {
|
if ( ! empty( $is_blocked ) && in_array( $account_status, array( 'rejected', 'inactive' ), true ) ) {
|
||||||
$datetime = um_user( 'um_user_blocked__timestamp' );
|
$datetime = um_user( 'um_user_blocked__timestamp' );
|
||||||
$val .= '<div><small>' . esc_html__( 'Blocked Due to Suspicious Activity', 'ultimate-member' ) . '</small></div>';
|
$val .= '<div><small>' . esc_html__( 'Blocked Due to Suspicious Activity', 'ultimate-member' ) . '</small></div>';
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ if ( ! class_exists( 'um\common\Secure' ) ) {
|
|||||||
$banned_profile_links = '';
|
$banned_profile_links = '';
|
||||||
foreach ( $user_ids as $uid ) {
|
foreach ( $user_ids as $uid ) {
|
||||||
um_fetch_user( $uid );
|
um_fetch_user( $uid );
|
||||||
$banned_profile_links .= UM()->user()->get_profile_link( $uid ) . ' ' . um_user( 'account_status' ) . '<br />';
|
$banned_profile_links .= UM()->user()->get_profile_link( $uid ) . ' ' . UM()->common()->users()->get_status( $uid ) . '<br />';
|
||||||
}
|
}
|
||||||
um_reset_user();
|
um_reset_user();
|
||||||
|
|
||||||
@@ -221,18 +221,20 @@ if ( ! class_exists( 'um\common\Secure' ) ) {
|
|||||||
'submitted' => ! empty( UM()->form()->post_form ) ? UM()->form()->post_form : '',
|
'submitted' => ! empty( UM()->form()->post_form ) ? UM()->form()->post_form : '',
|
||||||
'roles' => $user->roles,
|
'roles' => $user->roles,
|
||||||
'user_agent' => $user_agent,
|
'user_agent' => $user_agent,
|
||||||
'account_status' => um_user( 'status' ),
|
'account_status' => UM()->common()->users()->get_status( $user->ID ),
|
||||||
);
|
);
|
||||||
update_user_meta( $user->ID, 'um_user_blocked__metadata', $captured );
|
update_user_meta( $user->ID, 'um_user_blocked__metadata', $captured );
|
||||||
|
|
||||||
$user->remove_all_caps();
|
$user->remove_all_caps();
|
||||||
$user->update_user_level_from_caps();
|
$user->update_user_level_from_caps();
|
||||||
|
|
||||||
|
// Force update of the user status without email notifications.
|
||||||
if ( is_user_logged_in() ) {
|
if ( is_user_logged_in() ) {
|
||||||
UM()->common()->users()->set_status( $user->ID, 'inactive' );
|
UM()->common()->users()->set_status( $user->ID, 'inactive' );
|
||||||
} else {
|
} else {
|
||||||
UM()->common()->users()->set_status( $user->ID, 'rejected' );
|
UM()->common()->users()->set_status( $user->ID, 'rejected' );
|
||||||
}
|
}
|
||||||
|
|
||||||
um_reset_user();
|
um_reset_user();
|
||||||
update_user_meta( $user->ID, 'um_user_blocked', 'suspicious_activity' );
|
update_user_meta( $user->ID, 'um_user_blocked', 'suspicious_activity' );
|
||||||
update_user_meta( $user->ID, 'um_user_blocked__timestamp', current_time( 'mysql', true ) );
|
update_user_meta( $user->ID, 'um_user_blocked__timestamp', current_time( 'mysql', true ) );
|
||||||
|
|||||||
@@ -2680,8 +2680,8 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
|||||||
'card_anchor' => esc_html( substr( md5( $user_id ), 10, 5 ) ),
|
'card_anchor' => esc_html( substr( md5( $user_id ), 10, 5 ) ),
|
||||||
'id' => absint( $user_id ),
|
'id' => absint( $user_id ),
|
||||||
'role' => esc_html( um_user( 'role' ) ),
|
'role' => esc_html( um_user( 'role' ) ),
|
||||||
'account_status' => esc_html( um_user( 'account_status' ) ),
|
'account_status' => esc_html( UM()->common()->users()->get_status( $user_id ) ),
|
||||||
'account_status_name' => esc_html( um_user( 'account_status_name' ) ),
|
'account_status_name' => esc_html( UM()->common()->users()->get_status( $user_id, 'formatted' ) ),
|
||||||
'cover_photo' => wp_kses( um_user( 'cover_photo', $this->cover_size ), UM()->get_allowed_html( 'templates' ) ),
|
'cover_photo' => wp_kses( um_user( 'cover_photo', $this->cover_size ), UM()->get_allowed_html( 'templates' ) ),
|
||||||
'display_name' => esc_html( um_user( 'display_name' ) ),
|
'display_name' => esc_html( um_user( 'display_name' ) ),
|
||||||
'profile_url' => esc_url( um_user_profile_url() ),
|
'profile_url' => esc_url( um_user_profile_url() ),
|
||||||
|
|||||||
@@ -432,7 +432,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$metakeys = array( 'account_status', 'hide_in_members', 'synced_gravatar_hashed_id', 'synced_profile_photo', 'profile_photo', 'cover_photo', '_um_verified' );
|
$metakeys = array( 'account_status', 'hide_in_members', 'synced_gravatar_hashed_id', 'synced_profile_photo', 'profile_photo', 'cover_photo', '_um_verified' );
|
||||||
if ( ! in_array( $meta_key, $metakeys ) ) {
|
if ( ! in_array( $meta_key, $metakeys, true ) ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -506,7 +506,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
|
|||||||
function on_update_usermeta( $meta_id, $object_id, $meta_key, $_meta_value ) {
|
function on_update_usermeta( $meta_id, $object_id, $meta_key, $_meta_value ) {
|
||||||
|
|
||||||
$metakeys = array( 'account_status', 'hide_in_members', 'synced_gravatar_hashed_id', 'synced_profile_photo', 'profile_photo', 'cover_photo', '_um_verified' );
|
$metakeys = array( 'account_status', 'hide_in_members', 'synced_gravatar_hashed_id', 'synced_profile_photo', 'profile_photo', 'cover_photo', '_um_verified' );
|
||||||
if ( ! in_array( $meta_key, $metakeys ) ) {
|
if ( ! in_array( $meta_key, $metakeys, true ) ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -642,28 +642,23 @@ if ( ! class_exists( 'um\core\User' ) ) {
|
|||||||
delete_transient( 'um_count_users_pending_dot' );
|
delete_transient( 'um_count_users_pending_dot' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
function check_membership() {
|
public function check_membership() {
|
||||||
if ( ! is_user_logged_in() ) {
|
if ( ! is_user_logged_in() ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
um_fetch_user( get_current_user_id() );
|
$status = UM()->common()->users()->get_status( get_current_user_id() );
|
||||||
$status = um_user( 'account_status' );
|
if ( 'rejected' === $status ) {
|
||||||
|
|
||||||
if ( 'rejected' == $status ) {
|
|
||||||
wp_logout();
|
wp_logout();
|
||||||
session_unset();
|
session_unset();
|
||||||
exit( wp_redirect( um_get_core_page( 'login' ) ) );
|
um_safe_redirect( um_get_core_page( 'login' ) );
|
||||||
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
um_reset_user();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Multisite add existing user
|
* Multisite add existing user
|
||||||
*
|
*
|
||||||
@@ -1295,25 +1290,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
|
|||||||
$this->usermeta['account_status'][0] = 'approved';
|
$this->usermeta['account_status'][0] = 'approved';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $this->usermeta['account_status'][0] == 'approved' ) {
|
$this->usermeta['account_status_name'][0] = UM()->common()->users()->get_status( $this->id, 'formatted' );
|
||||||
$this->usermeta['account_status_name'][0] = __( 'Approved', 'ultimate-member' );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( $this->usermeta['account_status'][0] == 'awaiting_email_confirmation' ) {
|
|
||||||
$this->usermeta['account_status_name'][0] = __( 'Awaiting Email Confirmation', 'ultimate-member' );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( $this->usermeta['account_status'][0] == 'awaiting_admin_review' ) {
|
|
||||||
$this->usermeta['account_status_name'][0] = __( 'Pending Review', 'ultimate-member' );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( $this->usermeta['account_status'][0] == 'rejected' ) {
|
|
||||||
$this->usermeta['account_status_name'][0] = __( 'Membership Rejected', 'ultimate-member' );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( $this->usermeta['account_status'][0] == 'inactive' ) {
|
|
||||||
$this->usermeta['account_status_name'][0] = __( 'Membership Inactive', 'ultimate-member' );
|
|
||||||
}
|
|
||||||
|
|
||||||
// add user meta
|
// add user meta
|
||||||
foreach ( $this->usermeta as $k => $v ) {
|
foreach ( $this->usermeta as $k => $v ) {
|
||||||
@@ -1619,36 +1596,29 @@ if ( ! class_exists( 'um\core\User' ) ) {
|
|||||||
*
|
*
|
||||||
* @param bool $send_mail
|
* @param bool $send_mail
|
||||||
*/
|
*/
|
||||||
function delete( $send_mail = true ) {
|
public function delete( $send_mail = true ) {
|
||||||
|
|
||||||
$this->send_mail_on_delete = $send_mail;
|
$this->send_mail_on_delete = $send_mail;
|
||||||
//don't send email notification to not approved user
|
// Don't send email notification to not approved user
|
||||||
if ( 'approved' != um_user( 'account_status' ) ) {
|
if ( 'approved' !== UM()->common()->users()->get_status( $this->id ) ) {
|
||||||
$this->send_mail_on_delete = false;
|
$this->send_mail_on_delete = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove user
|
// remove user
|
||||||
if ( is_multisite() ) {
|
if ( is_multisite() ) {
|
||||||
|
|
||||||
if ( ! function_exists( 'wpmu_delete_user' ) ) {
|
if ( ! function_exists( 'wpmu_delete_user' ) ) {
|
||||||
require_once ABSPATH . 'wp-admin/includes/ms.php';
|
require_once ABSPATH . 'wp-admin/includes/ms.php';
|
||||||
}
|
}
|
||||||
|
|
||||||
wpmu_delete_user( $this->id );
|
wpmu_delete_user( $this->id );
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
if ( ! function_exists( 'wp_delete_user' ) ) {
|
if ( ! function_exists( 'wp_delete_user' ) ) {
|
||||||
require_once ABSPATH . 'wp-admin/includes/user.php';
|
require_once ABSPATH . 'wp-admin/includes/user.php';
|
||||||
}
|
}
|
||||||
|
|
||||||
wp_delete_user( $this->id );
|
wp_delete_user( $this->id );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method gets a user role in slug format. e.g. member
|
* This method gets a user role in slug format. e.g. member
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -174,7 +174,7 @@ if ( ! class_exists( 'um\core\rest\API_v1' ) ) {
|
|||||||
$val->roles = $user->roles;
|
$val->roles = $user->roles;
|
||||||
$val->first_name = um_user( 'first_name' );
|
$val->first_name = um_user( 'first_name' );
|
||||||
$val->last_name = um_user( 'last_name' );
|
$val->last_name = um_user( 'last_name' );
|
||||||
$val->account_status = um_user( 'account_status' );
|
$val->account_status = UM()->common()->users()->get_status( $user->ID );
|
||||||
$val->profile_pic_original = um_get_user_avatar_url( '', 'original' );
|
$val->profile_pic_original = um_get_user_avatar_url( '', 'original' );
|
||||||
$val->profile_pic_normal = um_get_user_avatar_url( '', 200 );
|
$val->profile_pic_normal = um_get_user_avatar_url( '', 200 );
|
||||||
$val->profile_pic_small = um_get_user_avatar_url( '', 40 );
|
$val->profile_pic_small = um_get_user_avatar_url( '', 40 );
|
||||||
@@ -239,6 +239,7 @@ if ( ! class_exists( 'um\core\rest\API_v1' ) ) {
|
|||||||
|
|
||||||
switch ( $data ) {
|
switch ( $data ) {
|
||||||
case 'status':
|
case 'status':
|
||||||
|
// Force update of the user status without email notifications.
|
||||||
UM()->common()->users()->set_status( $id, $value );
|
UM()->common()->users()->set_status( $id, $value );
|
||||||
$response['success'] = __( 'User status has been changed.', 'ultimate-member' );
|
$response['success'] = __( 'User status has been changed.', 'ultimate-member' );
|
||||||
break;
|
break;
|
||||||
@@ -361,7 +362,7 @@ if ( ! class_exists( 'um\core\rest\API_v1' ) ) {
|
|||||||
$response['profile_pic_small'] = um_get_user_avatar_url( '', 40 );
|
$response['profile_pic_small'] = um_get_user_avatar_url( '', 40 );
|
||||||
break;
|
break;
|
||||||
case 'status':
|
case 'status':
|
||||||
$response['status'] = um_user( 'account_status' );
|
$response['status'] = UM()->common()->users()->get_status( $user->ID );
|
||||||
break;
|
break;
|
||||||
case 'role':
|
case 'role':
|
||||||
//get priority role here
|
//get priority role here
|
||||||
@@ -382,7 +383,7 @@ if ( ! class_exists( 'um\core\rest\API_v1' ) ) {
|
|||||||
$val->roles = $user->roles;
|
$val->roles = $user->roles;
|
||||||
$val->first_name = um_user( 'first_name' );
|
$val->first_name = um_user( 'first_name' );
|
||||||
$val->last_name = um_user( 'last_name' );
|
$val->last_name = um_user( 'last_name' );
|
||||||
$val->account_status = um_user( 'account_status' );
|
$val->account_status = UM()->common()->users()->get_status( $user->ID );
|
||||||
$val->profile_pic_original = um_get_user_avatar_url( '', 'original' );
|
$val->profile_pic_original = um_get_user_avatar_url( '', 'original' );
|
||||||
$val->profile_pic_normal = um_get_user_avatar_url( '', 200 );
|
$val->profile_pic_normal = um_get_user_avatar_url( '', 200 );
|
||||||
$val->profile_pic_small = um_get_user_avatar_url( '', 40 );
|
$val->profile_pic_small = um_get_user_avatar_url( '', 40 );
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ if ( ! class_exists( 'um\core\rest\API_v2' ) ) {
|
|||||||
$val->roles = $user->roles;
|
$val->roles = $user->roles;
|
||||||
$val->first_name = um_user( 'first_name' );
|
$val->first_name = um_user( 'first_name' );
|
||||||
$val->last_name = um_user( 'last_name' );
|
$val->last_name = um_user( 'last_name' );
|
||||||
$val->account_status = um_user( 'account_status' );
|
$val->account_status = UM()->common()->users()->get_status( $user->ID );
|
||||||
$val->profile_pic_original = um_get_user_avatar_url( '', 'original' );
|
$val->profile_pic_original = um_get_user_avatar_url( '', 'original' );
|
||||||
$val->profile_pic_normal = um_get_user_avatar_url( '', 200 );
|
$val->profile_pic_normal = um_get_user_avatar_url( '', 200 );
|
||||||
$val->profile_pic_small = um_get_user_avatar_url( '', 40 );
|
$val->profile_pic_small = um_get_user_avatar_url( '', 40 );
|
||||||
@@ -221,6 +221,7 @@ if ( ! class_exists( 'um\core\rest\API_v2' ) ) {
|
|||||||
|
|
||||||
switch ( $data ) {
|
switch ( $data ) {
|
||||||
case 'status':
|
case 'status':
|
||||||
|
// Force update of the user status without email notifications.
|
||||||
UM()->common()->users()->set_status( $id, $value );
|
UM()->common()->users()->set_status( $id, $value );
|
||||||
$response['success'] = __( 'User status has been changed.', 'ultimate-member' );
|
$response['success'] = __( 'User status has been changed.', 'ultimate-member' );
|
||||||
break;
|
break;
|
||||||
@@ -325,7 +326,7 @@ if ( ! class_exists( 'um\core\rest\API_v2' ) ) {
|
|||||||
$response['profile_pic_small'] = um_get_user_avatar_url( '', 40 );
|
$response['profile_pic_small'] = um_get_user_avatar_url( '', 40 );
|
||||||
break;
|
break;
|
||||||
case 'status':
|
case 'status':
|
||||||
$response['status'] = um_user( 'account_status' );
|
$response['status'] = UM()->common()->users()->get_status( $user->ID );
|
||||||
break;
|
break;
|
||||||
case 'role':
|
case 'role':
|
||||||
//get priority role here
|
//get priority role here
|
||||||
@@ -346,7 +347,7 @@ if ( ! class_exists( 'um\core\rest\API_v2' ) ) {
|
|||||||
$val->roles = $user->roles;
|
$val->roles = $user->roles;
|
||||||
$val->first_name = um_user( 'first_name' );
|
$val->first_name = um_user( 'first_name' );
|
||||||
$val->last_name = um_user( 'last_name' );
|
$val->last_name = um_user( 'last_name' );
|
||||||
$val->account_status = um_user( 'account_status' );
|
$val->account_status = UM()->common()->users()->get_status( $user->ID );
|
||||||
$val->profile_pic_original = um_get_user_avatar_url( '', 'original' );
|
$val->profile_pic_original = um_get_user_avatar_url( '', 'original' );
|
||||||
$val->profile_pic_normal = um_get_user_avatar_url( '', 200 );
|
$val->profile_pic_normal = um_get_user_avatar_url( '', 200 );
|
||||||
$val->profile_pic_small = um_get_user_avatar_url( '', 40 );
|
$val->profile_pic_small = um_get_user_avatar_url( '', 40 );
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
<?php if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
<?php
|
||||||
|
if ( ! defined( 'ABSPATH' ) ) {
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Profile Access
|
* Profile Access
|
||||||
@@ -7,18 +9,11 @@
|
|||||||
* @param int $user_id
|
* @param int $user_id
|
||||||
*/
|
*/
|
||||||
function um_access_profile( $user_id ) {
|
function um_access_profile( $user_id ) {
|
||||||
|
|
||||||
if ( ! um_is_myprofile() && um_is_core_page( 'user' ) && ! current_user_can( 'edit_users' ) ) {
|
if ( ! um_is_myprofile() && um_is_core_page( 'user' ) && ! current_user_can( 'edit_users' ) ) {
|
||||||
|
$account_status = UM()->common()->users()->get_status( $user_id );
|
||||||
um_fetch_user( $user_id );
|
if ( 'approved' !== $account_status ) {
|
||||||
|
|
||||||
$account_status = um_user( 'account_status' );
|
|
||||||
if ( ! in_array( $account_status, array( 'approved' ) ) ) {
|
|
||||||
um_redirect_home();
|
um_redirect_home();
|
||||||
}
|
}
|
||||||
|
|
||||||
um_reset_user();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
add_action( 'um_access_profile', 'um_access_profile' );
|
add_action( 'um_access_profile', 'um_access_profile' );
|
||||||
@@ -130,16 +130,14 @@ function um_submit_form_errors_hook_logincheck( $submitted_data, $form_data ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$user_id = ( isset( UM()->login()->auth_id ) ) ? UM()->login()->auth_id : '';
|
$user_id = ( isset( UM()->login()->auth_id ) ) ? UM()->login()->auth_id : '';
|
||||||
um_fetch_user( $user_id );
|
|
||||||
|
|
||||||
$status = um_user( 'account_status' ); // account status
|
$status = UM()->common()->users()->get_status( $user_id ); // account status
|
||||||
switch ( $status ) {
|
switch ( $status ) {
|
||||||
// If user can't log in to site...
|
// If user can't log in to site...
|
||||||
case 'inactive':
|
case 'inactive':
|
||||||
case 'awaiting_admin_review':
|
case 'awaiting_admin_review':
|
||||||
case 'awaiting_email_confirmation':
|
case 'awaiting_email_confirmation':
|
||||||
case 'rejected':
|
case 'rejected':
|
||||||
um_reset_user();
|
|
||||||
// Not `um_safe_redirect()` because UM()->permalinks()->get_current_url() is situated on the same host.
|
// Not `um_safe_redirect()` because UM()->permalinks()->get_current_url() is situated on the same host.
|
||||||
wp_safe_redirect( add_query_arg( 'err', esc_attr( $status ), UM()->permalinks()->get_current_url() ) );
|
wp_safe_redirect( add_query_arg( 'err', esc_attr( $status ), UM()->permalinks()->get_current_url() ) );
|
||||||
exit;
|
exit;
|
||||||
|
|||||||
@@ -1318,11 +1318,11 @@ function um_profile_header( $args ) {
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="um-profile-status <?php echo esc_attr( um_user( 'account_status' ) ); ?>">
|
<div class="um-profile-status <?php echo esc_attr( UM()->common()->users()->get_status( um_user( 'ID' ) ) ); ?>">
|
||||||
<span>
|
<span>
|
||||||
<?php
|
<?php
|
||||||
// translators: %s: profile status.
|
// translators: %s: profile status.
|
||||||
echo esc_html( sprintf( __( 'This user account status is %s', 'ultimate-member' ), um_user( 'account_status_name' ) ) );
|
echo esc_html( sprintf( __( 'This user account status is %s', 'ultimate-member' ), UM()->common()->users()->get_status( um_user( 'ID' ), 'formatted' ) ) );
|
||||||
?>
|
?>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -58,15 +58,6 @@ function um_after_insert_user( $user_id, $args, $form_data = null ) {
|
|||||||
UM()->user()->set_registration_details( $args['submitted'], $args, $form_data );
|
UM()->user()->set_registration_details( $args['submitted'], $args, $form_data );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set user status.
|
|
||||||
$status = um_user( 'status' );
|
|
||||||
if ( empty( $status ) ) {
|
|
||||||
um_fetch_user( $user_id );
|
|
||||||
$status = um_user( 'status' );
|
|
||||||
}
|
|
||||||
|
|
||||||
UM()->common()->users()->set_status( $user_id, $status );
|
|
||||||
|
|
||||||
// Create user uploads directory.
|
// Create user uploads directory.
|
||||||
UM()->uploader()->get_upload_user_base_dir( $user_id, true );
|
UM()->uploader()->get_upload_user_base_dir( $user_id, true );
|
||||||
|
|
||||||
@@ -123,11 +114,12 @@ add_action( 'um_user_register', 'um_after_insert_user', 1, 3 );
|
|||||||
*/
|
*/
|
||||||
function um_send_registration_notification( $user_id ) {
|
function um_send_registration_notification( $user_id ) {
|
||||||
um_fetch_user( $user_id );
|
um_fetch_user( $user_id );
|
||||||
|
$registration_status = um_user( 'status' );
|
||||||
|
|
||||||
$emails = um_multi_admin_email();
|
$emails = um_multi_admin_email();
|
||||||
if ( ! empty( $emails ) ) {
|
if ( ! empty( $emails ) ) {
|
||||||
foreach ( $emails as $email ) {
|
foreach ( $emails as $email ) {
|
||||||
if ( 'pending' !== um_user( 'account_status' ) ) {
|
if ( 'pending' !== $registration_status ) {
|
||||||
UM()->mail()->send( $email, 'notification_new_user', array( 'admin' => true ) );
|
UM()->mail()->send( $email, 'notification_new_user', array( 'admin' => true ) );
|
||||||
} else {
|
} else {
|
||||||
UM()->mail()->send( $email, 'notification_review', array( 'admin' => true ) );
|
UM()->mail()->send( $email, 'notification_review', array( 'admin' => true ) );
|
||||||
@@ -145,7 +137,7 @@ add_action( 'um_registration_complete', 'um_send_registration_notification' );
|
|||||||
* @param null|array $form_data
|
* @param null|array $form_data
|
||||||
*/
|
*/
|
||||||
function um_check_user_status( $user_id, $args, $form_data = null ) {
|
function um_check_user_status( $user_id, $args, $form_data = null ) {
|
||||||
$status = um_user( 'account_status' );
|
$registration_status = um_user( 'status' );
|
||||||
/**
|
/**
|
||||||
* Fires after complete UM user registration.
|
* Fires after complete UM user registration.
|
||||||
* Where $status can be equal to 'approved', 'checkmail' or 'pending'.
|
* Where $status can be equal to 'approved', 'checkmail' or 'pending'.
|
||||||
@@ -175,7 +167,7 @@ function um_check_user_status( $user_id, $args, $form_data = null ) {
|
|||||||
* }
|
* }
|
||||||
* add_action( 'um_post_registration_pending_hook', 'my_um_post_registration', 10, 3 );
|
* add_action( 'um_post_registration_pending_hook', 'my_um_post_registration', 10, 3 );
|
||||||
*/
|
*/
|
||||||
do_action( "um_post_registration_{$status}_hook", $user_id, $args, $form_data );
|
do_action( "um_post_registration_{$registration_status}_hook", $user_id, $args, $form_data );
|
||||||
|
|
||||||
if ( is_null( $form_data ) || is_admin() ) {
|
if ( is_null( $form_data ) || is_admin() ) {
|
||||||
return;
|
return;
|
||||||
@@ -210,9 +202,9 @@ function um_check_user_status( $user_id, $args, $form_data = null ) {
|
|||||||
* }
|
* }
|
||||||
* add_action( 'track_pending_user_registration', 'my_um_post_registration', 10, 3 );
|
* add_action( 'track_pending_user_registration', 'my_um_post_registration', 10, 3 );
|
||||||
*/
|
*/
|
||||||
do_action( "track_{$status}_user_registration", $user_id, $args, $form_data );
|
do_action( "track_{$registration_status}_user_registration", $user_id, $args, $form_data );
|
||||||
|
|
||||||
if ( 'approved' === $status ) {
|
if ( 'approved' === $registration_status ) {
|
||||||
// Check if user is logged in because there can be the customized way when through 'um_registration_for_loggedin_users' hook the registration is enabled for the logged-in users (e.g. Administrator).
|
// Check if user is logged in because there can be the customized way when through 'um_registration_for_loggedin_users' hook the registration is enabled for the logged-in users (e.g. Administrator).
|
||||||
if ( ! is_user_logged_in() ) {
|
if ( ! is_user_logged_in() ) {
|
||||||
// Custom way if 'um_registration_for_loggedin_users' hook after custom callbacks returns true. Then don't make auto-login because user is already logged-in.
|
// Custom way if 'um_registration_for_loggedin_users' hook after custom callbacks returns true. Then don't make auto-login because user is already logged-in.
|
||||||
@@ -255,7 +247,7 @@ function um_check_user_status( $user_id, $args, $form_data = null ) {
|
|||||||
} else {
|
} else {
|
||||||
um_fetch_user( $user_id ); // required because there can be empty um_user.
|
um_fetch_user( $user_id ); // required because there can be empty um_user.
|
||||||
|
|
||||||
if ( 'redirect_url' === um_user( $status . '_action' ) && '' !== um_user( $status . '_url' ) ) {
|
if ( 'redirect_url' === um_user( $registration_status . '_action' ) && '' !== um_user( $registration_status . '_url' ) ) {
|
||||||
/**
|
/**
|
||||||
* Filters the redirect URL for pending user after registration.
|
* Filters the redirect URL for pending user after registration.
|
||||||
*
|
*
|
||||||
@@ -275,13 +267,13 @@ function um_check_user_status( $user_id, $args, $form_data = null ) {
|
|||||||
* }
|
* }
|
||||||
* add_filter( 'um_registration_pending_user_redirect', 'my_registration_pending_user_redirect', 10, 3 );
|
* add_filter( 'um_registration_pending_user_redirect', 'my_registration_pending_user_redirect', 10, 3 );
|
||||||
*/
|
*/
|
||||||
$redirect_url = apply_filters( 'um_registration_pending_user_redirect', um_user( $status . '_url' ), $status, um_user( 'ID' ) );
|
$redirect_url = apply_filters( 'um_registration_pending_user_redirect', um_user( $registration_status . '_url' ), $registration_status, $user_id );
|
||||||
um_safe_redirect( $redirect_url );
|
um_safe_redirect( $redirect_url );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( 'show_message' === um_user( $status . '_action' ) && '' !== um_user( $status . '_message' ) ) {
|
if ( 'show_message' === um_user( $registration_status . '_action' ) && '' !== um_user( $registration_status . '_message' ) ) {
|
||||||
$url = UM()->permalinks()->get_current_url();
|
$url = UM()->permalinks()->get_current_url();
|
||||||
$url = add_query_arg( 'message', esc_attr( $status ), $url );
|
$url = add_query_arg( 'message', esc_attr( $registration_status ), $url );
|
||||||
// Add only priority role to URL.
|
// Add only priority role to URL.
|
||||||
$url = add_query_arg( 'um_role', esc_attr( um_user( 'role' ) ), $url );
|
$url = add_query_arg( 'um_role', esc_attr( um_user( 'role' ) ), $url );
|
||||||
$url = add_query_arg( 'um_form_id', esc_attr( $form_data['form_id'] ), $url );
|
$url = add_query_arg( 'um_form_id', esc_attr( $form_data['form_id'] ), $url );
|
||||||
@@ -305,7 +297,7 @@ function um_check_user_status( $user_id, $args, $form_data = null ) {
|
|||||||
* }
|
* }
|
||||||
* add_filter( 'um_registration_show_message_redirect_url', 'my_um_registration_show_message_redirect_url', 10, 4 );
|
* add_filter( 'um_registration_show_message_redirect_url', 'my_um_registration_show_message_redirect_url', 10, 4 );
|
||||||
*/
|
*/
|
||||||
$url = apply_filters( 'um_registration_show_message_redirect_url', $url, $status, um_user( 'ID' ), $form_data );
|
$url = apply_filters( 'um_registration_show_message_redirect_url', $url, $registration_status, $user_id, $form_data );
|
||||||
// Not `um_safe_redirect()` because UM()->permalinks()->get_current_url() is situated on the same host.
|
// Not `um_safe_redirect()` because UM()->permalinks()->get_current_url() is situated on the same host.
|
||||||
wp_safe_redirect( $url );
|
wp_safe_redirect( $url );
|
||||||
exit;
|
exit;
|
||||||
|
|||||||
@@ -66,8 +66,7 @@ function um_wp_form_errors_hook_logincheck( $user ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( isset( $user->ID ) ) {
|
if ( isset( $user->ID ) ) {
|
||||||
um_fetch_user( $user->ID );
|
$status = UM()->common()->users()->get_status( $user->ID );
|
||||||
$status = um_user( 'account_status' );
|
|
||||||
|
|
||||||
$error = null;
|
$error = null;
|
||||||
switch ( $status ) {
|
switch ( $status ) {
|
||||||
|
|||||||
Reference in New Issue
Block a user