From 205a3ea9bce39b62ff26e377c74bfc84dc7dd8a7 Mon Sep 17 00:00:00 2001 From: Mykyta Synelnikov Date: Wed, 17 Jan 2024 16:06:58 +0200 Subject: [PATCH] - reviewed #1428; --- includes/core/class-mail.php | 3 ++- includes/core/class-password.php | 15 ++++++++++++--- includes/core/um-actions-register.php | 6 +++--- templates/email/welcome_email.php | 2 +- templates/password-change.php | 5 +++-- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/includes/core/class-mail.php b/includes/core/class-mail.php index 965e36dd..349aae5f 100644 --- a/includes/core/class-mail.php +++ b/includes/core/class-mail.php @@ -644,7 +644,8 @@ if ( ! class_exists( 'um\core\Mail' ) ) { $replace_placeholders[] = esc_html__( 'Your set password', 'ultimate-member' ); $replace_placeholders[] = um_user( 'account_activation_link' ); - if ( 'pending' === um_user( 'status' ) || ! get_user_meta( um_user( 'ID' ), 'um_password_generated', true ) ) { + $set_password_required = get_user_meta( um_user( 'ID' ), 'um_set_password_required', true ); + if ( empty( $set_password_required ) || 'pending' === um_user( 'status' ) ) { $replace_placeholders[] = um_get_core_page( 'login' ); $replace_placeholders[] = esc_html__( 'Login to our site', 'ultimate-member' ); } else { diff --git a/includes/core/class-password.php b/includes/core/class-password.php index 06d69997..b76de3b5 100644 --- a/includes/core/class-password.php +++ b/includes/core/class-password.php @@ -155,6 +155,7 @@ if ( ! class_exists( 'um\core\Password' ) ) { if ( false !== $this->change_password ) { // then COOKIE are valid then get data from them and populate hidden fields for the password reset form + $args['rp_mode'] = 'pw_change'; $args['template'] = 'password-change'; $args['rp_key'] = ''; $rp_cookie = 'wp-resetpass-' . COOKIEHASH; @@ -163,6 +164,14 @@ if ( ! class_exists( 'um\core\Password' ) ) { $args['login'] = $rp_login; $args['rp_key'] = $rp_key; + + $rp_user_obj = get_user_by( 'login', $rp_login ); + if ( false !== $rp_user_obj ) { + $set_password_required = get_user_meta( $rp_user_obj->ID, 'um_set_password_required', true ); + if ( ! empty( $set_password_required ) ) { + $args['rp_mode'] = 'pw_set'; + } + } } } @@ -599,9 +608,9 @@ if ( ! class_exists( 'um\core\Password' ) ) { } $this->setcookie( $rp_cookie, false ); - $password_generated = get_user_meta( $user->ID, 'um_password_generated', true ); - if ( $password_generated ) { - delete_user_meta( $user->ID, 'um_password_generated' ); + $password_generated = get_user_meta( $user->ID, 'um_set_password_required', true ); + if ( ! empty( $password_generated ) ) { + delete_user_meta( $user->ID, 'um_set_password_required' ); } /** diff --git a/includes/core/um-actions-register.php b/includes/core/um-actions-register.php index 14938c8f..5d4bf6ac 100644 --- a/includes/core/um-actions-register.php +++ b/includes/core/um-actions-register.php @@ -11,9 +11,9 @@ if ( ! defined( 'ABSPATH' ) ) { function um_post_registration_approved_hook( $user_id ) { um_fetch_user( $user_id ); - UM()->user()->approve( true ); + UM()->user()->approve(); } -add_action( 'um_post_registration_approved_hook', 'um_post_registration_approved_hook', 10, 1 ); +add_action( 'um_post_registration_approved_hook', 'um_post_registration_approved_hook' ); /** * Account needs email validation. @@ -523,7 +523,7 @@ function um_submit_form_register( $args, $form_data ) { } if ( true === $generate_password ) { - update_user_meta( $user_id, 'um_password_generated', true ); + update_user_meta( $user_id, 'um_set_password_required', true ); } /** diff --git a/templates/email/welcome_email.php b/templates/email/welcome_email.php index ffb7c6f8..b81eb789 100644 --- a/templates/email/welcome_email.php +++ b/templates/email/welcome_email.php @@ -5,7 +5,7 @@ * * This template can be overridden by copying it to {your-theme}/ultimate-member/email/welcome_email.php * - * @version 2.6.1 + * @version 2.8.3 */ if ( ! defined( 'ABSPATH' ) ) { exit; diff --git a/templates/password-change.php b/templates/password-change.php index 9834b066..98c6e3b7 100644 --- a/templates/password-change.php +++ b/templates/password-change.php @@ -6,8 +6,9 @@ * * Call: function ultimatemember_password() * - * @version 2.7.0 + * @version 2.8.3 * + * @var string $rp_mode * @var string $mode * @var string $rp_key * @var int $form_id @@ -63,7 +64,7 @@ if ( ! defined( 'ABSPATH' ) ) {
- +