Version Description
- Hide form for "check your email" step of password reset
- Use retrieve_password() from WP core and deprecate compat.php
- Update strings to match core
- Add a filter to allow disabling network signup redirect
- Fix deprecated notice in password strength meter
Download this release
Release Info
Developer | jfarthing84 |
Plugin | Theme My Login |
Version | 7.1.4 |
Comparing to | |
See all releases |
Code changes from version 7.1.3 to 7.1.4
- assets/scripts/theme-my-login.js +4 -4
- assets/scripts/theme-my-login.min.js +1 -1
- includes/actions.php +8 -8
- includes/class-theme-my-login-form.php +28 -12
- includes/class-theme-my-login-widget.php +1 -1
- includes/compat.php +2 -0
- includes/extensions.php +4 -1
- includes/forms.php +4 -0
- includes/hooks.php +0 -3
- includes/ms-functions.php +11 -2
- includes/shortcodes.php +1 -1
- languages/theme-my-login.pot +35 -35
- readme.txt +8 -1
- theme-my-login.php +2 -3
assets/scripts/theme-my-login.js
CHANGED
@@ -97,13 +97,13 @@
|
|
97 |
result = $( '#pass-strength-result' ),
|
98 |
strength;
|
99 |
|
100 |
-
result.removeClass('short bad good strong');
|
101 |
-
if ( ! pass1 ) {
|
102 |
-
result.html( ' ' );
|
103 |
return;
|
104 |
}
|
105 |
|
106 |
-
strength = wp.passwordStrength.meter( pass1, wp.passwordStrength.
|
107 |
|
108 |
switch ( strength ) {
|
109 |
case -1:
|
97 |
result = $( '#pass-strength-result' ),
|
98 |
strength;
|
99 |
|
100 |
+
result.removeClass('short bad good strong empty');
|
101 |
+
if ( ! pass1 || '' === pass1.trim() ) {
|
102 |
+
result.addClass('empty').html( ' ' );
|
103 |
return;
|
104 |
}
|
105 |
|
106 |
+
strength = wp.passwordStrength.meter( pass1, wp.passwordStrength.userInputDisallowedList(), pass1 );
|
107 |
|
108 |
switch ( strength ) {
|
109 |
case -1:
|
assets/scripts/theme-my-login.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(n){n(".tml").on("submit",'form[data-ajax="1"]',function(a){var e=n(this),s=e.find(":input"),t=e.find(":submit"),r=n(a.delegateTarget).find(".tml-alerts");a.preventDefault(),r.empty(),s.prop("readonly",!0),t.prop("disabled",!0),n.ajax({data:e.serialize()+"&ajax=1",method:e.attr("method")||"get",url:e.attr("action")}).always(function(){s.prop("readonly",!1),t.prop("disabled",!1)}).done(function(a){a.success?a.data.refresh?location.reload(!0):a.data.redirect?location.href=a.data.redirect:a.data.notice&&r.hide().html(a.data.notice).fadeIn():r.hide().html(a.data.errors).fadeIn()}).fail(function(a,e,s){a.responseJSON.data.errors&&r.hide().html(a.responseJSON.data.errors).fadeIn()})})}(jQuery),function(s){s(function(){var a,e;if(!themeMyLogin.action)return;switch(a=s("#user_login"),themeMyLogin.action){case"activate":(e=s("#key")).length&&e.focus();break;case"lostpassword":case"retrievepassword":case"register":a.focus();break;case"resetpass":case"rp":s("#pass1").focus();break;case"login":-1!=themeMyLogin.errors.indexOf("invalid_username")&&a.val(""),a.val()?s("#user_pass").focus():a.focus()}})}(jQuery),function(s){function a(){var a=s("#pass1").val(),e=s("#pass-strength-result");if(e.removeClass("short bad good strong"),a)switch(wp.passwordStrength.meter(a,wp.passwordStrength.
|
1 |
+
!function(n){n(".tml").on("submit",'form[data-ajax="1"]',function(a){var e=n(this),s=e.find(":input"),t=e.find(":submit"),r=n(a.delegateTarget).find(".tml-alerts");a.preventDefault(),r.empty(),s.prop("readonly",!0),t.prop("disabled",!0),n.ajax({data:e.serialize()+"&ajax=1",method:e.attr("method")||"get",url:e.attr("action")}).always(function(){s.prop("readonly",!1),t.prop("disabled",!1)}).done(function(a){a.success?a.data.refresh?location.reload(!0):a.data.redirect?location.href=a.data.redirect:a.data.notice&&r.hide().html(a.data.notice).fadeIn():r.hide().html(a.data.errors).fadeIn()}).fail(function(a,e,s){a.responseJSON.data.errors&&r.hide().html(a.responseJSON.data.errors).fadeIn()})})}(jQuery),function(s){s(function(){var a,e;if(!themeMyLogin.action)return;switch(a=s("#user_login"),themeMyLogin.action){case"activate":(e=s("#key")).length&&e.focus();break;case"lostpassword":case"retrievepassword":case"register":a.focus();break;case"resetpass":case"rp":s("#pass1").focus();break;case"login":-1!=themeMyLogin.errors.indexOf("invalid_username")&&a.val(""),a.val()?s("#user_pass").focus():a.focus()}})}(jQuery),function(s){function a(){var a=s("#pass1").val(),e=s("#pass-strength-result");if(e.removeClass("short bad good strong empty"),a&&""!==a.trim())switch(wp.passwordStrength.meter(a,wp.passwordStrength.userInputDisallowedList(),a)){case-1:e.addClass("bad").html(pwsL10n.unknown);break;case 2:e.addClass("bad").html(pwsL10n.bad);break;case 3:e.addClass("good").html(pwsL10n.good);break;case 4:e.addClass("strong").html(pwsL10n.strong);break;case 5:e.addClass("short").html(pwsL10n.mismatch);break;default:e.addClass("short").html(pwsL10n.short)}else e.addClass("empty").html(" ")}s(document).ready(function(){s("#pass1").val("").on("keyup paste",a)})}(jQuery);
|
includes/actions.php
CHANGED
@@ -25,7 +25,7 @@ function tml_register_default_actions() {
|
|
25 |
|
26 |
// Login
|
27 |
tml_register_action( 'login', array(
|
28 |
-
'title' => __( 'Log In' ),
|
29 |
'slug' => 'login',
|
30 |
'callback' => 'tml_login_handler',
|
31 |
'ajax_callback' => 'tml_login_handler',
|
@@ -506,7 +506,7 @@ function tml_login_handler() {
|
|
506 |
$errors->add( 'loggedout', __( 'You are now logged out.' ), 'message' );
|
507 |
|
508 |
} elseif ( isset( $_GET['registration'] ) && 'disabled' == $_GET['registration'] ) {
|
509 |
-
$errors->add( 'registerdisabled', __( 'User registration is currently not allowed.' ) );
|
510 |
|
511 |
} elseif ( isset( $_GET['checkemail'] ) && 'confirm' == $_GET['checkemail'] ) {
|
512 |
$errors->add( 'confirm', sprintf( __( 'Check your email for the confirmation link, then visit the <a href="%s">login page</a>.' ), wp_login_url() ) , 'message' );
|
@@ -593,7 +593,7 @@ function tml_registration_handler() {
|
|
593 |
|
594 |
if ( ! get_option( 'users_can_register' ) ) {
|
595 |
if ( tml_is_ajax_request() ) {
|
596 |
-
tml_add_error( 'registerdisabled', __( 'User registration is currently not allowed.' ) );
|
597 |
tml_send_ajax_error( array(
|
598 |
'errors' => tml_get_form()->render_errors(),
|
599 |
) );
|
@@ -647,10 +647,10 @@ function tml_registration_handler() {
|
|
647 |
function tml_lost_password_handler() {
|
648 |
|
649 |
if ( tml_is_post_request() ) {
|
650 |
-
$errors =
|
651 |
if ( ! is_wp_error( $errors ) ) {
|
652 |
if ( tml_is_ajax_request() ) {
|
653 |
-
tml_add_error( 'confirm', __( 'Check your email for the confirmation link
|
654 |
tml_send_ajax_success( array(
|
655 |
'notice' => tml_get_form()->render_errors(),
|
656 |
) );
|
@@ -671,9 +671,9 @@ function tml_lost_password_handler() {
|
|
671 |
|
672 |
if ( isset( $_REQUEST['error'] ) ) {
|
673 |
if ( 'invalidkey' == $_REQUEST['error'] ) {
|
674 |
-
tml_add_error( 'invalidkey', __( 'Your password reset link appears to be invalid. Please request a new link below.' ) );
|
675 |
} elseif ( 'expiredkey' == $_REQUEST['error'] ) {
|
676 |
-
tml_add_error( 'expiredkey', __( 'Your password reset link has expired. Please request a new link below.' ) );
|
677 |
}
|
678 |
}
|
679 |
|
@@ -721,7 +721,7 @@ function tml_password_reset_handler() {
|
|
721 |
$errors = new WP_Error;
|
722 |
|
723 |
if ( isset( $_POST['pass1'] ) && $_POST['pass1'] != $_POST['pass2'] ) {
|
724 |
-
$errors->add( 'password_reset_mismatch', __( 'The passwords do not match.' ) );
|
725 |
}
|
726 |
|
727 |
/** This action is documented in wp-login.php */
|
25 |
|
26 |
// Login
|
27 |
tml_register_action( 'login', array(
|
28 |
+
'title' => isset( $_GET['checkemail'] ) ? __( 'Check your email' ) : __( 'Log In' ),
|
29 |
'slug' => 'login',
|
30 |
'callback' => 'tml_login_handler',
|
31 |
'ajax_callback' => 'tml_login_handler',
|
506 |
$errors->add( 'loggedout', __( 'You are now logged out.' ), 'message' );
|
507 |
|
508 |
} elseif ( isset( $_GET['registration'] ) && 'disabled' == $_GET['registration'] ) {
|
509 |
+
$errors->add( 'registerdisabled', __( '<strong>Error</strong>: User registration is currently not allowed.' ) );
|
510 |
|
511 |
} elseif ( isset( $_GET['checkemail'] ) && 'confirm' == $_GET['checkemail'] ) {
|
512 |
$errors->add( 'confirm', sprintf( __( 'Check your email for the confirmation link, then visit the <a href="%s">login page</a>.' ), wp_login_url() ) , 'message' );
|
593 |
|
594 |
if ( ! get_option( 'users_can_register' ) ) {
|
595 |
if ( tml_is_ajax_request() ) {
|
596 |
+
tml_add_error( 'registerdisabled', __( '<strong>Error</strong>: User registration is currently not allowed.' ) );
|
597 |
tml_send_ajax_error( array(
|
598 |
'errors' => tml_get_form()->render_errors(),
|
599 |
) );
|
647 |
function tml_lost_password_handler() {
|
648 |
|
649 |
if ( tml_is_post_request() ) {
|
650 |
+
$errors = retrieve_password();
|
651 |
if ( ! is_wp_error( $errors ) ) {
|
652 |
if ( tml_is_ajax_request() ) {
|
653 |
+
tml_add_error( 'confirm', __( 'Check your email for the confirmation link, then visit the <a href="%s">login page</a>.' ), 'message' );
|
654 |
tml_send_ajax_success( array(
|
655 |
'notice' => tml_get_form()->render_errors(),
|
656 |
) );
|
671 |
|
672 |
if ( isset( $_REQUEST['error'] ) ) {
|
673 |
if ( 'invalidkey' == $_REQUEST['error'] ) {
|
674 |
+
tml_add_error( 'invalidkey', __( '<strong>Error</strong>: Your password reset link appears to be invalid. Please request a new link below.' ) );
|
675 |
} elseif ( 'expiredkey' == $_REQUEST['error'] ) {
|
676 |
+
tml_add_error( 'expiredkey', __( '<strong>Error</strong>: Your password reset link has expired. Please request a new link below.' ) );
|
677 |
}
|
678 |
}
|
679 |
|
721 |
$errors = new WP_Error;
|
722 |
|
723 |
if ( isset( $_POST['pass1'] ) && $_POST['pass1'] != $_POST['pass2'] ) {
|
724 |
+
$errors->add( 'password_reset_mismatch', __( '<strong>Error</strong>: The passwords do not match.' ) );
|
725 |
}
|
726 |
|
727 |
/** This action is documented in wp-login.php */
|
includes/class-theme-my-login-form.php
CHANGED
@@ -116,7 +116,7 @@ class Theme_My_Login_Form {
|
|
116 |
}
|
117 |
|
118 |
if ( ! empty( $args['render_args'] ) ) {
|
119 |
-
$this->render_args = $args['render_args'];
|
120 |
}
|
121 |
}
|
122 |
|
@@ -524,7 +524,30 @@ class Theme_My_Login_Form {
|
|
524 |
}
|
525 |
|
526 |
/**
|
527 |
-
* Render the form.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
528 |
*
|
529 |
* @since 7.0
|
530 |
*
|
@@ -548,6 +571,7 @@ class Theme_My_Login_Form {
|
|
548 |
'before' => '',
|
549 |
'after' => '',
|
550 |
'show_links' => true,
|
|
|
551 |
) );
|
552 |
|
553 |
/**
|
@@ -588,18 +612,10 @@ class Theme_My_Login_Form {
|
|
588 |
|
589 |
$output .= '<div class="tml-alerts">' . $this->render_errors() . '</div>';
|
590 |
|
591 |
-
|
592 |
-
|
593 |
-
$output .= ' ' . $key . '="' . esc_attr( $value ) . '"';
|
594 |
-
}
|
595 |
-
$output .= ">\n";
|
596 |
-
|
597 |
-
foreach ( $this->get_fields() as $field ) {
|
598 |
-
$output .= $field->render() . "\n";
|
599 |
}
|
600 |
|
601 |
-
$output .= "</form>\n";
|
602 |
-
|
603 |
/**
|
604 |
* Filter the content after the form.
|
605 |
*
|
116 |
}
|
117 |
|
118 |
if ( ! empty( $args['render_args'] ) ) {
|
119 |
+
$this->render_args = (array) $args['render_args'];
|
120 |
}
|
121 |
}
|
122 |
|
524 |
}
|
525 |
|
526 |
/**
|
527 |
+
* Render the form element.
|
528 |
+
*
|
529 |
+
* @since 7.1.4
|
530 |
+
*
|
531 |
+
* @return string The form markup.
|
532 |
+
*/
|
533 |
+
public function render_form() {
|
534 |
+
$output = '<form name="' . esc_attr( $this->get_name() ) . '" action="' . esc_url( $this->get_action() ) . '" method="' . esc_attr( $this->get_method() ) . '"';
|
535 |
+
foreach ( $this->get_attributes() as $key => $value ) {
|
536 |
+
$output .= ' ' . $key . '="' . esc_attr( $value ) . '"';
|
537 |
+
}
|
538 |
+
$output .= ">\n";
|
539 |
+
|
540 |
+
foreach ( $this->get_fields() as $field ) {
|
541 |
+
$output .= $field->render() . "\n";
|
542 |
+
}
|
543 |
+
|
544 |
+
$output .= "</form>\n";
|
545 |
+
|
546 |
+
return $output;
|
547 |
+
}
|
548 |
+
|
549 |
+
/**
|
550 |
+
* Render the entire form with notices and links.
|
551 |
*
|
552 |
* @since 7.0
|
553 |
*
|
571 |
'before' => '',
|
572 |
'after' => '',
|
573 |
'show_links' => true,
|
574 |
+
'show_form' => true,
|
575 |
) );
|
576 |
|
577 |
/**
|
612 |
|
613 |
$output .= '<div class="tml-alerts">' . $this->render_errors() . '</div>';
|
614 |
|
615 |
+
if ( $args['show_form'] ) {
|
616 |
+
$output .= $this->render_form();
|
|
|
|
|
|
|
|
|
|
|
|
|
617 |
}
|
618 |
|
|
|
|
|
619 |
/**
|
620 |
* Filter the content after the form.
|
621 |
*
|
includes/class-theme-my-login-widget.php
CHANGED
@@ -93,7 +93,7 @@ class Theme_My_Login_Widget extends WP_Widget {
|
|
93 |
'url' => tml_get_action_url( 'dashboard' ),
|
94 |
),
|
95 |
'profile' => array(
|
96 |
-
'title' => __( 'Edit
|
97 |
'url' => admin_url( 'profile.php' ),
|
98 |
),
|
99 |
'logout' => array(
|
93 |
'url' => tml_get_action_url( 'dashboard' ),
|
94 |
),
|
95 |
'profile' => array(
|
96 |
+
'title' => __( 'Edit Profile' ),
|
97 |
'url' => admin_url( 'profile.php' ),
|
98 |
),
|
99 |
'logout' => array(
|
includes/compat.php
CHANGED
@@ -6,6 +6,8 @@
|
|
6 |
* Note I proposed a patch that, if accepted, would negate the need for this file.
|
7 |
* @link https://core.trac.wordpress.org/ticket/31039
|
8 |
*
|
|
|
|
|
9 |
* @package Theme_My_Login
|
10 |
* @subpackage Compatibility
|
11 |
*/
|
6 |
* Note I proposed a patch that, if accepted, would negate the need for this file.
|
7 |
* @link https://core.trac.wordpress.org/ticket/31039
|
8 |
*
|
9 |
+
* @deprecated This file will be removed in a future version of the plugin.
|
10 |
+
*
|
11 |
* @package Theme_My_Login
|
12 |
* @subpackage Compatibility
|
13 |
*/
|
includes/extensions.php
CHANGED
@@ -332,7 +332,10 @@ function tml_extension_api_call( $url, $args = array() ) {
|
|
332 |
return false;
|
333 |
}
|
334 |
|
335 |
-
$response = json_decode( wp_remote_retrieve_body( $response ) );
|
|
|
|
|
|
|
336 |
|
337 |
if ( is_object( $response ) ) {
|
338 |
if ( isset( $response->sections ) ) {
|
332 |
return false;
|
333 |
}
|
334 |
|
335 |
+
$response = json_decode( wp_remote_retrieve_body( $response ), true );
|
336 |
+
if ( is_array( $response ) ) {
|
337 |
+
$response = (object) $response;
|
338 |
+
}
|
339 |
|
340 |
if ( is_object( $response ) ) {
|
341 |
if ( isset( $response->sections ) ) {
|
includes/forms.php
CHANGED
@@ -35,6 +35,10 @@ function tml_register_login_form() {
|
|
35 |
'attributes' => array_filter( array(
|
36 |
'data-ajax' => tml_use_ajax() ? 1 : 0,
|
37 |
) ),
|
|
|
|
|
|
|
|
|
38 |
) );
|
39 |
|
40 |
tml_add_form_field( 'login', 'log', array(
|
35 |
'attributes' => array_filter( array(
|
36 |
'data-ajax' => tml_use_ajax() ? 1 : 0,
|
37 |
) ),
|
38 |
+
'render_args' => isset( $_GET['checkemail'] ) ? array(
|
39 |
+
'show_form' => false,
|
40 |
+
'show_links' => false,
|
41 |
+
) : array(),
|
42 |
) );
|
43 |
|
44 |
tml_add_form_field( 'login', 'log', array(
|
includes/hooks.php
CHANGED
@@ -48,9 +48,6 @@ add_action( 'edit_user_created_user', 'tml_send_new_user_notifications', 10, 2 )
|
|
48 |
remove_action( 'register_new_user', 'wp_send_new_user_notifications' );
|
49 |
remove_action( 'edit_user_created_user', 'wp_send_new_user_notifications' );
|
50 |
|
51 |
-
// Passwords
|
52 |
-
add_action( 'retrieved_password_key', 'tml_retrieve_password_notification', 10, 2 );
|
53 |
-
|
54 |
// Activation
|
55 |
add_action( 'tml_activate', 'tml_flush_rewrite_rules' );
|
56 |
|
48 |
remove_action( 'register_new_user', 'wp_send_new_user_notifications' );
|
49 |
remove_action( 'edit_user_created_user', 'wp_send_new_user_notifications' );
|
50 |
|
|
|
|
|
|
|
51 |
// Activation
|
52 |
add_action( 'tml_activate', 'tml_flush_rewrite_rules' );
|
53 |
|
includes/ms-functions.php
CHANGED
@@ -409,8 +409,17 @@ function tml_ms_signup_handler() {
|
|
409 |
}
|
410 |
|
411 |
if ( ! is_main_site() ) {
|
412 |
-
|
413 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
414 |
}
|
415 |
|
416 |
$active_signup = tml_ms_signup_get_active_signup();
|
409 |
}
|
410 |
|
411 |
if ( ! is_main_site() ) {
|
412 |
+
/**
|
413 |
+
* Filter whether to redirect subsite signup to network signup or not.
|
414 |
+
*
|
415 |
+
* @since 7.1.4
|
416 |
+
*
|
417 |
+
* @param bool $redirect Whether to redirect or not. Default true.
|
418 |
+
*/
|
419 |
+
if ( apply_filters( 'tml_redirect_subsite_to_network_signup', true ) ) {
|
420 |
+
wp_redirect( network_site_url( 'wp-signup.php' ) );
|
421 |
+
exit;
|
422 |
+
}
|
423 |
}
|
424 |
|
425 |
$active_signup = tml_ms_signup_get_active_signup();
|
includes/shortcodes.php
CHANGED
@@ -82,7 +82,7 @@ function tml_shortcode( $atts = array() ) {
|
|
82 |
'url' => admin_url(),
|
83 |
) : false,
|
84 |
'profile' => array(
|
85 |
-
'title' => __( 'Edit
|
86 |
'url' => admin_url( 'profile.php' ),
|
87 |
),
|
88 |
'logout' => array(
|
82 |
'url' => admin_url(),
|
83 |
) : false,
|
84 |
'profile' => array(
|
85 |
+
'title' => __( 'Edit Profile' ),
|
86 |
'url' => admin_url( 'profile.php' ),
|
87 |
),
|
88 |
'logout' => array(
|
languages/theme-my-login.pot
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the Theme My Login plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Theme My Login 7.1.
|
6 |
-
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/theme-my-login\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"POT-Creation-Date:
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.4.0\n"
|
15 |
"X-Domain: theme-my-login\n"
|
@@ -98,7 +98,7 @@ msgid "A new <strong>Theme My Login</strong> extension is available!"
|
|
98 |
msgstr ""
|
99 |
|
100 |
#: admin/functions.php:278
|
101 |
-
#: includes/functions.php:
|
102 |
msgid "Theme My Login Actions"
|
103 |
msgstr ""
|
104 |
|
@@ -174,64 +174,64 @@ msgstr ""
|
|
174 |
msgid "Activate"
|
175 |
msgstr ""
|
176 |
|
177 |
-
#: admin/settings.php:
|
178 |
msgid "Welcome to Theme My Login!"
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: admin/settings.php:
|
182 |
msgid "Below, you can configure how you would like users to register and log in to your site."
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: admin/settings.php:
|
186 |
msgid "Additionally, you can change the slugs that are used to generate the URLs that represent specific actions."
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: admin/settings.php:
|
190 |
-
#: admin/settings.php:
|
191 |
-
#: admin/settings.php:
|
192 |
-
#: admin/settings.php:
|
193 |
msgid "View Documentation"
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: admin/settings.php:
|
197 |
-
#: admin/settings.php:
|
198 |
-
#: admin/settings.php:
|
199 |
msgid "Get Support"
|
200 |
msgstr ""
|
201 |
|
202 |
-
#: admin/settings.php:
|
203 |
msgid "When you purchase extensions for Theme My Login, you will enter your license keys on this page."
|
204 |
msgstr ""
|
205 |
|
206 |
-
#: admin/settings.php:
|
207 |
msgid "After you enter your license keys and click the Save Changes button at the bottom of the screen, you will see a new button next to each field with a license in it."
|
208 |
msgstr ""
|
209 |
|
210 |
-
#: admin/settings.php:
|
211 |
msgid "If you have not yet activated your license, this button will say \"Activate\". Click this button to activate your license."
|
212 |
msgstr ""
|
213 |
|
214 |
-
#: admin/settings.php:
|
215 |
msgid "If you have already activated your license, this button will say \"Deactivate\". Click this button to deactivate your license."
|
216 |
msgstr ""
|
217 |
|
218 |
-
#: admin/settings.php:
|
219 |
msgid "This page shows you all of the extensions available to purchase for Theme My Login."
|
220 |
msgstr ""
|
221 |
|
222 |
-
#: admin/settings.php:
|
223 |
msgid "Once you purchase an extension, you download it from your email receipt or your account page on our website. Then, you install it just like a normal WordPress plugin."
|
224 |
msgstr ""
|
225 |
|
226 |
-
#: admin/settings.php:
|
227 |
msgid "Go to the Extensions Store"
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: admin/settings.php:
|
231 |
msgid "View your Theme My Login account"
|
232 |
msgstr ""
|
233 |
|
234 |
-
#: admin/settings.php:
|
235 |
msgid "On this page, you can configure the settings for the Theme My Login %s extension."
|
236 |
msgstr ""
|
237 |
|
@@ -239,7 +239,7 @@ msgstr ""
|
|
239 |
msgid "Your Data Request"
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: includes/actions.php:
|
243 |
msgid "Registration complete. You may now log in."
|
244 |
msgstr ""
|
245 |
|
@@ -287,32 +287,32 @@ msgstr ""
|
|
287 |
msgid "Unable to deactivate license. Please deactivate it on <a href=\"%1$s\" target=\"_blank\">our site</a>."
|
288 |
msgstr ""
|
289 |
|
290 |
-
#: includes/forms.php:
|
291 |
msgid "Confirm Password"
|
292 |
msgstr ""
|
293 |
|
294 |
-
#: includes/functions.php:
|
295 |
msgid "Theme My Login Action"
|
296 |
msgstr ""
|
297 |
|
298 |
-
#: includes/functions.php:
|
299 |
-
#: includes/functions.php:
|
300 |
-
#: includes/functions.php:
|
301 |
msgid "TML Action"
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: includes/functions.php:
|
305 |
msgid "<strong>Error</strong>: Please enter a password."
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: includes/functions.php:
|
309 |
msgid "<strong>Error</strong>: Passwords may not contain the character \"\\\"."
|
310 |
msgstr ""
|
311 |
|
312 |
-
#: includes/functions.php:
|
313 |
-
msgid "<strong>Error</strong>: Please enter the same password in both password fields."
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: includes/functions.php:
|
317 |
msgid "If you have already set your own password, you may disregard this email and use the password you have already set."
|
318 |
msgstr ""
|
1 |
+
# Copyright (C) 2021 Theme My Login
|
2 |
# This file is distributed under the same license as the Theme My Login plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Theme My Login 7.1.4\n"
|
6 |
+
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/theme-my-login-trunk\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"POT-Creation-Date: 2021-12-06T16:20:53+00:00\n"
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.4.0\n"
|
15 |
"X-Domain: theme-my-login\n"
|
98 |
msgstr ""
|
99 |
|
100 |
#: admin/functions.php:278
|
101 |
+
#: includes/functions.php:555
|
102 |
msgid "Theme My Login Actions"
|
103 |
msgstr ""
|
104 |
|
174 |
msgid "Activate"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: admin/settings.php:648
|
178 |
msgid "Welcome to Theme My Login!"
|
179 |
msgstr ""
|
180 |
|
181 |
+
#: admin/settings.php:649
|
182 |
msgid "Below, you can configure how you would like users to register and log in to your site."
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: admin/settings.php:650
|
186 |
msgid "Additionally, you can change the slugs that are used to generate the URLs that represent specific actions."
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: admin/settings.php:656
|
190 |
+
#: admin/settings.php:679
|
191 |
+
#: admin/settings.php:699
|
192 |
+
#: admin/settings.php:727
|
193 |
msgid "View Documentation"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: admin/settings.php:661
|
197 |
+
#: admin/settings.php:683
|
198 |
+
#: admin/settings.php:734
|
199 |
msgid "Get Support"
|
200 |
msgstr ""
|
201 |
|
202 |
+
#: admin/settings.php:671
|
203 |
msgid "When you purchase extensions for Theme My Login, you will enter your license keys on this page."
|
204 |
msgstr ""
|
205 |
|
206 |
+
#: admin/settings.php:672
|
207 |
msgid "After you enter your license keys and click the Save Changes button at the bottom of the screen, you will see a new button next to each field with a license in it."
|
208 |
msgstr ""
|
209 |
|
210 |
+
#: admin/settings.php:673
|
211 |
msgid "If you have not yet activated your license, this button will say \"Activate\". Click this button to activate your license."
|
212 |
msgstr ""
|
213 |
|
214 |
+
#: admin/settings.php:674
|
215 |
msgid "If you have already activated your license, this button will say \"Deactivate\". Click this button to deactivate your license."
|
216 |
msgstr ""
|
217 |
|
218 |
+
#: admin/settings.php:693
|
219 |
msgid "This page shows you all of the extensions available to purchase for Theme My Login."
|
220 |
msgstr ""
|
221 |
|
222 |
+
#: admin/settings.php:694
|
223 |
msgid "Once you purchase an extension, you download it from your email receipt or your account page on our website. Then, you install it just like a normal WordPress plugin."
|
224 |
msgstr ""
|
225 |
|
226 |
+
#: admin/settings.php:703
|
227 |
msgid "Go to the Extensions Store"
|
228 |
msgstr ""
|
229 |
|
230 |
+
#: admin/settings.php:707
|
231 |
msgid "View your Theme My Login account"
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: admin/settings.php:718
|
235 |
msgid "On this page, you can configure the settings for the Theme My Login %s extension."
|
236 |
msgstr ""
|
237 |
|
239 |
msgid "Your Data Request"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: includes/actions.php:516
|
243 |
msgid "Registration complete. You may now log in."
|
244 |
msgstr ""
|
245 |
|
287 |
msgid "Unable to deactivate license. Please deactivate it on <a href=\"%1$s\" target=\"_blank\">our site</a>."
|
288 |
msgstr ""
|
289 |
|
290 |
+
#: includes/forms.php:148
|
291 |
msgid "Confirm Password"
|
292 |
msgstr ""
|
293 |
|
294 |
+
#: includes/functions.php:556
|
295 |
msgid "Theme My Login Action"
|
296 |
msgstr ""
|
297 |
|
298 |
+
#: includes/functions.php:584
|
299 |
+
#: includes/functions.php:611
|
300 |
+
#: includes/functions.php:626
|
301 |
msgid "TML Action"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: includes/functions.php:690
|
305 |
msgid "<strong>Error</strong>: Please enter a password."
|
306 |
msgstr ""
|
307 |
|
308 |
+
#: includes/functions.php:693
|
309 |
msgid "<strong>Error</strong>: Passwords may not contain the character \"\\\"."
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: includes/functions.php:696
|
313 |
+
msgid "<strong>Error</strong>: Passwords don’t match. Please enter the same password in both password fields."
|
314 |
msgstr ""
|
315 |
|
316 |
+
#: includes/functions.php:713
|
317 |
msgid "If you have already set your own password, you may disregard this email and use the password you have already set."
|
318 |
msgstr ""
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Contributors: thememylogin, jfarthing84
|
3 |
Tags: login, register, password, branding, customize, widget, wp-login, wp-login.php
|
4 |
Requires at least: 5.4
|
5 |
-
Tested up to: 5.
|
6 |
Stable tag: trunk
|
7 |
|
8 |
The ultimate login branding solution! Theme My Login offers matchless customization of your WordPress user experience!
|
@@ -59,6 +59,13 @@ Report bugs, suggest ideas and participate in development at [GitHub](https://gi
|
|
59 |
|
60 |
== Changelog ==
|
61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
= 7.1.3 =
|
63 |
* Fix PHP 8 notices
|
64 |
* Fix wp_sensitive_page_meta() deprecated notice in WP 5.7+
|
2 |
Contributors: thememylogin, jfarthing84
|
3 |
Tags: login, register, password, branding, customize, widget, wp-login, wp-login.php
|
4 |
Requires at least: 5.4
|
5 |
+
Tested up to: 5.9
|
6 |
Stable tag: trunk
|
7 |
|
8 |
The ultimate login branding solution! Theme My Login offers matchless customization of your WordPress user experience!
|
59 |
|
60 |
== Changelog ==
|
61 |
|
62 |
+
= 7.1.4 =
|
63 |
+
* Hide form for "check your email" step of password reset
|
64 |
+
* Use retrieve_password() from WP core and deprecate compat.php
|
65 |
+
* Update strings to match core
|
66 |
+
* Add a filter to allow disabling network signup redirect
|
67 |
+
* Fix deprecated notice in password strength meter
|
68 |
+
|
69 |
= 7.1.3 =
|
70 |
* Fix PHP 8 notices
|
71 |
* Fix wp_sensitive_page_meta() deprecated notice in WP 5.7+
|
theme-my-login.php
CHANGED
@@ -10,7 +10,7 @@
|
|
10 |
Plugin Name: Theme My Login
|
11 |
Plugin URI: https://thememylogin.com
|
12 |
Description: Creates an alternate login, registration and password recovery experience within your theme.
|
13 |
-
Version: 7.1.
|
14 |
Author: Theme My Login
|
15 |
Author URI: https://thememylogin.com
|
16 |
License: GPLv2
|
@@ -24,7 +24,7 @@ Network: true
|
|
24 |
*
|
25 |
* @since 7.0
|
26 |
*/
|
27 |
-
define( 'THEME_MY_LOGIN_VERSION', '7.1.
|
28 |
|
29 |
/**
|
30 |
* Stores the path to TML.
|
@@ -66,7 +66,6 @@ require THEME_MY_LOGIN_PATH . 'includes/class-theme-my-login-widget.php';
|
|
66 |
require THEME_MY_LOGIN_PATH . 'includes/actions.php';
|
67 |
require THEME_MY_LOGIN_PATH . 'includes/forms.php';
|
68 |
require THEME_MY_LOGIN_PATH . 'includes/extensions.php';
|
69 |
-
require THEME_MY_LOGIN_PATH . 'includes/compat.php';
|
70 |
require THEME_MY_LOGIN_PATH . 'includes/functions.php';
|
71 |
require THEME_MY_LOGIN_PATH . 'includes/options.php';
|
72 |
require THEME_MY_LOGIN_PATH . 'includes/shortcodes.php';
|
10 |
Plugin Name: Theme My Login
|
11 |
Plugin URI: https://thememylogin.com
|
12 |
Description: Creates an alternate login, registration and password recovery experience within your theme.
|
13 |
+
Version: 7.1.4
|
14 |
Author: Theme My Login
|
15 |
Author URI: https://thememylogin.com
|
16 |
License: GPLv2
|
24 |
*
|
25 |
* @since 7.0
|
26 |
*/
|
27 |
+
define( 'THEME_MY_LOGIN_VERSION', '7.1.4' );
|
28 |
|
29 |
/**
|
30 |
* Stores the path to TML.
|
66 |
require THEME_MY_LOGIN_PATH . 'includes/actions.php';
|
67 |
require THEME_MY_LOGIN_PATH . 'includes/forms.php';
|
68 |
require THEME_MY_LOGIN_PATH . 'includes/extensions.php';
|
|
|
69 |
require THEME_MY_LOGIN_PATH . 'includes/functions.php';
|
70 |
require THEME_MY_LOGIN_PATH . 'includes/options.php';
|
71 |
require THEME_MY_LOGIN_PATH . 'includes/shortcodes.php';
|