Version Description
- Fix login page error on on WP 5.2+
- Implement caching for remote extension data to speed up plugins screen
- Implement a CLI command for adding TML actions as nav menu items
- Ensure password recovery error messages match core
- Fix notice if a settings field isn't passed with an
args
parameter - Fix permalinks being flushed on all TML admin pages
- Allow form attributes to be set in the form constructor
- Add
tml_activate_extension
action hook - Add
tml_deactivate_extension
action hook
Download this release
Release Info
Developer | jfarthing84 |
Plugin | Theme My Login |
Version | 7.0.14 |
Comparing to | |
See all releases |
Code changes from version 7.0.13 to 7.0.14
- admin/settings.php +4 -2
- includes/actions.php +13 -10
- includes/class-theme-my-login-extension.php +18 -0
- includes/class-theme-my-login-form.php +7 -2
- includes/commands.php +95 -0
- includes/compat.php +2 -2
- includes/extensions.php +50 -24
- includes/hooks.php +2 -0
- languages/theme-my-login.pot +183 -100
- readme.txt +13 -2
- theme-my-login.php +6 -2
admin/settings.php
CHANGED
@@ -68,7 +68,7 @@ function tml_admin_register_settings() {
|
|
68 |
|
69 |
// Add the field
|
70 |
if ( ! empty( $field['callback'] ) && ! empty( $field['title'] ) ) {
|
71 |
-
add_settings_field( $field_id, $field['title'], $field['callback'], $page, $section_id, $field['args'] );
|
72 |
}
|
73 |
|
74 |
// Register the setting
|
@@ -458,7 +458,9 @@ function tml_admin_setting_callback_license_key_field( $args ) {
|
|
458 |
function tml_admin_settings_page() {
|
459 |
global $title, $plugin_page;
|
460 |
|
461 |
-
|
|
|
|
|
462 |
|
463 |
settings_errors();
|
464 |
?>
|
68 |
|
69 |
// Add the field
|
70 |
if ( ! empty( $field['callback'] ) && ! empty( $field['title'] ) ) {
|
71 |
+
add_settings_field( $field_id, $field['title'], $field['callback'], $page, $section_id, isset( $field['args'] ) ? $field['args'] : array() );
|
72 |
}
|
73 |
|
74 |
// Register the setting
|
458 |
function tml_admin_settings_page() {
|
459 |
global $title, $plugin_page;
|
460 |
|
461 |
+
if ( 'theme-my-login' == $plugin_page ) {
|
462 |
+
tml_flush_rewrite_rules();
|
463 |
+
}
|
464 |
|
465 |
settings_errors();
|
466 |
?>
|
includes/actions.php
CHANGED
@@ -387,7 +387,7 @@ function tml_login_handler() {
|
|
387 |
if ( headers_sent() ) {
|
388 |
$user = new WP_Error( 'test_cookie', sprintf(
|
389 |
__( '<strong>ERROR</strong>: Cookies are blocked due to unexpected output. For help, please see <a href="%1$s">this documentation</a> or try the <a href="%2$s">support forums</a>.' ),
|
390 |
-
__( 'https://
|
391 |
__( 'https://wordpress.org/support/' )
|
392 |
)
|
393 |
);
|
@@ -395,7 +395,7 @@ function tml_login_handler() {
|
|
395 |
// If cookies are disabled we can't log in even with a valid user+pass
|
396 |
$user = new WP_Error( 'test_cookie', sprintf(
|
397 |
__( '<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href="%s">enable cookies</a> to use WordPress.' ),
|
398 |
-
__( 'https://
|
399 |
)
|
400 |
);
|
401 |
}
|
@@ -433,6 +433,10 @@ function tml_login_handler() {
|
|
433 |
$errors = new WP_Error;
|
434 |
}
|
435 |
|
|
|
|
|
|
|
|
|
436 |
// Some parts of this script use the main login form to display a message
|
437 |
if ( isset( $_GET['loggedout'] ) && true == $_GET['loggedout'] ) {
|
438 |
$errors->add( 'loggedout', __( 'You are now logged out.' ), 'message' );
|
@@ -626,18 +630,17 @@ function tml_password_reset_handler() {
|
|
626 |
*/
|
627 |
function tml_confirmaction_handler() {
|
628 |
if ( ! isset( $_GET['request_id'] ) ) {
|
629 |
-
wp_die( __( '
|
630 |
}
|
631 |
|
632 |
-
|
633 |
-
|
634 |
-
if ( isset( $_GET['confirm_key'] ) ) {
|
635 |
-
$key = sanitize_text_field( wp_unslash( $_GET['confirm_key'] ) );
|
636 |
-
$result = wp_validate_user_request_key( $request_id, $key );
|
637 |
-
} else {
|
638 |
-
$result = new WP_Error( 'invalid_key', __( 'Invalid key' ) );
|
639 |
}
|
640 |
|
|
|
|
|
|
|
|
|
641 |
if ( is_wp_error( $result ) ) {
|
642 |
wp_die( $result );
|
643 |
}
|
387 |
if ( headers_sent() ) {
|
388 |
$user = new WP_Error( 'test_cookie', sprintf(
|
389 |
__( '<strong>ERROR</strong>: Cookies are blocked due to unexpected output. For help, please see <a href="%1$s">this documentation</a> or try the <a href="%2$s">support forums</a>.' ),
|
390 |
+
__( 'https://wordpress.org/support/article/cookies' ),
|
391 |
__( 'https://wordpress.org/support/' )
|
392 |
)
|
393 |
);
|
395 |
// If cookies are disabled we can't log in even with a valid user+pass
|
396 |
$user = new WP_Error( 'test_cookie', sprintf(
|
397 |
__( '<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href="%s">enable cookies</a> to use WordPress.' ),
|
398 |
+
__( 'https://wordpress.org/support/article/cookies#enable-cookies-your-browser' )
|
399 |
)
|
400 |
);
|
401 |
}
|
433 |
$errors = new WP_Error;
|
434 |
}
|
435 |
|
436 |
+
if ( empty( $_POST ) && $errors->get_error_codes() === array( 'empty_username', 'empty_password' ) ) {
|
437 |
+
$errors = new WP_Error;
|
438 |
+
}
|
439 |
+
|
440 |
// Some parts of this script use the main login form to display a message
|
441 |
if ( isset( $_GET['loggedout'] ) && true == $_GET['loggedout'] ) {
|
442 |
$errors->add( 'loggedout', __( 'You are now logged out.' ), 'message' );
|
630 |
*/
|
631 |
function tml_confirmaction_handler() {
|
632 |
if ( ! isset( $_GET['request_id'] ) ) {
|
633 |
+
wp_die( __( 'Missing request ID.' ) );
|
634 |
}
|
635 |
|
636 |
+
if ( ! isset( $_GET['confirm_key'] ) ) {
|
637 |
+
wp_die( __( 'Missing confirm key.' ) );
|
|
|
|
|
|
|
|
|
|
|
638 |
}
|
639 |
|
640 |
+
$request_id = (int) $_GET['request_id'];
|
641 |
+
$key = sanitize_text_field( wp_unslash( $_GET['confirm_key'] ) );
|
642 |
+
$result = wp_validate_user_request_key( $request_id, $key );
|
643 |
+
|
644 |
if ( is_wp_error( $result ) ) {
|
645 |
wp_die( $result );
|
646 |
}
|
includes/class-theme-my-login-extension.php
CHANGED
@@ -398,6 +398,15 @@ abstract class Theme_My_Login_Extension {
|
|
398 |
* @since 7.0
|
399 |
*/
|
400 |
public function activate() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
401 |
/**
|
402 |
* Fires when the extension is being activated.
|
403 |
*
|
@@ -412,6 +421,15 @@ abstract class Theme_My_Login_Extension {
|
|
412 |
* @since 7.0
|
413 |
*/
|
414 |
public function deactivate() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
415 |
/**
|
416 |
* Fires when the extension is being deactivated.
|
417 |
*
|
398 |
* @since 7.0
|
399 |
*/
|
400 |
public function activate() {
|
401 |
+
/**
|
402 |
+
* Fires when an extension is being activated.
|
403 |
+
*
|
404 |
+
* @since 7.0.14
|
405 |
+
*
|
406 |
+
* @param string $name The extension name.
|
407 |
+
*/
|
408 |
+
do_action( 'tml_activate_extension', $this->get_name() );
|
409 |
+
|
410 |
/**
|
411 |
* Fires when the extension is being activated.
|
412 |
*
|
421 |
* @since 7.0
|
422 |
*/
|
423 |
public function deactivate() {
|
424 |
+
/**
|
425 |
+
* Fires when the extension is being deactivated.
|
426 |
+
*
|
427 |
+
* @since 7.0.14
|
428 |
+
*
|
429 |
+
* @param string $slug The extension name.
|
430 |
+
*/
|
431 |
+
do_action( 'tml_deactivate_extension', $this->get_name() );
|
432 |
+
|
433 |
/**
|
434 |
* Fires when the extension is being deactivated.
|
435 |
*
|
includes/class-theme-my-login-form.php
CHANGED
@@ -90,8 +90,9 @@ class Theme_My_Login_Form {
|
|
90 |
$this->set_name( $name );
|
91 |
|
92 |
$args = wp_parse_args( $args, array(
|
93 |
-
'action'
|
94 |
-
'method'
|
|
|
95 |
) );
|
96 |
|
97 |
$this->set_action( $args['action'] );
|
@@ -109,6 +110,10 @@ class Theme_My_Login_Form {
|
|
109 |
}
|
110 |
}
|
111 |
|
|
|
|
|
|
|
|
|
112 |
if ( ! empty( $args['render_args'] ) ) {
|
113 |
$this->render_args = $args['render_args'];
|
114 |
}
|
90 |
$this->set_name( $name );
|
91 |
|
92 |
$args = wp_parse_args( $args, array(
|
93 |
+
'action' => '',
|
94 |
+
'method' => 'post',
|
95 |
+
'attributes' => array(),
|
96 |
) );
|
97 |
|
98 |
$this->set_action( $args['action'] );
|
110 |
}
|
111 |
}
|
112 |
|
113 |
+
foreach ( (array) $args['attributes'] as $key => $value ) {
|
114 |
+
$this->add_attribute( $key, $value );
|
115 |
+
}
|
116 |
+
|
117 |
if ( ! empty( $args['render_args'] ) ) {
|
118 |
$this->render_args = $args['render_args'];
|
119 |
}
|
includes/commands.php
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Theme My Login Command Functions
|
5 |
+
*
|
6 |
+
* @package Theme_My_Login
|
7 |
+
* @subpackage CLI
|
8 |
+
*/
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Adds a Theme My Login action menu item.
|
12 |
+
*
|
13 |
+
* ## OPTIONS
|
14 |
+
*
|
15 |
+
* <menu>
|
16 |
+
* : The name, slug, or term ID for the menu.
|
17 |
+
*
|
18 |
+
* <action>
|
19 |
+
* : The name of the Theme My Login action.
|
20 |
+
*
|
21 |
+
* [--title=<title>]
|
22 |
+
* : Set a custom title for the menu item.
|
23 |
+
*
|
24 |
+
* [--description=<description>]
|
25 |
+
* : Set a custom description for the menu item.
|
26 |
+
*
|
27 |
+
* [--attr-title=<attr-title>]
|
28 |
+
* : Set a custom title attribute for the menu item.
|
29 |
+
*
|
30 |
+
* [--target=<target>]
|
31 |
+
* : Set a custom link target for the menu item.
|
32 |
+
*
|
33 |
+
* [--classes=<classes>]
|
34 |
+
* : Set a custom link classes for the menu item.
|
35 |
+
*
|
36 |
+
* [--position=<position>]
|
37 |
+
* : Specify the position of this menu item.
|
38 |
+
*
|
39 |
+
* [--parent-id=<parent-id>]
|
40 |
+
* : Make this menu item a child of another menu item.
|
41 |
+
*
|
42 |
+
* ## EXAMPLES
|
43 |
+
*
|
44 |
+
* $ wp menu item add-tml-action sidebar-menu login
|
45 |
+
* Success: Menu item added.
|
46 |
+
*/
|
47 |
+
WP_CLI::add_command( 'menu item add-tml-action', function( $args, $assoc_args ) {
|
48 |
+
|
49 |
+
list( $menu, $action ) = $args;
|
50 |
+
|
51 |
+
$menu = wp_get_nav_menu_object( $menu );
|
52 |
+
if ( ! $menu || is_wp_error( $menu ) ) {
|
53 |
+
WP_CLI::error( 'Invalid menu.' );
|
54 |
+
}
|
55 |
+
if ( ! $action = tml_get_action( $action ) ) {
|
56 |
+
WP_CLI::error( 'Invalid action.' );
|
57 |
+
}
|
58 |
+
|
59 |
+
$default_args = [
|
60 |
+
'position' => 0,
|
61 |
+
'title' => $action->get_title(),
|
62 |
+
'description' => '',
|
63 |
+
'parent-id' => 0,
|
64 |
+
'attr-title' => '',
|
65 |
+
'target' => '',
|
66 |
+
'classes' => '',
|
67 |
+
'xfn' => '',
|
68 |
+
'status' => 'publish',
|
69 |
+
];
|
70 |
+
|
71 |
+
$menu_item_args = [];
|
72 |
+
foreach ( $default_args as $key => $default_value ) {
|
73 |
+
$menu_item_args[ 'menu-item-' . $key ] = \WP_CLI\Utils\get_flag_value( $assoc_args, $key, $default_value );
|
74 |
+
}
|
75 |
+
$menu_item_args['menu-item-object-id'] = -1;
|
76 |
+
$menu_item_args['menu-item-object'] = $action->get_name();
|
77 |
+
$menu_item_args['menu-item-type'] = 'tml_action';
|
78 |
+
$menu_item_args['menu-item-url'] = $action->get_url();
|
79 |
+
|
80 |
+
$ret = wp_update_nav_menu_item( $menu->term_id, 0, $menu_item_args );
|
81 |
+
if ( is_wp_error( $ret ) ) {
|
82 |
+
WP_CLI::error( $ret->get_error_message() );
|
83 |
+
} elseif ( ! $ret ) {
|
84 |
+
WP_CLI::error( "Couldn't add menu item." );
|
85 |
+
} else {
|
86 |
+
if ( ! is_object_in_term( $ret, 'nav_menu', (int) $menu->term_id ) ) {
|
87 |
+
wp_set_object_terms( $ret, array( (int) $menu->term_id ), 'nav_menu' );
|
88 |
+
}
|
89 |
+
if ( ! empty( $assoc_args['porcelain'] ) ) {
|
90 |
+
WP_CLI::line( $ret );
|
91 |
+
} else {
|
92 |
+
WP_CLI::success( 'Menu item added.' );
|
93 |
+
}
|
94 |
+
}
|
95 |
+
});
|
includes/compat.php
CHANGED
@@ -25,7 +25,7 @@ function tml_retrieve_password() {
|
|
25 |
} elseif ( strpos( $_POST['user_login'], '@' ) ) {
|
26 |
$user_data = get_user_by( 'email', trim( wp_unslash( $_POST['user_login'] ) ) );
|
27 |
if ( empty( $user_data ) ) {
|
28 |
-
$errors->add( 'invalid_email', __( '<strong>ERROR</strong>: There is no
|
29 |
}
|
30 |
} else {
|
31 |
$login = trim( $_POST['user_login'] );
|
@@ -40,7 +40,7 @@ function tml_retrieve_password() {
|
|
40 |
}
|
41 |
|
42 |
if ( ! $user_data ) {
|
43 |
-
$errors->add( 'invalidcombo', __( '<strong>ERROR</strong>:
|
44 |
return $errors;
|
45 |
}
|
46 |
|
25 |
} elseif ( strpos( $_POST['user_login'], '@' ) ) {
|
26 |
$user_data = get_user_by( 'email', trim( wp_unslash( $_POST['user_login'] ) ) );
|
27 |
if ( empty( $user_data ) ) {
|
28 |
+
$errors->add( 'invalid_email', __( '<strong>ERROR</strong>: There is no account with that username or email address.' ) );
|
29 |
}
|
30 |
} else {
|
31 |
$login = trim( $_POST['user_login'] );
|
40 |
}
|
41 |
|
42 |
if ( ! $user_data ) {
|
43 |
+
$errors->add( 'invalidcombo', __( '<strong>ERROR</strong>: There is no account with that username or email address.' ) );
|
44 |
return $errors;
|
45 |
}
|
46 |
|
includes/extensions.php
CHANGED
@@ -109,11 +109,9 @@ function tml_add_extension_data_to_plugins_api( $result = false, $action = '', $
|
|
109 |
return $result;
|
110 |
}
|
111 |
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
'slug' => $extension->get_name(),
|
116 |
-
) ) ) {
|
117 |
if ( ! empty( $result->new_version ) ) {
|
118 |
$result->version = $result->new_version;
|
119 |
}
|
@@ -135,31 +133,29 @@ function tml_add_extension_data_to_plugins_transient( $transient = '' ) {
|
|
135 |
$transient = (object) array();
|
136 |
}
|
137 |
|
|
|
|
|
138 |
foreach ( tml_get_extensions() as $extension ) {
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
'slug' => $extension->get_name(),
|
143 |
-
) );
|
144 |
|
145 |
-
|
146 |
-
$basename = $extension->get_basename();
|
147 |
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
// This is a valid update
|
153 |
-
if ( ! empty( $response->new_version ) && version_compare( $extension->get_version(), $response->new_version, '<' ) ) {
|
154 |
-
$transient->response[ $basename ] = $response;
|
155 |
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
}
|
160 |
|
161 |
-
|
|
|
|
|
162 |
}
|
|
|
|
|
163 |
}
|
164 |
|
165 |
return $transient;
|
@@ -334,3 +330,33 @@ function tml_extension_api_call( $url, $args = array() ) {
|
|
334 |
|
335 |
return $response;
|
336 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
return $result;
|
110 |
}
|
111 |
|
112 |
+
$extension_data = tml_get_extension_data();
|
113 |
+
if ( isset( $extension_data[ $extension->get_name() ] ) ) {
|
114 |
+
$result = $extension_data[ $extension->get_name() ];
|
|
|
|
|
115 |
if ( ! empty( $result->new_version ) ) {
|
116 |
$result->version = $result->new_version;
|
117 |
}
|
133 |
$transient = (object) array();
|
134 |
}
|
135 |
|
136 |
+
$extension_data = tml_get_extension_data();
|
137 |
+
|
138 |
foreach ( tml_get_extensions() as $extension ) {
|
139 |
+
if ( ! isset( $extension_data[ $extension->get_name() ] ) ) {
|
140 |
+
continue;
|
141 |
+
}
|
|
|
|
|
142 |
|
143 |
+
$data = $extension_data[ $extension->get_name() ];
|
|
|
144 |
|
145 |
+
if ( empty( $data->plugin ) ) {
|
146 |
+
$data->plugin = $extension->get_basename();
|
147 |
+
}
|
|
|
|
|
|
|
|
|
148 |
|
149 |
+
// This is a valid update
|
150 |
+
if ( ! empty( $data->new_version ) && version_compare( $extension->get_version(), $data->new_version, '<' ) ) {
|
151 |
+
$transient->response[ $data->plugin ] = $data;
|
|
|
152 |
|
153 |
+
// This is just fetching the plugin information
|
154 |
+
} else {
|
155 |
+
$transient->no_update[ $data->plugin ] = $data;
|
156 |
}
|
157 |
+
|
158 |
+
$transient->last_checked = time();
|
159 |
}
|
160 |
|
161 |
return $transient;
|
330 |
|
331 |
return $response;
|
332 |
}
|
333 |
+
|
334 |
+
/**
|
335 |
+
* Get all extension data.
|
336 |
+
*
|
337 |
+
* @since 7.0.14
|
338 |
+
*
|
339 |
+
* @return array An array of objects containing extension data.
|
340 |
+
*/
|
341 |
+
function tml_get_extension_data( $refresh = false ) {
|
342 |
+
$extension_data = get_site_transient( 'tml_extension_data' );
|
343 |
+
if ( ! is_array( $extension_data ) ) {
|
344 |
+
$extension_data = array();
|
345 |
+
}
|
346 |
+
|
347 |
+
if ( empty( $extension_data ) || $refresh ) {
|
348 |
+
foreach ( tml_get_extensions() as $extension ) {
|
349 |
+
$data = tml_extension_api_call( $extension->get_store_url(), array(
|
350 |
+
'license' => $extension->get_license_key(),
|
351 |
+
'item_id' => $extension->get_item_id(),
|
352 |
+
'slug' => $extension->get_name(),
|
353 |
+
) );
|
354 |
+
if ( $data ) {
|
355 |
+
$extension_data[ $extension->get_name() ] = $data;
|
356 |
+
}
|
357 |
+
}
|
358 |
+
set_site_transient( 'tml_extension_data', $extension_data, DAY_IN_SECONDS / 2 );
|
359 |
+
}
|
360 |
+
|
361 |
+
return $extension_data;
|
362 |
+
}
|
includes/hooks.php
CHANGED
@@ -54,9 +54,11 @@ add_action( 'retrieved_password_key', 'tml_retrieve_password_notification', 10,
|
|
54 |
|
55 |
// Activation
|
56 |
add_action( 'tml_activate', 'tml_flush_rewrite_rules' );
|
|
|
57 |
|
58 |
// Deactivation
|
59 |
add_action( 'tml_deactivate', 'tml_flush_rewrite_rules' );
|
|
|
60 |
|
61 |
/**
|
62 |
* Add Filters
|
54 |
|
55 |
// Activation
|
56 |
add_action( 'tml_activate', 'tml_flush_rewrite_rules' );
|
57 |
+
add_action( 'tml_activate_extension', 'tml_get_extension_data' );
|
58 |
|
59 |
// Deactivation
|
60 |
add_action( 'tml_deactivate', 'tml_flush_rewrite_rules' );
|
61 |
+
add_action( 'tml_deactivate_extension', 'tml_get_extension_data' );
|
62 |
|
63 |
/**
|
64 |
* Add Filters
|
languages/theme-my-login.pot
CHANGED
@@ -1,297 +1,380 @@
|
|
1 |
# Copyright (C) 2019 Theme My Login
|
2 |
-
# This file is distributed under the same license as the Theme My Login
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Theme My Login 7.0.
|
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: 2019-
|
13 |
-
"PO-Revision-Date:
|
|
|
14 |
"X-Domain: theme-my-login\n"
|
15 |
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
msgid "Theme My Login Actions"
|
19 |
msgstr ""
|
20 |
|
21 |
-
#: includes/functions.php:512
|
|
|
22 |
msgid "Theme My Login Action"
|
23 |
msgstr ""
|
24 |
|
25 |
-
#: includes/functions.php:540
|
26 |
-
#: includes/functions.php:567
|
27 |
-
#: includes/functions.php:582
|
|
|
|
|
|
|
28 |
msgid "TML Action"
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: includes/functions.php:646
|
|
|
32 |
msgid "<strong>ERROR</strong>: Please enter a password."
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: includes/functions.php:649
|
|
|
36 |
msgid "<strong>ERROR</strong>: Passwords may not contain the character \"\\\"."
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: includes/functions.php:652
|
|
|
40 |
msgid "<strong>ERROR</strong>: Please enter the same password in both password fields."
|
41 |
msgstr ""
|
42 |
|
43 |
-
#: includes/functions.php:669
|
|
|
44 |
msgid "If you have already set your own password, you may disregard this email and use the password you have already set."
|
45 |
msgstr ""
|
46 |
|
47 |
-
#: includes/actions.php:68
|
|
|
48 |
msgid "Your Data Request"
|
49 |
msgstr ""
|
50 |
|
51 |
-
#: includes/actions.php:
|
|
|
52 |
msgid "Registration complete. You may now log in."
|
53 |
msgstr ""
|
54 |
|
55 |
-
|
56 |
-
|
57 |
-
#: includes/class-theme-my-login-widget.php:23
|
58 |
-
#: admin/functions.php:69
|
59 |
-
msgid "Theme My Login"
|
60 |
-
msgstr ""
|
61 |
-
|
62 |
-
#: includes/class-theme-my-login-widget.php:25
|
63 |
msgid "A login form for your site."
|
64 |
msgstr ""
|
65 |
|
66 |
-
#: includes/class-theme-my-login-widget.php:57
|
|
|
67 |
msgctxt "Howdy"
|
68 |
msgid "Welcome"
|
69 |
msgstr ""
|
70 |
|
71 |
-
#: includes/class-theme-my-login-widget.php:92
|
|
|
72 |
msgid "Profile"
|
73 |
msgstr ""
|
74 |
|
75 |
-
#: includes/class-theme-my-login-widget.php:173
|
|
|
76 |
msgid "Show action links?"
|
77 |
msgstr ""
|
78 |
|
79 |
-
#: includes/forms.php:133
|
|
|
80 |
msgid "Confirm Password"
|
81 |
msgstr ""
|
82 |
|
83 |
-
#: includes/extensions.php:
|
84 |
-
#: includes/extensions.php:
|
85 |
-
#: includes/extensions.php:
|
86 |
-
#: includes/extensions.php:
|
|
|
|
|
|
|
|
|
87 |
msgid "An error occurred, please try again."
|
88 |
msgstr ""
|
89 |
|
90 |
-
#: includes/extensions.php:
|
|
|
91 |
msgid "Your license key has been disabled."
|
92 |
msgstr ""
|
93 |
|
94 |
-
#: includes/extensions.php:
|
|
|
95 |
msgid "Invalid license."
|
96 |
msgstr ""
|
97 |
|
98 |
-
#: includes/extensions.php:
|
|
|
99 |
msgid "Your license is not active for this URL."
|
100 |
msgstr ""
|
101 |
|
102 |
-
#: includes/extensions.php:
|
|
|
103 |
msgid "Your license key has reached its activation limit."
|
104 |
msgstr ""
|
105 |
|
106 |
-
#: admin/functions.php:68
|
107 |
-
#: admin/functions.php:79
|
|
|
|
|
108 |
msgid "Theme My Login Settings"
|
109 |
msgstr ""
|
110 |
|
111 |
-
#: admin/functions.php:80
|
|
|
112 |
msgid "General"
|
113 |
msgstr ""
|
114 |
|
115 |
-
#: admin/functions.php:101
|
|
|
116 |
msgid "Theme My Login Licenses"
|
117 |
msgstr ""
|
118 |
|
119 |
-
#: admin/functions.php:102
|
|
|
120 |
msgid "Licenses"
|
121 |
msgstr ""
|
122 |
|
123 |
-
#: admin/functions.php:111
|
|
|
124 |
msgid "Theme My Login Extensions"
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: admin/functions.php:112
|
128 |
-
#: admin/functions.php:356
|
|
|
|
|
129 |
msgid "Extensions"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: admin/functions.php:163
|
|
|
133 |
msgid "As a token of our gratitude, we would like to offer your an incentive for upgrading Theme My Login to version 7.0. For a limited time, we are offering a <strong>20% discount</strong> when you use the code <strong>SAVINGFACE</strong> at checkout. Act now - this offer won't last!"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: admin/functions.php:179
|
|
|
137 |
msgid "A new <strong>Theme My Login</strong> extension is available!"
|
138 |
msgstr ""
|
139 |
|
140 |
-
#: admin/functions.php:186
|
141 |
-
#: admin/extensions.php:95
|
|
|
|
|
142 |
msgid "Get This Extension"
|
143 |
msgstr ""
|
144 |
|
145 |
-
#: admin/settings.php:96
|
|
|
146 |
msgid "Registration"
|
147 |
msgstr ""
|
148 |
|
149 |
-
#: admin/settings.php:101
|
|
|
150 |
msgid "Slugs"
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: admin/settings.php:122
|
154 |
-
#: admin/settings.php:127
|
|
|
|
|
155 |
msgid "Login Type"
|
156 |
msgstr ""
|
157 |
|
158 |
-
#: admin/settings.php:129
|
159 |
-
#: admin/settings.php:149
|
|
|
|
|
160 |
msgid "Default"
|
161 |
msgstr ""
|
162 |
|
163 |
-
#: admin/settings.php:130
|
|
|
164 |
msgid "Username only"
|
165 |
msgstr ""
|
166 |
|
167 |
-
#: admin/settings.php:131
|
168 |
-
#: admin/settings.php:150
|
|
|
|
|
169 |
msgid "Email only"
|
170 |
msgstr ""
|
171 |
|
172 |
-
#: admin/settings.php:142
|
173 |
-
#: admin/settings.php:147
|
|
|
|
|
174 |
msgid "Registration Type"
|
175 |
msgstr ""
|
176 |
|
177 |
-
#: admin/settings.php:157
|
|
|
178 |
msgid "Passwords"
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: admin/settings.php:162
|
|
|
182 |
msgid "Allow users to set their own password"
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: admin/settings.php:169
|
|
|
186 |
msgid "Auto-Login"
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: admin/settings.php:174
|
|
|
190 |
msgid "Automatically log in users after registration"
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: admin/settings.php:221
|
|
|
194 |
msgid "The slugs defined here will be used to generate the URL to the corresponding action. You can see this URL below the slug field. If you would like to use pages for these actions, simply make sure the slug for the action below matches the slug of the page you would like to use for that action."
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: admin/settings.php:420
|
|
|
198 |
msgid "Active"
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: admin/settings.php:424
|
|
|
202 |
msgid "Invalid"
|
203 |
msgstr ""
|
204 |
|
205 |
-
#: admin/settings.php:427
|
|
|
206 |
msgid "Inactive"
|
207 |
msgstr ""
|
208 |
|
209 |
-
#: admin/settings.php:442
|
|
|
210 |
msgid "Deactivate"
|
211 |
msgstr ""
|
212 |
|
213 |
-
#: admin/settings.php:444
|
|
|
214 |
msgid "Activate"
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: admin/settings.php:
|
|
|
218 |
msgid "Welcome to Theme My Login!"
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: admin/settings.php:
|
|
|
222 |
msgid "Below, you can configure how you would like users to register and log in to your site."
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: admin/settings.php:
|
|
|
226 |
msgid "Additionally, you can change the slugs that are used to generate the URLs that represent specific actions."
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: admin/settings.php:
|
230 |
-
#: admin/settings.php:
|
231 |
-
#: admin/settings.php:
|
232 |
-
#: admin/settings.php:
|
|
|
|
|
|
|
|
|
233 |
msgid "View Documentation"
|
234 |
msgstr ""
|
235 |
|
236 |
-
#: admin/settings.php:
|
237 |
-
#: admin/settings.php:
|
238 |
-
#: admin/settings.php:
|
|
|
|
|
|
|
239 |
msgid "Get Support"
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: admin/settings.php:
|
|
|
243 |
msgid "When you purchase extensions for Theme My Login, you will enter your license keys on this page."
|
244 |
msgstr ""
|
245 |
|
246 |
-
#: admin/settings.php:
|
|
|
247 |
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."
|
248 |
msgstr ""
|
249 |
|
250 |
-
#: admin/settings.php:
|
|
|
251 |
msgid "If you have not yet activated your license, this button will say \"Activate\". Click this button to activate your license."
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: admin/settings.php:
|
|
|
255 |
msgid "If you have already activated your license, this button will say \"Deactivate\". Click this button to deactivate your license."
|
256 |
msgstr ""
|
257 |
|
258 |
-
#: admin/settings.php:
|
|
|
259 |
msgid "This page shows you all of the extensions available to purchase for Theme My Login."
|
260 |
msgstr ""
|
261 |
|
262 |
-
#: admin/settings.php:
|
|
|
263 |
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."
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: admin/settings.php:
|
|
|
267 |
msgid "Go to the Extensions Store"
|
268 |
msgstr ""
|
269 |
|
270 |
-
#: admin/settings.php:
|
|
|
271 |
msgid "View your Theme My Login account"
|
272 |
msgstr ""
|
273 |
|
274 |
-
#: admin/settings.php:
|
|
|
275 |
msgid "On this page, you can configure the settings for the Theme My Login %s extension."
|
276 |
msgstr ""
|
277 |
|
278 |
-
#: admin/extensions.php:72
|
|
|
279 |
msgid "Whoops! Looks like there was an error fetching extensions from the server. Please try again."
|
280 |
msgstr ""
|
281 |
|
282 |
-
#: admin/extensions.php:73
|
|
|
283 |
msgid "Error: %s"
|
284 |
msgstr ""
|
285 |
|
286 |
-
#: admin/extensions.php:105
|
|
|
287 |
msgid "View All Extensions"
|
288 |
msgstr ""
|
289 |
-
|
290 |
-
#. Plugin URI of the plugin
|
291 |
-
#. Author URI of the plugin
|
292 |
-
msgid "https://thememylogin.com"
|
293 |
-
msgstr ""
|
294 |
-
|
295 |
-
#. Description of the plugin
|
296 |
-
msgid "Creates an alternate login, registration and password recovery experience within your theme."
|
297 |
-
msgstr ""
|
1 |
# Copyright (C) 2019 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.0.14\n"
|
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: 2019-05-13T11:01:02-04:00\n"
|
13 |
+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
+
"X-Generator: WP-CLI 2.2.0\n"
|
15 |
"X-Domain: theme-my-login\n"
|
16 |
|
17 |
+
#. Plugin Name of the plugin
|
18 |
+
#. Author of the plugin
|
19 |
+
#: build/includes/class-theme-my-login-widget.php:23
|
20 |
+
#: build/admin/functions.php:69
|
21 |
+
#: src/includes/class-theme-my-login-widget.php:23
|
22 |
+
#: src/admin/functions.php:69
|
23 |
+
msgid "Theme My Login"
|
24 |
+
msgstr ""
|
25 |
+
|
26 |
+
#. Plugin URI of the plugin
|
27 |
+
#. Author URI of the plugin
|
28 |
+
msgid "https://thememylogin.com"
|
29 |
+
msgstr ""
|
30 |
+
|
31 |
+
#. Description of the plugin
|
32 |
+
msgid "Creates an alternate login, registration and password recovery experience within your theme."
|
33 |
+
msgstr ""
|
34 |
+
|
35 |
+
#: build/includes/functions.php:511
|
36 |
+
#: build/admin/functions.php:278
|
37 |
+
#: src/includes/functions.php:511
|
38 |
+
#: src/admin/functions.php:278
|
39 |
msgid "Theme My Login Actions"
|
40 |
msgstr ""
|
41 |
|
42 |
+
#: build/includes/functions.php:512
|
43 |
+
#: src/includes/functions.php:512
|
44 |
msgid "Theme My Login Action"
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: build/includes/functions.php:540
|
48 |
+
#: build/includes/functions.php:567
|
49 |
+
#: build/includes/functions.php:582
|
50 |
+
#: src/includes/functions.php:540
|
51 |
+
#: src/includes/functions.php:567
|
52 |
+
#: src/includes/functions.php:582
|
53 |
msgid "TML Action"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: build/includes/functions.php:646
|
57 |
+
#: src/includes/functions.php:646
|
58 |
msgid "<strong>ERROR</strong>: Please enter a password."
|
59 |
msgstr ""
|
60 |
|
61 |
+
#: build/includes/functions.php:649
|
62 |
+
#: src/includes/functions.php:649
|
63 |
msgid "<strong>ERROR</strong>: Passwords may not contain the character \"\\\"."
|
64 |
msgstr ""
|
65 |
|
66 |
+
#: build/includes/functions.php:652
|
67 |
+
#: src/includes/functions.php:652
|
68 |
msgid "<strong>ERROR</strong>: Please enter the same password in both password fields."
|
69 |
msgstr ""
|
70 |
|
71 |
+
#: build/includes/functions.php:669
|
72 |
+
#: src/includes/functions.php:669
|
73 |
msgid "If you have already set your own password, you may disregard this email and use the password you have already set."
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: build/includes/actions.php:68
|
77 |
+
#: src/includes/actions.php:68
|
78 |
msgid "Your Data Request"
|
79 |
msgstr ""
|
80 |
|
81 |
+
#: build/includes/actions.php:455
|
82 |
+
#: src/includes/actions.php:455
|
83 |
msgid "Registration complete. You may now log in."
|
84 |
msgstr ""
|
85 |
|
86 |
+
#: build/includes/class-theme-my-login-widget.php:25
|
87 |
+
#: src/includes/class-theme-my-login-widget.php:25
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
msgid "A login form for your site."
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: build/includes/class-theme-my-login-widget.php:57
|
92 |
+
#: src/includes/class-theme-my-login-widget.php:57
|
93 |
msgctxt "Howdy"
|
94 |
msgid "Welcome"
|
95 |
msgstr ""
|
96 |
|
97 |
+
#: build/includes/class-theme-my-login-widget.php:92
|
98 |
+
#: src/includes/class-theme-my-login-widget.php:92
|
99 |
msgid "Profile"
|
100 |
msgstr ""
|
101 |
|
102 |
+
#: build/includes/class-theme-my-login-widget.php:173
|
103 |
+
#: src/includes/class-theme-my-login-widget.php:173
|
104 |
msgid "Show action links?"
|
105 |
msgstr ""
|
106 |
|
107 |
+
#: build/includes/forms.php:133
|
108 |
+
#: src/includes/forms.php:133
|
109 |
msgid "Confirm Password"
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: build/includes/extensions.php:185
|
113 |
+
#: build/includes/extensions.php:216
|
114 |
+
#: build/includes/extensions.php:246
|
115 |
+
#: build/includes/extensions.php:274
|
116 |
+
#: src/includes/extensions.php:185
|
117 |
+
#: src/includes/extensions.php:216
|
118 |
+
#: src/includes/extensions.php:246
|
119 |
+
#: src/includes/extensions.php:274
|
120 |
msgid "An error occurred, please try again."
|
121 |
msgstr ""
|
122 |
|
123 |
+
#: build/includes/extensions.php:198
|
124 |
+
#: src/includes/extensions.php:198
|
125 |
msgid "Your license key has been disabled."
|
126 |
msgstr ""
|
127 |
|
128 |
+
#: build/includes/extensions.php:203
|
129 |
+
#: src/includes/extensions.php:203
|
130 |
msgid "Invalid license."
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: build/includes/extensions.php:208
|
134 |
+
#: src/includes/extensions.php:208
|
135 |
msgid "Your license is not active for this URL."
|
136 |
msgstr ""
|
137 |
|
138 |
+
#: build/includes/extensions.php:212
|
139 |
+
#: src/includes/extensions.php:212
|
140 |
msgid "Your license key has reached its activation limit."
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: build/admin/functions.php:68
|
144 |
+
#: build/admin/functions.php:79
|
145 |
+
#: src/admin/functions.php:68
|
146 |
+
#: src/admin/functions.php:79
|
147 |
msgid "Theme My Login Settings"
|
148 |
msgstr ""
|
149 |
|
150 |
+
#: build/admin/functions.php:80
|
151 |
+
#: src/admin/functions.php:80
|
152 |
msgid "General"
|
153 |
msgstr ""
|
154 |
|
155 |
+
#: build/admin/functions.php:101
|
156 |
+
#: src/admin/functions.php:101
|
157 |
msgid "Theme My Login Licenses"
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: build/admin/functions.php:102
|
161 |
+
#: src/admin/functions.php:102
|
162 |
msgid "Licenses"
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: build/admin/functions.php:111
|
166 |
+
#: src/admin/functions.php:111
|
167 |
msgid "Theme My Login Extensions"
|
168 |
msgstr ""
|
169 |
|
170 |
+
#: build/admin/functions.php:112
|
171 |
+
#: build/admin/functions.php:356
|
172 |
+
#: src/admin/functions.php:112
|
173 |
+
#: src/admin/functions.php:356
|
174 |
msgid "Extensions"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: build/admin/functions.php:163
|
178 |
+
#: src/admin/functions.php:163
|
179 |
msgid "As a token of our gratitude, we would like to offer your an incentive for upgrading Theme My Login to version 7.0. For a limited time, we are offering a <strong>20% discount</strong> when you use the code <strong>SAVINGFACE</strong> at checkout. Act now - this offer won't last!"
|
180 |
msgstr ""
|
181 |
|
182 |
+
#: build/admin/functions.php:179
|
183 |
+
#: src/admin/functions.php:179
|
184 |
msgid "A new <strong>Theme My Login</strong> extension is available!"
|
185 |
msgstr ""
|
186 |
|
187 |
+
#: build/admin/functions.php:186
|
188 |
+
#: build/admin/extensions.php:95
|
189 |
+
#: src/admin/functions.php:186
|
190 |
+
#: src/admin/extensions.php:95
|
191 |
msgid "Get This Extension"
|
192 |
msgstr ""
|
193 |
|
194 |
+
#: build/admin/settings.php:96
|
195 |
+
#: src/admin/settings.php:96
|
196 |
msgid "Registration"
|
197 |
msgstr ""
|
198 |
|
199 |
+
#: build/admin/settings.php:101
|
200 |
+
#: src/admin/settings.php:101
|
201 |
msgid "Slugs"
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: build/admin/settings.php:122
|
205 |
+
#: build/admin/settings.php:127
|
206 |
+
#: src/admin/settings.php:122
|
207 |
+
#: src/admin/settings.php:127
|
208 |
msgid "Login Type"
|
209 |
msgstr ""
|
210 |
|
211 |
+
#: build/admin/settings.php:129
|
212 |
+
#: build/admin/settings.php:149
|
213 |
+
#: src/admin/settings.php:129
|
214 |
+
#: src/admin/settings.php:149
|
215 |
msgid "Default"
|
216 |
msgstr ""
|
217 |
|
218 |
+
#: build/admin/settings.php:130
|
219 |
+
#: src/admin/settings.php:130
|
220 |
msgid "Username only"
|
221 |
msgstr ""
|
222 |
|
223 |
+
#: build/admin/settings.php:131
|
224 |
+
#: build/admin/settings.php:150
|
225 |
+
#: src/admin/settings.php:131
|
226 |
+
#: src/admin/settings.php:150
|
227 |
msgid "Email only"
|
228 |
msgstr ""
|
229 |
|
230 |
+
#: build/admin/settings.php:142
|
231 |
+
#: build/admin/settings.php:147
|
232 |
+
#: src/admin/settings.php:142
|
233 |
+
#: src/admin/settings.php:147
|
234 |
msgid "Registration Type"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: build/admin/settings.php:157
|
238 |
+
#: src/admin/settings.php:157
|
239 |
msgid "Passwords"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: build/admin/settings.php:162
|
243 |
+
#: src/admin/settings.php:162
|
244 |
msgid "Allow users to set their own password"
|
245 |
msgstr ""
|
246 |
|
247 |
+
#: build/admin/settings.php:169
|
248 |
+
#: src/admin/settings.php:169
|
249 |
msgid "Auto-Login"
|
250 |
msgstr ""
|
251 |
|
252 |
+
#: build/admin/settings.php:174
|
253 |
+
#: src/admin/settings.php:174
|
254 |
msgid "Automatically log in users after registration"
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: build/admin/settings.php:221
|
258 |
+
#: src/admin/settings.php:221
|
259 |
msgid "The slugs defined here will be used to generate the URL to the corresponding action. You can see this URL below the slug field. If you would like to use pages for these actions, simply make sure the slug for the action below matches the slug of the page you would like to use for that action."
|
260 |
msgstr ""
|
261 |
|
262 |
+
#: build/admin/settings.php:420
|
263 |
+
#: src/admin/settings.php:420
|
264 |
msgid "Active"
|
265 |
msgstr ""
|
266 |
|
267 |
+
#: build/admin/settings.php:424
|
268 |
+
#: src/admin/settings.php:424
|
269 |
msgid "Invalid"
|
270 |
msgstr ""
|
271 |
|
272 |
+
#: build/admin/settings.php:427
|
273 |
+
#: src/admin/settings.php:427
|
274 |
msgid "Inactive"
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: build/admin/settings.php:442
|
278 |
+
#: src/admin/settings.php:442
|
279 |
msgid "Deactivate"
|
280 |
msgstr ""
|
281 |
|
282 |
+
#: build/admin/settings.php:444
|
283 |
+
#: src/admin/settings.php:444
|
284 |
msgid "Activate"
|
285 |
msgstr ""
|
286 |
|
287 |
+
#: build/admin/settings.php:557
|
288 |
+
#: src/admin/settings.php:557
|
289 |
msgid "Welcome to Theme My Login!"
|
290 |
msgstr ""
|
291 |
|
292 |
+
#: build/admin/settings.php:558
|
293 |
+
#: src/admin/settings.php:558
|
294 |
msgid "Below, you can configure how you would like users to register and log in to your site."
|
295 |
msgstr ""
|
296 |
|
297 |
+
#: build/admin/settings.php:559
|
298 |
+
#: src/admin/settings.php:559
|
299 |
msgid "Additionally, you can change the slugs that are used to generate the URLs that represent specific actions."
|
300 |
msgstr ""
|
301 |
|
302 |
+
#: build/admin/settings.php:565
|
303 |
+
#: build/admin/settings.php:588
|
304 |
+
#: build/admin/settings.php:608
|
305 |
+
#: build/admin/settings.php:636
|
306 |
+
#: src/admin/settings.php:565
|
307 |
+
#: src/admin/settings.php:588
|
308 |
+
#: src/admin/settings.php:608
|
309 |
+
#: src/admin/settings.php:636
|
310 |
msgid "View Documentation"
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: build/admin/settings.php:570
|
314 |
+
#: build/admin/settings.php:592
|
315 |
+
#: build/admin/settings.php:643
|
316 |
+
#: src/admin/settings.php:570
|
317 |
+
#: src/admin/settings.php:592
|
318 |
+
#: src/admin/settings.php:643
|
319 |
msgid "Get Support"
|
320 |
msgstr ""
|
321 |
|
322 |
+
#: build/admin/settings.php:580
|
323 |
+
#: src/admin/settings.php:580
|
324 |
msgid "When you purchase extensions for Theme My Login, you will enter your license keys on this page."
|
325 |
msgstr ""
|
326 |
|
327 |
+
#: build/admin/settings.php:581
|
328 |
+
#: src/admin/settings.php:581
|
329 |
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."
|
330 |
msgstr ""
|
331 |
|
332 |
+
#: build/admin/settings.php:582
|
333 |
+
#: src/admin/settings.php:582
|
334 |
msgid "If you have not yet activated your license, this button will say \"Activate\". Click this button to activate your license."
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: build/admin/settings.php:583
|
338 |
+
#: src/admin/settings.php:583
|
339 |
msgid "If you have already activated your license, this button will say \"Deactivate\". Click this button to deactivate your license."
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: build/admin/settings.php:602
|
343 |
+
#: src/admin/settings.php:602
|
344 |
msgid "This page shows you all of the extensions available to purchase for Theme My Login."
|
345 |
msgstr ""
|
346 |
|
347 |
+
#: build/admin/settings.php:603
|
348 |
+
#: src/admin/settings.php:603
|
349 |
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."
|
350 |
msgstr ""
|
351 |
|
352 |
+
#: build/admin/settings.php:612
|
353 |
+
#: src/admin/settings.php:612
|
354 |
msgid "Go to the Extensions Store"
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: build/admin/settings.php:616
|
358 |
+
#: src/admin/settings.php:616
|
359 |
msgid "View your Theme My Login account"
|
360 |
msgstr ""
|
361 |
|
362 |
+
#: build/admin/settings.php:627
|
363 |
+
#: src/admin/settings.php:627
|
364 |
msgid "On this page, you can configure the settings for the Theme My Login %s extension."
|
365 |
msgstr ""
|
366 |
|
367 |
+
#: build/admin/extensions.php:72
|
368 |
+
#: src/admin/extensions.php:72
|
369 |
msgid "Whoops! Looks like there was an error fetching extensions from the server. Please try again."
|
370 |
msgstr ""
|
371 |
|
372 |
+
#: build/admin/extensions.php:73
|
373 |
+
#: src/admin/extensions.php:73
|
374 |
msgid "Error: %s"
|
375 |
msgstr ""
|
376 |
|
377 |
+
#: build/admin/extensions.php:105
|
378 |
+
#: src/admin/extensions.php:105
|
379 |
msgid "View All Extensions"
|
380 |
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: thememylogin, jfarthing84
|
3 |
Tags: login, register, password, branding, customize, widget, wp-login, wp-login.php
|
4 |
Requires at least: 4.6
|
5 |
-
Tested up to: 5.1
|
6 |
-
Stable tag: 7.0.
|
7 |
|
8 |
The ultimate login branding solution! Theme My Login offers matchless customization of your WordPress user experience!
|
9 |
|
@@ -59,6 +59,17 @@ Report bugs, suggest ideas and participate in development at [GitHub](https://gi
|
|
59 |
|
60 |
== Changelog ==
|
61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
= 7.0.13 =
|
63 |
* Ensure proper retrieval of request parameters in all server configuration scenarios
|
64 |
* Ensure scripts and styles are loaded in the proper order on TML actions
|
2 |
Contributors: thememylogin, jfarthing84
|
3 |
Tags: login, register, password, branding, customize, widget, wp-login, wp-login.php
|
4 |
Requires at least: 4.6
|
5 |
+
Tested up to: 5.2.1
|
6 |
+
Stable tag: 7.0.14
|
7 |
|
8 |
The ultimate login branding solution! Theme My Login offers matchless customization of your WordPress user experience!
|
9 |
|
59 |
|
60 |
== Changelog ==
|
61 |
|
62 |
+
= 7.0.14 =
|
63 |
+
* Fix login page error on on WP 5.2+
|
64 |
+
* Implement caching for remote extension data to speed up plugins screen
|
65 |
+
* Implement a CLI command for adding TML actions as nav menu items
|
66 |
+
* Ensure password recovery error messages match core
|
67 |
+
* Fix notice if a settings field isn't passed with an `args` parameter
|
68 |
+
* Fix permalinks being flushed on all TML admin pages
|
69 |
+
* Allow form attributes to be set in the form constructor
|
70 |
+
* Add `tml_activate_extension` action hook
|
71 |
+
* Add `tml_deactivate_extension` action hook
|
72 |
+
|
73 |
= 7.0.13 =
|
74 |
* Ensure proper retrieval of request parameters in all server configuration scenarios
|
75 |
* Ensure scripts and styles are loaded in the proper order on TML actions
|
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.0.
|
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.0.
|
28 |
|
29 |
/**
|
30 |
* Stores the path to TML.
|
@@ -77,6 +77,10 @@ if ( is_multisite() ) {
|
|
77 |
require THEME_MY_LOGIN_PATH . 'includes/ms-hooks.php';
|
78 |
}
|
79 |
|
|
|
|
|
|
|
|
|
80 |
/**
|
81 |
* Load custom functions file.
|
82 |
*/
|
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.0.14
|
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.0.14' );
|
28 |
|
29 |
/**
|
30 |
* Stores the path to TML.
|
77 |
require THEME_MY_LOGIN_PATH . 'includes/ms-hooks.php';
|
78 |
}
|
79 |
|
80 |
+
if ( defined( 'WP_CLI' ) && WP_CLI ) {
|
81 |
+
require THEME_MY_LOGIN_PATH . 'includes/commands.php';
|
82 |
+
}
|
83 |
+
|
84 |
/**
|
85 |
* Load custom functions file.
|
86 |
*/
|