mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-11 18:56:10 +09:00
* fixed #1553;
This commit is contained in:
+3
-3
@@ -51,10 +51,10 @@
|
||||
- Function: `UM()->user()->set_status( $status )`. Use function `UM()->common()->users()->set_status( $status, $user_id )` instead.
|
||||
- Function: `UM()->user()->assign_secretkey()`. Use function `UM()->common()->users()->assign_secretkey( $user_id )` instead.
|
||||
- Function: `UM()->user()->approve( $repeat )`. Use function `UM()->common()->users()->approve( $user_id, $force )` instead.
|
||||
- Function: `UM()->user()->email_pending()`. Use function `UM()->common()->users()->approve( $user_id, $force )` instead.
|
||||
- Function: `UM()->user()->email_pending()`. Use function `UM()->common()->users()->send_activation( $user_id, $force )` instead.
|
||||
- Function: `UM()->user()->pending()`. Use function `UM()->common()->users()->set_as_pending( $user_id, $force )` instead.
|
||||
- Function: `UM()->user()->reject()`. Use function `UM()->common()->users()->reject( $user_id, $force )` instead.
|
||||
- Function: `UM()->user()->deactivate()`. Use function `UM()->common()->users()->deactivate( $user_id, $force )` instead.
|
||||
- Function: `UM()->user()->reject()`. Use function `UM()->common()->users()->reject( $user_id )` instead.
|
||||
- Function: `UM()->user()->deactivate()`. Use function `UM()->common()->users()->deactivate( $user_id )` instead.
|
||||
- Function: `UM()->user()->user_exists_by_id( $user_id )`. Use function `UM()->common()->users()::user_exists( $user_id )` instead.
|
||||
- Function: `UM()->files()->format_bytes( $size )`. Use function `UM()->common()->filesystem()::format_bytes( $size )` instead.
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@ if ( ! class_exists( 'um\admin\Actions_Listener' ) ) {
|
||||
|
||||
$redirect = wp_get_referer();
|
||||
if ( UM()->common()->users()->can_current_user_edit_user( $user_id ) ) {
|
||||
$result = UM()->common()->users()->send_activation( $user_id );
|
||||
$result = UM()->common()->users()->send_activation( $user_id, true );
|
||||
if ( $result ) {
|
||||
$redirect = add_query_arg(
|
||||
array(
|
||||
|
||||
@@ -84,8 +84,21 @@ if ( ! class_exists( 'um\admin\Users_Columns' ) ) {
|
||||
),
|
||||
admin_url( 'users.php' )
|
||||
);
|
||||
|
||||
$row_actions[] = '<a href="' . esc_url( $url ) . '" class="um-set-status-approved">' . esc_html__( 'Approve', 'ultimate-member' ) . '</a>';
|
||||
}
|
||||
if ( UM()->common()->users()->can_be_rejected( $user_id ) ) {
|
||||
$url = add_query_arg(
|
||||
array(
|
||||
'um_adm_action' => 'reject_user',
|
||||
'uid' => $user_id,
|
||||
'_wpnonce' => wp_create_nonce( 'reject_user' . $user_id ),
|
||||
),
|
||||
admin_url( 'users.php' )
|
||||
);
|
||||
|
||||
$row_actions[] = '<a href="' . esc_url( $url ) . '" class="um-set-status-rejected" onclick="return confirm( \'' . esc_js( __( 'Are you sure you want to reject this user membership?', 'ultimate-member' ) ) . '\' );">' . esc_html__( 'Reject', 'ultimate-member' ) . '</a>';
|
||||
}
|
||||
if ( UM()->common()->users()->can_be_reactivated( $user_id ) ) {
|
||||
$url = add_query_arg(
|
||||
array(
|
||||
@@ -95,6 +108,7 @@ if ( ! class_exists( 'um\admin\Users_Columns' ) ) {
|
||||
),
|
||||
admin_url( 'users.php' )
|
||||
);
|
||||
|
||||
$row_actions[] = '<a href="' . esc_url( $url ) . '" class="um-reactivate-user">' . esc_html__( 'Reactivate', 'ultimate-member' ) . '</a>';
|
||||
}
|
||||
if ( UM()->common()->users()->can_be_set_as_pending( $user_id ) ) {
|
||||
@@ -106,6 +120,7 @@ if ( ! class_exists( 'um\admin\Users_Columns' ) ) {
|
||||
),
|
||||
admin_url( 'users.php' )
|
||||
);
|
||||
|
||||
$row_actions[] = '<a href="' . esc_url( $url ) . '" class="um-set-status-pending">' . esc_html__( 'Put as pending', 'ultimate-member' ) . '</a>';
|
||||
}
|
||||
if ( UM()->common()->users()->can_activation_send( $user_id ) ) {
|
||||
@@ -117,19 +132,9 @@ if ( ! class_exists( 'um\admin\Users_Columns' ) ) {
|
||||
),
|
||||
admin_url( 'users.php' )
|
||||
);
|
||||
|
||||
$row_actions[] = '<a href="' . esc_url( $url ) . '" class="um-resend-activation-email">' . esc_html__( 'Resend activation email', 'ultimate-member' ) . '</a>';
|
||||
}
|
||||
if ( UM()->common()->users()->can_be_rejected( $user_id ) ) {
|
||||
$url = add_query_arg(
|
||||
array(
|
||||
'um_adm_action' => 'reject_user',
|
||||
'uid' => $user_id,
|
||||
'_wpnonce' => wp_create_nonce( 'reject_user' . $user_id ),
|
||||
),
|
||||
admin_url( 'users.php' )
|
||||
);
|
||||
$row_actions[] = '<a href="' . esc_url( $url ) . '" class="um-set-status-rejected" onclick="return confirm( \'' . esc_js( __( 'Are you sure you want to reject this user membership?', 'ultimate-member' ) ) . '\' );">' . esc_html__( 'Reject', 'ultimate-member' ) . '</a>';
|
||||
}
|
||||
if ( UM()->common()->users()->can_be_deactivated( $user_id ) ) {
|
||||
$url = add_query_arg(
|
||||
array(
|
||||
@@ -139,6 +144,7 @@ if ( ! class_exists( 'um\admin\Users_Columns' ) ) {
|
||||
),
|
||||
admin_url( 'users.php' )
|
||||
);
|
||||
|
||||
$row_actions[] = '<a href="' . esc_url( $url ) . '" class="um-deactivate-user" onclick="return confirm( \'' . esc_js( __( 'Are you sure you want to deactivate this user?', 'ultimate-member' ) ) . '\' );">' . esc_html__( 'Deactivate', 'ultimate-member' ) . '</a>';
|
||||
}
|
||||
|
||||
@@ -495,7 +501,7 @@ if ( ! class_exists( 'um\admin\Users_Columns' ) ) {
|
||||
case 'um_resend_activation':
|
||||
$email_pending_count = 0;
|
||||
foreach ( $users as $user_id ) {
|
||||
$res = UM()->common()->users()->send_activation( $user_id );
|
||||
$res = UM()->common()->users()->send_activation( $user_id, true );
|
||||
if ( $res ) {
|
||||
++$email_pending_count;
|
||||
}
|
||||
|
||||
@@ -321,6 +321,8 @@ class Users {
|
||||
}
|
||||
|
||||
/**
|
||||
* Activation can be sent everytime for every user. Even force for current user.
|
||||
*
|
||||
* @param int $user_id User ID.
|
||||
* @param bool $force If true - ignore current user condition.
|
||||
*
|
||||
@@ -338,8 +340,7 @@ class Users {
|
||||
return false;
|
||||
}*/
|
||||
|
||||
$status = $this->get_status( $user_id );
|
||||
return 'awaiting_admin_review' !== $status;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -365,8 +366,8 @@ class Users {
|
||||
|
||||
$result = $this->set_status( $user_id, 'awaiting_email_confirmation' );
|
||||
|
||||
// It's `false` on failure or if the user already has rejected status.
|
||||
if ( false !== $result ) {
|
||||
// It's `false` on failure or if `$force` and the user already has `awaiting_email_confirmation` status.
|
||||
if ( false !== $result || ( $force && $this->has_status( $user_id, 'awaiting_email_confirmation' ) ) ) {
|
||||
// Clear all sessions for email confirmation pending users
|
||||
self::destroy_all_sessions( $user_id );
|
||||
|
||||
@@ -375,11 +376,15 @@ class Users {
|
||||
|
||||
$userdata = get_userdata( $user_id );
|
||||
|
||||
$current_user_id = get_current_user_id();
|
||||
um_fetch_user( $user_id );
|
||||
|
||||
add_filter( 'um_template_tags_patterns_hook', array( UM()->user(), 'add_activation_placeholder' ) );
|
||||
add_filter( 'um_template_tags_replaces_hook', array( UM()->user(), 'add_activation_replace_placeholder' ) );
|
||||
|
||||
UM()->mail()->send( $userdata->user_email, 'checkmail_email' );
|
||||
|
||||
um_fetch_user( $current_user_id );
|
||||
/**
|
||||
* Fires after User has been set as pending email confirmation.
|
||||
*
|
||||
@@ -397,44 +402,31 @@ class Users {
|
||||
|
||||
/**
|
||||
* @param int $user_id User ID.
|
||||
* @param bool $force If true - ignore current user condition.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function can_be_deactivated( $user_id, $force = false ) {
|
||||
if ( ! $force ) {
|
||||
public function can_be_deactivated( $user_id ) {
|
||||
$current_user_id = get_current_user_id();
|
||||
if ( $current_user_id === $user_id || ! self::user_exists( $user_id ) ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/*if ( ! $this->can_current_user_edit_user( $user_id ) ) {
|
||||
return false;
|
||||
}*/
|
||||
|
||||
$status = $this->get_status( $user_id );
|
||||
if ( 'inactive' === $status ) {
|
||||
// Break if the user already approved
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( 'approved' !== $status ) {
|
||||
// Break if the user already doesn't approved yet
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
// Break only if the user already approved
|
||||
return 'inactive' !== $status;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $user_id User ID.
|
||||
* @param bool $force If true - ignore current user condition.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function deactivate( $user_id, $force = false ) {
|
||||
if ( ! $this->can_be_deactivated( $user_id, $force ) ) {
|
||||
public function deactivate( $user_id ) {
|
||||
if ( ! $this->can_be_deactivated( $user_id ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -455,6 +447,8 @@ class Users {
|
||||
// Clear all sessions for inactive users
|
||||
self::destroy_all_sessions( $user_id );
|
||||
|
||||
$this->reset_activation_link( $user_id );
|
||||
|
||||
$userdata = get_userdata( $user_id );
|
||||
UM()->mail()->send( $userdata->user_email, 'inactive_email' );
|
||||
|
||||
@@ -474,47 +468,37 @@ class Users {
|
||||
}
|
||||
|
||||
/**
|
||||
* User can be rejected only after awaiting admin review status.
|
||||
*
|
||||
* @param int $user_id User ID.
|
||||
* @param bool $force If true - ignore current user condition.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function can_be_rejected( $user_id, $force = false ) {
|
||||
if ( ! $force ) {
|
||||
public function can_be_rejected( $user_id ) {
|
||||
$current_user_id = get_current_user_id();
|
||||
if ( $current_user_id === $user_id || ! self::user_exists( $user_id ) ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/*if ( ! $this->can_current_user_edit_user( $user_id ) ) {
|
||||
return false;
|
||||
}*/
|
||||
|
||||
$status = $this->get_status( $user_id );
|
||||
if ( 'rejected' === $status ) {
|
||||
// Break if the user already rejected
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( 'approved' !== $status ) {
|
||||
// Break if the user already doesn't approved yet
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
// User can be rejected only after awaiting admin review status
|
||||
return 'awaiting_admin_review' === $status;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reject user membership.
|
||||
*
|
||||
* @param int $user_id User ID.
|
||||
* @param bool $force If true - ignore current user condition.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function reject( $user_id, $force = false ) {
|
||||
if ( ! $this->can_be_rejected( $user_id, $force ) ) {
|
||||
public function reject( $user_id ) {
|
||||
if ( ! $this->can_be_rejected( $user_id ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -535,6 +519,8 @@ class Users {
|
||||
// Clear all sessions for rejected users
|
||||
self::destroy_all_sessions( $user_id );
|
||||
|
||||
$this->reset_activation_link( $user_id );
|
||||
|
||||
$userdata = get_userdata( $user_id );
|
||||
UM()->mail()->send( $userdata->user_email, 'rejected_email' );
|
||||
|
||||
@@ -554,7 +540,7 @@ class Users {
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the user can be set as pending admin review.
|
||||
* Check if the user can be set as pending admin review. Cannot set the same status but any user can be set to pending admin review.
|
||||
*
|
||||
* @param int $user_id User ID.
|
||||
* @param bool $force If true - ignore current user condition.
|
||||
@@ -607,6 +593,8 @@ class Users {
|
||||
// Clear all sessions for awaiting admin confirmation users
|
||||
self::destroy_all_sessions( $user_id );
|
||||
|
||||
$this->reset_activation_link( $user_id );
|
||||
|
||||
$userdata = get_userdata( $user_id );
|
||||
UM()->mail()->send( $userdata->user_email, 'pending_email' );
|
||||
|
||||
@@ -626,7 +614,7 @@ class Users {
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the user can be approved.
|
||||
* Check if the user can be approved. Any user with status that isn't equal to `approved` can be approved.
|
||||
*
|
||||
* @param int $user_id User ID.
|
||||
* @param bool $force If true - ignore current user condition.
|
||||
@@ -689,11 +677,15 @@ class Users {
|
||||
$this->maybe_generate_password_reset_key( $userdata );
|
||||
}
|
||||
|
||||
$current_user_id = get_current_user_id();
|
||||
um_fetch_user( $user_id );
|
||||
|
||||
add_filter( 'um_template_tags_patterns_hook', array( UM()->password(), 'add_placeholder' ) );
|
||||
add_filter( 'um_template_tags_replaces_hook', array( UM()->password(), 'add_replace_placeholder' ) );
|
||||
|
||||
UM()->mail()->send( $userdata->user_email, $email_slug );
|
||||
|
||||
um_fetch_user( $current_user_id );
|
||||
/**
|
||||
* Fires after User has been approved.
|
||||
*
|
||||
@@ -710,18 +702,17 @@ class Users {
|
||||
}
|
||||
|
||||
/**
|
||||
* Reactivated can be only `inactive` user.
|
||||
*
|
||||
* @param int $user_id User ID.
|
||||
* @param bool $force If true - ignore current user condition.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function can_be_reactivated( $user_id, $force = false ) {
|
||||
if ( ! $force ) {
|
||||
public function can_be_reactivated( $user_id ) {
|
||||
$current_user_id = get_current_user_id();
|
||||
if ( $current_user_id === $user_id || ! self::user_exists( $user_id ) ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/*if ( ! $this->can_current_user_edit_user( $user_id ) ) {
|
||||
return false;
|
||||
@@ -735,13 +726,12 @@ class Users {
|
||||
* Reactivate user.
|
||||
*
|
||||
* @param int $user_id User ID.
|
||||
* @param bool $force If true - ignore current user condition.
|
||||
*
|
||||
* @return bool `true` if the user has been reactivated
|
||||
* `false` on failure or if the user already has approved status.
|
||||
*/
|
||||
public function reactivate( $user_id, $force = false ) {
|
||||
if ( ! $this->can_be_reactivated( $user_id, $force ) ) {
|
||||
public function reactivate( $user_id ) {
|
||||
if ( ! $this->can_be_reactivated( $user_id ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -764,11 +754,16 @@ class Users {
|
||||
|
||||
$userdata = get_userdata( $user_id );
|
||||
|
||||
$current_user_id = get_current_user_id();
|
||||
um_fetch_user( $user_id );
|
||||
|
||||
add_filter( 'um_template_tags_patterns_hook', array( UM()->password(), 'add_placeholder' ) );
|
||||
add_filter( 'um_template_tags_replaces_hook', array( UM()->password(), 'add_replace_placeholder' ) );
|
||||
|
||||
UM()->mail()->send( $userdata->user_email, 'welcome_email' );
|
||||
|
||||
um_fetch_user( $current_user_id );
|
||||
|
||||
/**
|
||||
* Fires after User has been reactivated.
|
||||
*
|
||||
|
||||
@@ -112,7 +112,7 @@ if ( ! class_exists( 'um\frontend\Actions_Listener' ) ) {
|
||||
wp_die( esc_html__( 'You do not have permission to edit this user.', 'ultimate-member' ) );
|
||||
}
|
||||
|
||||
$result = UM()->common()->users()->send_activation( $user_id );
|
||||
$result = UM()->common()->users()->send_activation( $user_id, true );
|
||||
if ( ! $result ) {
|
||||
wp_die( esc_html__( 'Something went wrong.', 'ultimate-member' ) );
|
||||
}
|
||||
|
||||
+2
-2
@@ -219,8 +219,8 @@ IMPORTANT: PLEASE UPDATE THE PLUGIN TO AT LEAST VERSION 2.6.7 IMMEDIATELY. VERSI
|
||||
* Function: `UM()->user()->approve( $repeat )`. Use function `UM()->common()->users()->approve( $user_id, $force )` instead.
|
||||
* Function: `UM()->user()->email_pending()`. Use function `UM()->common()->users()->send_activation( $user_id, $force )` instead.
|
||||
* Function: `UM()->user()->pending()`. Use function `UM()->common()->users()->set_as_pending( $user_id, $force )` instead.
|
||||
* Function: `UM()->user()->reject()`. Use function `UM()->common()->users()->reject( $user_id, $force )` instead.
|
||||
* Function: `UM()->user()->deactivate()`. Use function `UM()->common()->users()->deactivate( $user_id, $force )` instead.
|
||||
* Function: `UM()->user()->reject()`. Use function `UM()->common()->users()->reject( $user_id )` instead.
|
||||
* Function: `UM()->user()->deactivate()`. Use function `UM()->common()->users()->deactivate( $user_id )` instead.
|
||||
* Function: `UM()->user()->user_exists_by_id( $user_id )`. Use function `UM()->common()->users()::user_exists( $user_id )` instead.
|
||||
* Function: `UM()->files()->format_bytes( $size )`. Use function `UM()->common()->filesystem()::format_bytes( $size )` instead.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user