Skip to content

Commit ad1b8c8

Browse files
authored
Reset password validation. (#1351)
1 parent 7952741 commit ad1b8c8

2 files changed

Lines changed: 20 additions & 0 deletions

File tree

includes/admin/settings/emails/class-ur-settings-reset-password-email.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,25 @@ public function __construct() {
5151
$this->title = __( 'Reset Password', 'user-registration' );
5252
$this->description = __( 'Sends a secure password reset link to the user who requested a reset.', 'user-registration' );
5353
$this->receiver = 'User';
54+
55+
add_filter( 'user_registration_admin_settings_sanitize_option_user_registration_reset_password_email', array( $this, 'validate_reset_link_smart_tag' ), 10, 2 );
56+
}
57+
58+
public function validate_reset_link_smart_tag( $value, $option ) {
59+
$required_url = '{{home_url}}/{{ur_reset_pass_slug}}?action=rp&key={{key}}&login={{username}}';
60+
$content = html_entity_decode( (string) $value, ENT_QUOTES );
61+
62+
if ( false === strpos( $content, $required_url ) ) {
63+
UR_Admin_Settings::add_error(
64+
sprintf(
65+
/* translators: %s: required reset password link. */
66+
__( 'Reset Password email not saved: the reset link <code>%s</code> is required and cannot be removed or modified.', 'user-registration' ),
67+
esc_html( $required_url )
68+
)
69+
);
70+
return UR_Admin_Settings::get_option( $option['id'], $option['default'] );
71+
}
72+
return $value;
5473
}
5574

5675
/**

includes/class-ur-smart-tags.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ public static function ur_unauthenticated_parsable_smart_tags_list() {
6767
$smart_tags = array(
6868
'{{blog_info}}' => esc_html__( 'Blog Info', 'user-registration' ),
6969
'{{home_url}}' => esc_html__( 'Home URL', 'user-registration' ),
70+
'{{ur_reset_pass_slug}}' => esc_html__( 'Reset Password Slug', 'user-registration' ),
7071
'{{admin_email}}' => esc_html__( 'Site Admin Email', 'user-registration' ),
7172
'{{site_name}}' => esc_html__( 'Site Name', 'user-registration' ),
7273
'{{site_url}}' => esc_html__( 'Site URL', 'user-registration' ),

0 commit comments

Comments
 (0)