Version Description
- Fix extension update issues caused by caching
- Add
tml_script_dependencies
filter - Add
tml_script_data
filter
Download this release
Release Info
Developer | jfarthing84 |
Plugin | Theme My Login |
Version | 7.0.15 |
Comparing to | |
See all releases |
Code changes from version 7.0.14 to 7.0.15
- admin/class-theme-my-login-admin.php +2 -2
- admin/class-theme-my-login-walker-nav-menu-edit.php +1 -1
- admin/extensions.php +1 -3
- admin/functions.php +10 -13
- admin/settings.php +51 -6
- includes/actions.php +13 -6
- includes/class-theme-my-login-extension.php +3 -3
- includes/class-theme-my-login-form-field.php +9 -9
- includes/class-theme-my-login-form.php +4 -2
- includes/class-theme-my-login.php +1 -1
- includes/compat.php +1 -1
- includes/extensions.php +51 -70
- includes/forms.php +7 -9
- includes/functions.php +40 -13
- includes/hooks.php +0 -3
- languages/theme-my-login.pot +84 -166
- readme.txt +7 -2
- theme-my-login.php +2 -2
admin/class-theme-my-login-admin.php
CHANGED
@@ -47,7 +47,7 @@ final class Theme_My_Login_Admin {
|
|
47 |
*
|
48 |
* @since 7.0
|
49 |
*
|
50 |
-
* @param array
|
51 |
* Optional. An array of arguments for adding an admin page.
|
52 |
*
|
53 |
* @param string $page_title Required. The page title.
|
@@ -100,7 +100,7 @@ final class Theme_My_Login_Admin {
|
|
100 |
}
|
101 |
|
102 |
/**
|
103 |
-
* Determine if a
|
104 |
*
|
105 |
* @since 7.0
|
106 |
*
|
47 |
*
|
48 |
* @since 7.0
|
49 |
*
|
50 |
+
* @param array $args {
|
51 |
* Optional. An array of arguments for adding an admin page.
|
52 |
*
|
53 |
* @param string $page_title Required. The page title.
|
100 |
}
|
101 |
|
102 |
/**
|
103 |
+
* Determine if a specific admin page has been added.
|
104 |
*
|
105 |
* @since 7.0
|
106 |
*
|
admin/class-theme-my-login-walker-nav-menu-edit.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
*
|
5 |
*
|
6 |
* @package Theme_My_Login_Restrictions
|
7 |
* @subpackage Walker
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* Theme My Login Nav Menu Edit Walker
|
5 |
*
|
6 |
* @package Theme_My_Login_Restrictions
|
7 |
* @subpackage Walker
|
admin/extensions.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* Theme
|
5 |
*
|
6 |
* @package Theme_My_Login
|
7 |
* @subpackage Administration
|
@@ -48,7 +48,6 @@ function tml_admin_get_extensions_feed( $args = array() ) {
|
|
48 |
|
49 |
set_site_transient( $transient_key, $feed, DAY_IN_SECONDS / 2 );
|
50 |
}
|
51 |
-
|
52 |
return $feed;
|
53 |
}
|
54 |
|
@@ -104,7 +103,6 @@ function tml_admin_extensions_page() {
|
|
104 |
<div class="tml-view-all-extensions-wrap">
|
105 |
<a class="tml-view-all-extensions-link" href="<?php echo THEME_MY_LOGIN_EXTENSIONS_URL; ?>"><?php esc_html_e( 'View All Extensions', 'theme-my-login' ); ?></a>
|
106 |
</div>
|
107 |
-
|
108 |
</div>
|
109 |
|
110 |
<?php
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* Theme My Login Extensions Admin
|
5 |
*
|
6 |
* @package Theme_My_Login
|
7 |
* @subpackage Administration
|
48 |
|
49 |
set_site_transient( $transient_key, $feed, DAY_IN_SECONDS / 2 );
|
50 |
}
|
|
|
51 |
return $feed;
|
52 |
}
|
53 |
|
103 |
<div class="tml-view-all-extensions-wrap">
|
104 |
<a class="tml-view-all-extensions-link" href="<?php echo THEME_MY_LOGIN_EXTENSIONS_URL; ?>"><?php esc_html_e( 'View All Extensions', 'theme-my-login' ); ?></a>
|
105 |
</div>
|
|
|
106 |
</div>
|
107 |
|
108 |
<?php
|
admin/functions.php
CHANGED
@@ -30,10 +30,10 @@ function tml_admin_is_plugin_page( $page = '' ) {
|
|
30 |
global $plugin_page;
|
31 |
|
32 |
if ( ! empty( $page ) ) {
|
33 |
-
return ( "theme-my-login-$page" == $plugin_page );
|
34 |
}
|
35 |
|
36 |
-
return ( strpos( $plugin_page, 'theme-my-login' ) === 0 );
|
37 |
}
|
38 |
|
39 |
/**
|
@@ -43,14 +43,14 @@ function tml_admin_is_plugin_page( $page = '' ) {
|
|
43 |
*
|
44 |
* @see Theme_My_Login_Admin::add_menu_item()
|
45 |
*
|
46 |
-
* @param array
|
47 |
*/
|
48 |
function tml_admin_add_menu_item( $args = array() ) {
|
49 |
theme_my_login_admin()->add_menu_item( $args );
|
50 |
}
|
51 |
|
52 |
/**
|
53 |
-
* Register the admin
|
54 |
*
|
55 |
* @since 7.0
|
56 |
*/
|
@@ -61,10 +61,8 @@ function tml_admin_add_menu_items() {
|
|
61 |
return;
|
62 |
}
|
63 |
|
64 |
-
$tml_admin = theme_my_login_admin();
|
65 |
-
|
66 |
// Add the main menu item
|
67 |
-
|
68 |
'page_title' => esc_html__( 'Theme My Login Settings', 'theme-my-login' ),
|
69 |
'menu_title' => esc_html__( 'Theme My Login', 'theme-my-login' ),
|
70 |
'menu_slug' => 'theme-my-login',
|
@@ -75,7 +73,7 @@ function tml_admin_add_menu_items() {
|
|
75 |
) );
|
76 |
|
77 |
// Add the submenu item
|
78 |
-
|
79 |
'page_title' => esc_html__( 'Theme My Login Settings', 'theme-my-login' ),
|
80 |
'menu_title' => esc_html__( 'General', 'theme-my-login' ),
|
81 |
'menu_slug' => 'theme-my-login',
|
@@ -88,7 +86,7 @@ function tml_admin_add_menu_items() {
|
|
88 |
foreach ( tml_get_extensions() as $extension ) {
|
89 |
$args = $extension->get_settings_page_args();
|
90 |
if ( ! empty( $args ) ) {
|
91 |
-
|
92 |
}
|
93 |
if ( $extension->get_license_key_option() ) {
|
94 |
$has_licenses = true;
|
@@ -97,7 +95,7 @@ function tml_admin_add_menu_items() {
|
|
97 |
|
98 |
if ( $has_licenses ) {
|
99 |
// Add the licenses menu item
|
100 |
-
|
101 |
'page_title' => esc_html__( 'Theme My Login Licenses', 'theme-my-login' ),
|
102 |
'menu_title' => esc_html__( 'Licenses', 'theme-my-login' ),
|
103 |
'menu_slug' => 'theme-my-login-licenses',
|
@@ -107,7 +105,7 @@ function tml_admin_add_menu_items() {
|
|
107 |
}
|
108 |
|
109 |
// Add the extensions menu item
|
110 |
-
|
111 |
'page_title' => esc_html__( 'Theme My Login Extensions', 'theme-my-login' ),
|
112 |
'menu_title' => esc_html__( 'Extensions', 'theme-my-login' ),
|
113 |
'menu_slug' => 'theme-my-login-extensions',
|
@@ -125,6 +123,7 @@ function tml_admin_enqueue_style_and_scripts() {
|
|
125 |
$suffix = SCRIPT_DEBUG ? '' : '.min';
|
126 |
|
127 |
wp_enqueue_style( 'theme-my-login-admin', THEME_MY_LOGIN_URL . "admin/assets/styles/theme-my-login-admin$suffix.css", array(), THEME_MY_LOGIN_VERSION );
|
|
|
128 |
wp_enqueue_script( 'theme-my-login-admin', THEME_MY_LOGIN_URL . "admin/assets/scripts/theme-my-login-admin$suffix.js", array( 'jquery', 'postbox' ), THEME_MY_LOGIN_VERSION );
|
129 |
wp_localize_script( 'theme-my-login-admin', 'tmlAdmin', array(
|
130 |
'interimLoginUrl' => site_url( add_query_arg( array(
|
@@ -345,7 +344,6 @@ function tml_admin_filter_edit_nav_menu_walker( $walker ) {
|
|
345 |
* @return array The plugin action links.
|
346 |
*/
|
347 |
function tml_admin_filter_plugin_action_links( $actions, $file, $data, $context ) {
|
348 |
-
|
349 |
if ( 'theme-my-login/theme-my-login.php' == $file ) {
|
350 |
$actions['settings'] = sprintf( '<a href="%1$s">%2$s</a>',
|
351 |
admin_url( 'admin.php?page=theme-my-login' ),
|
@@ -356,6 +354,5 @@ function tml_admin_filter_plugin_action_links( $actions, $file, $data, $context
|
|
356 |
__( 'Extensions', 'theme-my-login' )
|
357 |
);
|
358 |
}
|
359 |
-
|
360 |
return $actions;
|
361 |
}
|
30 |
global $plugin_page;
|
31 |
|
32 |
if ( ! empty( $page ) ) {
|
33 |
+
return ( "theme-my-login-$page" == $plugin_page ) || ( "tml-$page" == $plugin_page );
|
34 |
}
|
35 |
|
36 |
+
return ( strpos( $plugin_page, 'theme-my-login' ) === 0 ) || ( strpos( $plugin_page, 'tml-' ) === 0 );
|
37 |
}
|
38 |
|
39 |
/**
|
43 |
*
|
44 |
* @see Theme_My_Login_Admin::add_menu_item()
|
45 |
*
|
46 |
+
* @param array $args An array of arguments for adding an admin page.
|
47 |
*/
|
48 |
function tml_admin_add_menu_item( $args = array() ) {
|
49 |
theme_my_login_admin()->add_menu_item( $args );
|
50 |
}
|
51 |
|
52 |
/**
|
53 |
+
* Register the admin pages.
|
54 |
*
|
55 |
* @since 7.0
|
56 |
*/
|
61 |
return;
|
62 |
}
|
63 |
|
|
|
|
|
64 |
// Add the main menu item
|
65 |
+
tml_admin_add_menu_item( array(
|
66 |
'page_title' => esc_html__( 'Theme My Login Settings', 'theme-my-login' ),
|
67 |
'menu_title' => esc_html__( 'Theme My Login', 'theme-my-login' ),
|
68 |
'menu_slug' => 'theme-my-login',
|
73 |
) );
|
74 |
|
75 |
// Add the submenu item
|
76 |
+
tml_admin_add_menu_item( array(
|
77 |
'page_title' => esc_html__( 'Theme My Login Settings', 'theme-my-login' ),
|
78 |
'menu_title' => esc_html__( 'General', 'theme-my-login' ),
|
79 |
'menu_slug' => 'theme-my-login',
|
86 |
foreach ( tml_get_extensions() as $extension ) {
|
87 |
$args = $extension->get_settings_page_args();
|
88 |
if ( ! empty( $args ) ) {
|
89 |
+
tml_admin_add_menu_item( $args );
|
90 |
}
|
91 |
if ( $extension->get_license_key_option() ) {
|
92 |
$has_licenses = true;
|
95 |
|
96 |
if ( $has_licenses ) {
|
97 |
// Add the licenses menu item
|
98 |
+
tml_admin_add_menu_item( array(
|
99 |
'page_title' => esc_html__( 'Theme My Login Licenses', 'theme-my-login' ),
|
100 |
'menu_title' => esc_html__( 'Licenses', 'theme-my-login' ),
|
101 |
'menu_slug' => 'theme-my-login-licenses',
|
105 |
}
|
106 |
|
107 |
// Add the extensions menu item
|
108 |
+
tml_admin_add_menu_item( array(
|
109 |
'page_title' => esc_html__( 'Theme My Login Extensions', 'theme-my-login' ),
|
110 |
'menu_title' => esc_html__( 'Extensions', 'theme-my-login' ),
|
111 |
'menu_slug' => 'theme-my-login-extensions',
|
123 |
$suffix = SCRIPT_DEBUG ? '' : '.min';
|
124 |
|
125 |
wp_enqueue_style( 'theme-my-login-admin', THEME_MY_LOGIN_URL . "admin/assets/styles/theme-my-login-admin$suffix.css", array(), THEME_MY_LOGIN_VERSION );
|
126 |
+
|
127 |
wp_enqueue_script( 'theme-my-login-admin', THEME_MY_LOGIN_URL . "admin/assets/scripts/theme-my-login-admin$suffix.js", array( 'jquery', 'postbox' ), THEME_MY_LOGIN_VERSION );
|
128 |
wp_localize_script( 'theme-my-login-admin', 'tmlAdmin', array(
|
129 |
'interimLoginUrl' => site_url( add_query_arg( array(
|
344 |
* @return array The plugin action links.
|
345 |
*/
|
346 |
function tml_admin_filter_plugin_action_links( $actions, $file, $data, $context ) {
|
|
|
347 |
if ( 'theme-my-login/theme-my-login.php' == $file ) {
|
348 |
$actions['settings'] = sprintf( '<a href="%1$s">%2$s</a>',
|
349 |
admin_url( 'admin.php?page=theme-my-login' ),
|
354 |
__( 'Extensions', 'theme-my-login' )
|
355 |
);
|
356 |
}
|
|
|
357 |
return $actions;
|
358 |
}
|
admin/settings.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
function tml_admin_register_settings() {
|
16 |
|
17 |
$settings = array(
|
18 |
-
'theme-my-login' =>array(
|
19 |
'sections' => tml_admin_get_settings_sections(),
|
20 |
'fields' => tml_admin_get_settings_fields(),
|
21 |
),
|
@@ -86,6 +86,13 @@ function tml_admin_register_settings() {
|
|
86 |
* @return array The settings sections.
|
87 |
*/
|
88 |
function tml_admin_get_settings_sections() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
return (array) apply_filters( 'tml_admin_get_settings_sections', array(
|
90 |
'tml_settings_login' => array(
|
91 |
'title' => __( 'Log In' ),
|
@@ -224,9 +231,19 @@ function tml_admin_setting_callback_slugs_section() {
|
|
224 |
}
|
225 |
|
226 |
/**
|
227 |
-
* Render
|
228 |
*
|
229 |
* @since 7.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
230 |
*/
|
231 |
function tml_admin_setting_callback_input_field( $args ) {
|
232 |
$args = wp_parse_args( $args, array(
|
@@ -251,6 +268,16 @@ function tml_admin_setting_callback_input_field( $args ) {
|
|
251 |
* Render a checkbox setting field.
|
252 |
*
|
253 |
* @since 7.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
*/
|
255 |
function tml_admin_setting_callback_checkbox_field( $args ) {
|
256 |
$args = wp_parse_args( $args, array(
|
@@ -272,12 +299,16 @@ function tml_admin_setting_callback_checkbox_field( $args ) {
|
|
272 |
}
|
273 |
|
274 |
/**
|
275 |
-
* Render a
|
276 |
*
|
277 |
* @since 7.0
|
278 |
*
|
279 |
* @param array $args {
|
280 |
-
* Optional. An array of arguments.
|
|
|
|
|
|
|
|
|
281 |
* }
|
282 |
*/
|
283 |
function tml_admin_setting_callback_checkbox_group_field( $args ) {
|
@@ -317,7 +348,12 @@ function tml_admin_setting_callback_checkbox_group_field( $args ) {
|
|
317 |
* @since 7.0
|
318 |
*
|
319 |
* @param array $args {
|
320 |
-
* Optional. An array of arguments.
|
|
|
|
|
|
|
|
|
|
|
321 |
* }
|
322 |
*/
|
323 |
function tml_admin_setting_callback_dropdown_field( $args ) {
|
@@ -356,7 +392,13 @@ function tml_admin_setting_callback_dropdown_field( $args ) {
|
|
356 |
* @since 7.0
|
357 |
*
|
358 |
* @param array $args {
|
359 |
-
* Optional. An array of arguments.
|
|
|
|
|
|
|
|
|
|
|
|
|
360 |
* }
|
361 |
*/
|
362 |
function tml_admin_setting_callback_radio_group_field( $args ) {
|
@@ -399,6 +441,9 @@ function tml_admin_setting_callback_radio_group_field( $args ) {
|
|
399 |
*
|
400 |
* @param array $args {
|
401 |
* Optional. An array of arguments.
|
|
|
|
|
|
|
402 |
* }
|
403 |
*/
|
404 |
function tml_admin_setting_callback_license_key_field( $args ) {
|
15 |
function tml_admin_register_settings() {
|
16 |
|
17 |
$settings = array(
|
18 |
+
'theme-my-login' => array(
|
19 |
'sections' => tml_admin_get_settings_sections(),
|
20 |
'fields' => tml_admin_get_settings_fields(),
|
21 |
),
|
86 |
* @return array The settings sections.
|
87 |
*/
|
88 |
function tml_admin_get_settings_sections() {
|
89 |
+
/**
|
90 |
+
* Filters the settings sections.
|
91 |
+
*
|
92 |
+
* @since 7.0
|
93 |
+
*
|
94 |
+
* @param array $sections The settings sections.
|
95 |
+
*/
|
96 |
return (array) apply_filters( 'tml_admin_get_settings_sections', array(
|
97 |
'tml_settings_login' => array(
|
98 |
'title' => __( 'Log In' ),
|
231 |
}
|
232 |
|
233 |
/**
|
234 |
+
* Render an input setting field.
|
235 |
*
|
236 |
* @since 7.0
|
237 |
+
*
|
238 |
+
* @param array $args {
|
239 |
+
* Optional. An array of arguments for rendering an input.
|
240 |
+
*
|
241 |
+
* @type string $label_for The input name/ID.
|
242 |
+
* @type string $value The input value.
|
243 |
+
* @type string $description A short description of the input.
|
244 |
+
* @type string $input_type The type of input. Default is "text".
|
245 |
+
* @type string $input_class The input class. Default is "regular-text".
|
246 |
+
* }
|
247 |
*/
|
248 |
function tml_admin_setting_callback_input_field( $args ) {
|
249 |
$args = wp_parse_args( $args, array(
|
268 |
* Render a checkbox setting field.
|
269 |
*
|
270 |
* @since 7.0
|
271 |
+
*
|
272 |
+
* @param array $args {
|
273 |
+
* Optional. An array of arguments for rendering a checkbox.
|
274 |
+
*
|
275 |
+
* @type string $label_for The checkbox name/ID.
|
276 |
+
* @type stirng $label The checkbox label text.
|
277 |
+
* @type string $value The checkbox value.
|
278 |
+
* @type bool $checked Whether the checkbox is checked or not.
|
279 |
+
* @type string $description A short description of the checkbox.
|
280 |
+
* }
|
281 |
*/
|
282 |
function tml_admin_setting_callback_checkbox_field( $args ) {
|
283 |
$args = wp_parse_args( $args, array(
|
299 |
}
|
300 |
|
301 |
/**
|
302 |
+
* Render a checkbox group setting field.
|
303 |
*
|
304 |
* @since 7.0
|
305 |
*
|
306 |
* @param array $args {
|
307 |
+
* Optional. An array of arguments for rendering a checkbox group.
|
308 |
+
*
|
309 |
+
* @type string $legend The legend text.
|
310 |
+
* @type array $options An array of options for the checkbox group.
|
311 |
+
* @type string $description A short description of the checkbox group.
|
312 |
* }
|
313 |
*/
|
314 |
function tml_admin_setting_callback_checkbox_group_field( $args ) {
|
348 |
* @since 7.0
|
349 |
*
|
350 |
* @param array $args {
|
351 |
+
* Optional. An array of arguments for rendering a dropdown.
|
352 |
+
*
|
353 |
+
* @type string $label_for The dropdown name/ID.
|
354 |
+
* @type array $options An array of options for the dropdown.
|
355 |
+
* @type string $selected The value of the selected option.
|
356 |
+
* @type string $description A short description of the dropdown.
|
357 |
* }
|
358 |
*/
|
359 |
function tml_admin_setting_callback_dropdown_field( $args ) {
|
392 |
* @since 7.0
|
393 |
*
|
394 |
* @param array $args {
|
395 |
+
* Optional. An array of arguments for rendering a radio group.
|
396 |
+
*
|
397 |
+
* @type string $label_for The radio button name/ID.
|
398 |
+
* @type string $legend The legend text.
|
399 |
+
* @type array $options An array of options for the radio group.
|
400 |
+
* @type string $checked The value of the checked option.
|
401 |
+
* @type string $description A short description of the radio group.
|
402 |
* }
|
403 |
*/
|
404 |
function tml_admin_setting_callback_radio_group_field( $args ) {
|
441 |
*
|
442 |
* @param array $args {
|
443 |
* Optional. An array of arguments.
|
444 |
+
*
|
445 |
+
* @type string $label_for The key field name/ID.
|
446 |
+
* @type string|Theme_My_Login_Extention $extension The extension name or object.
|
447 |
* }
|
448 |
*/
|
449 |
function tml_admin_setting_callback_license_key_field( $args ) {
|
includes/actions.php
CHANGED
@@ -80,10 +80,10 @@ function tml_register_default_actions() {
|
|
80 |
*
|
81 |
* @since 7.0
|
82 |
*
|
|
|
|
|
83 |
* @param string|Theme_My_Login_Action $action The action name or object.
|
84 |
-
* @param array $args
|
85 |
-
* Optional. An array of arguments for registering an action.
|
86 |
-
* }
|
87 |
* @return Theme_My_Login_Action The action object.
|
88 |
*/
|
89 |
function tml_register_action( $action, $args = array() ) {
|
@@ -322,7 +322,7 @@ function tml_action_handler() {
|
|
322 |
|
323 |
// Add the testcookie field to the login form
|
324 |
tml_add_form_field( 'login', 'testcookie', array(
|
325 |
-
'type' => 'hidden'
|
326 |
'value' => 1,
|
327 |
'priority' => 30,
|
328 |
) );
|
@@ -400,7 +400,7 @@ function tml_login_handler() {
|
|
400 |
);
|
401 |
}
|
402 |
}
|
403 |
-
|
404 |
$redirect_to = apply_filters( 'login_redirect', $redirect_to, isset( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '', $user );
|
405 |
|
406 |
if ( ! is_wp_error( $user ) && ! $reauth ) {
|
@@ -464,6 +464,7 @@ function tml_login_handler() {
|
|
464 |
$errors->add( 'updated', __( '<strong>You have successfully updated WordPress!</strong> Please log back in to see what’s new.' ), 'message' );
|
465 |
}
|
466 |
|
|
|
467 |
$errors = apply_filters( 'wp_login_errors', $errors, $redirect_to );
|
468 |
|
469 |
tml_set_errors( $errors );
|
@@ -494,7 +495,9 @@ function tml_logout_handler() {
|
|
494 |
$requested_redirect_to = '';
|
495 |
}
|
496 |
|
|
|
497 |
$redirect_to = apply_filters( 'logout_redirect', $redirect_to, $requested_redirect_to, $user );
|
|
|
498 |
wp_safe_redirect( $redirect_to );
|
499 |
exit;
|
500 |
}
|
@@ -507,7 +510,10 @@ function tml_logout_handler() {
|
|
507 |
function tml_registration_handler() {
|
508 |
|
509 |
if ( is_multisite() ) {
|
510 |
-
|
|
|
|
|
|
|
511 |
exit;
|
512 |
}
|
513 |
|
@@ -611,6 +617,7 @@ function tml_password_reset_handler() {
|
|
611 |
$errors->add( 'password_reset_mismatch', __( 'The passwords do not match.' ) );
|
612 |
}
|
613 |
|
|
|
614 |
do_action( 'validate_password_reset', $errors, $user );
|
615 |
|
616 |
if ( ( ! $errors->get_error_code() ) && isset( $_POST['pass1'] ) && ! empty( $_POST['pass1'] ) ) {
|
80 |
*
|
81 |
* @since 7.0
|
82 |
*
|
83 |
+
* @see Theme_My_Login::register_action()
|
84 |
+
*
|
85 |
* @param string|Theme_My_Login_Action $action The action name or object.
|
86 |
+
* @param array $args Optional. An array of arguments for registering an action.
|
|
|
|
|
87 |
* @return Theme_My_Login_Action The action object.
|
88 |
*/
|
89 |
function tml_register_action( $action, $args = array() ) {
|
322 |
|
323 |
// Add the testcookie field to the login form
|
324 |
tml_add_form_field( 'login', 'testcookie', array(
|
325 |
+
'type' => 'hidden',
|
326 |
'value' => 1,
|
327 |
'priority' => 30,
|
328 |
) );
|
400 |
);
|
401 |
}
|
402 |
}
|
403 |
+
/** This filter is documented in wp-login.php */
|
404 |
$redirect_to = apply_filters( 'login_redirect', $redirect_to, isset( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '', $user );
|
405 |
|
406 |
if ( ! is_wp_error( $user ) && ! $reauth ) {
|
464 |
$errors->add( 'updated', __( '<strong>You have successfully updated WordPress!</strong> Please log back in to see what’s new.' ), 'message' );
|
465 |
}
|
466 |
|
467 |
+
/** This filter is documented in wp-login.php */
|
468 |
$errors = apply_filters( 'wp_login_errors', $errors, $redirect_to );
|
469 |
|
470 |
tml_set_errors( $errors );
|
495 |
$requested_redirect_to = '';
|
496 |
}
|
497 |
|
498 |
+
/** This filter is documented in wp-login.php */
|
499 |
$redirect_to = apply_filters( 'logout_redirect', $redirect_to, $requested_redirect_to, $user );
|
500 |
+
|
501 |
wp_safe_redirect( $redirect_to );
|
502 |
exit;
|
503 |
}
|
510 |
function tml_registration_handler() {
|
511 |
|
512 |
if ( is_multisite() ) {
|
513 |
+
/** This filter is documented in wp-login.php */
|
514 |
+
$signup_location = apply_filters( 'wp_signup_location', network_site_url( 'wp-signup.php' ) );
|
515 |
+
|
516 |
+
wp_redirect( $signup_location );
|
517 |
exit;
|
518 |
}
|
519 |
|
617 |
$errors->add( 'password_reset_mismatch', __( 'The passwords do not match.' ) );
|
618 |
}
|
619 |
|
620 |
+
/** This action is documented in wp-login.php */
|
621 |
do_action( 'validate_password_reset', $errors, $user );
|
622 |
|
623 |
if ( ( ! $errors->get_error_code() ) && isset( $_POST['pass1'] ) && ! empty( $_POST['pass1'] ) ) {
|
includes/class-theme-my-login-extension.php
CHANGED
@@ -19,7 +19,7 @@ abstract class Theme_My_Login_Extension {
|
|
19 |
*
|
20 |
* @var string
|
21 |
*/
|
22 |
-
protected $name = '
|
23 |
|
24 |
/**
|
25 |
* The extension title.
|
@@ -180,7 +180,7 @@ abstract class Theme_My_Login_Extension {
|
|
180 |
if ( isset( $this->slug ) ) {
|
181 |
return $this->slug;
|
182 |
}
|
183 |
-
return str_replace( 'theme-my-login-', '', $this->name );
|
184 |
}
|
185 |
|
186 |
/**
|
@@ -422,7 +422,7 @@ abstract class Theme_My_Login_Extension {
|
|
422 |
*/
|
423 |
public function deactivate() {
|
424 |
/**
|
425 |
-
* Fires when
|
426 |
*
|
427 |
* @since 7.0.14
|
428 |
*
|
19 |
*
|
20 |
* @var string
|
21 |
*/
|
22 |
+
protected $name = 'tml-extension';
|
23 |
|
24 |
/**
|
25 |
* The extension title.
|
180 |
if ( isset( $this->slug ) ) {
|
181 |
return $this->slug;
|
182 |
}
|
183 |
+
return str_replace( array( 'theme-my-login-', 'tml-' ), '', $this->name );
|
184 |
}
|
185 |
|
186 |
/**
|
422 |
*/
|
423 |
public function deactivate() {
|
424 |
/**
|
425 |
+
* Fires when an extension is being deactivated.
|
426 |
*
|
427 |
* @since 7.0.14
|
428 |
*
|
includes/class-theme-my-login-form-field.php
CHANGED
@@ -85,14 +85,14 @@ class Theme_My_Login_Form_Field {
|
|
85 |
protected $classes = array();
|
86 |
|
87 |
/**
|
88 |
-
* The
|
89 |
*
|
90 |
* @var Theme_My_Login_Form
|
91 |
*/
|
92 |
protected $form;
|
93 |
|
94 |
/**
|
95 |
-
* The field
|
96 |
*
|
97 |
* @var int
|
98 |
*/
|
@@ -396,22 +396,22 @@ class Theme_My_Login_Form_Field {
|
|
396 |
}
|
397 |
|
398 |
/**
|
399 |
-
* Get the
|
400 |
*
|
401 |
* @since 7.0
|
402 |
*
|
403 |
-
* @return Theme_My_Login_Form The
|
404 |
*/
|
405 |
public function get_form() {
|
406 |
return $this->form;
|
407 |
}
|
408 |
|
409 |
/**
|
410 |
-
* Set the
|
411 |
*
|
412 |
* @since 7.0
|
413 |
*
|
414 |
-
* @param Theme_My_Login_Form $form The
|
415 |
*/
|
416 |
public function set_form( Theme_My_Login_Form $form ) {
|
417 |
$this->form = $form;
|
@@ -422,7 +422,7 @@ class Theme_My_Login_Form_Field {
|
|
422 |
*
|
423 |
* @since 7.0
|
424 |
*
|
425 |
-
* @param string $key
|
426 |
* @param string $value The attribute value.
|
427 |
*/
|
428 |
public function add_attribute( $key, $value = null ) {
|
@@ -521,7 +521,7 @@ class Theme_My_Login_Form_Field {
|
|
521 |
}
|
522 |
|
523 |
/**
|
524 |
-
* Set the priority.
|
525 |
*
|
526 |
* @since 7.0
|
527 |
*
|
@@ -532,7 +532,7 @@ class Theme_My_Login_Form_Field {
|
|
532 |
}
|
533 |
|
534 |
/**
|
535 |
-
* Get the priority.
|
536 |
*
|
537 |
* @since 7.0
|
538 |
*
|
85 |
protected $classes = array();
|
86 |
|
87 |
/**
|
88 |
+
* The parent form of the field.
|
89 |
*
|
90 |
* @var Theme_My_Login_Form
|
91 |
*/
|
92 |
protected $form;
|
93 |
|
94 |
/**
|
95 |
+
* The priority of the field within the form.
|
96 |
*
|
97 |
* @var int
|
98 |
*/
|
396 |
}
|
397 |
|
398 |
/**
|
399 |
+
* Get the parent form of the field.
|
400 |
*
|
401 |
* @since 7.0
|
402 |
*
|
403 |
+
* @return Theme_My_Login_Form The parent form of the field.
|
404 |
*/
|
405 |
public function get_form() {
|
406 |
return $this->form;
|
407 |
}
|
408 |
|
409 |
/**
|
410 |
+
* Set the parent form of the field.
|
411 |
*
|
412 |
* @since 7.0
|
413 |
*
|
414 |
+
* @param Theme_My_Login_Form $form The parent form of the field.
|
415 |
*/
|
416 |
public function set_form( Theme_My_Login_Form $form ) {
|
417 |
$this->form = $form;
|
422 |
*
|
423 |
* @since 7.0
|
424 |
*
|
425 |
+
* @param string $key The attribute key.
|
426 |
* @param string $value The attribute value.
|
427 |
*/
|
428 |
public function add_attribute( $key, $value = null ) {
|
521 |
}
|
522 |
|
523 |
/**
|
524 |
+
* Set the priority of the field.
|
525 |
*
|
526 |
* @since 7.0
|
527 |
*
|
532 |
}
|
533 |
|
534 |
/**
|
535 |
+
* Get the priority of the field.
|
536 |
*
|
537 |
* @since 7.0
|
538 |
*
|
includes/class-theme-my-login-form.php
CHANGED
@@ -81,8 +81,9 @@ class Theme_My_Login_Form {
|
|
81 |
* @param array $args {
|
82 |
* Optional. An array of arguments.
|
83 |
*
|
84 |
-
* @type string $action
|
85 |
-
* @type string $method
|
|
|
86 |
* }
|
87 |
*/
|
88 |
public function __construct( $name, $args = array() ) {
|
@@ -535,6 +536,7 @@ class Theme_My_Login_Form {
|
|
535 |
* @type string $container_id The form container ID.
|
536 |
* @type string $before The content to render before the form.
|
537 |
* @type string $after The content to render after the form.
|
|
|
538 |
* }
|
539 |
* @return string The form markup.
|
540 |
*/
|
81 |
* @param array $args {
|
82 |
* Optional. An array of arguments.
|
83 |
*
|
84 |
+
* @type string $action The form action. Default empty.
|
85 |
+
* @type string $method The form method. Default 'post'.
|
86 |
+
* @type array $attributes The form attributes. Default empty array.
|
87 |
* }
|
88 |
*/
|
89 |
public function __construct( $name, $args = array() ) {
|
536 |
* @type string $container_id The form container ID.
|
537 |
* @type string $before The content to render before the form.
|
538 |
* @type string $after The content to render after the form.
|
539 |
+
* @type bool $show_links Whether to show the links or not.
|
540 |
* }
|
541 |
* @return string The form markup.
|
542 |
*/
|
includes/class-theme-my-login.php
CHANGED
@@ -304,7 +304,7 @@ final class Theme_My_Login {
|
|
304 |
*
|
305 |
* @since 7.0
|
306 |
*
|
307 |
-
* @param string $name
|
308 |
* @param mixed $default The value to return if the property is not set.
|
309 |
* @return mixed The property value or $default if not set.
|
310 |
*/
|
304 |
*
|
305 |
* @since 7.0
|
306 |
*
|
307 |
+
* @param string $name The property name.
|
308 |
* @param mixed $default The value to return if the property is not set.
|
309 |
* @return mixed The property value or $default if not set.
|
310 |
*/
|
includes/compat.php
CHANGED
@@ -68,7 +68,7 @@ function tml_retrieve_password() {
|
|
68 |
* @since 7.0
|
69 |
*
|
70 |
* @param WP_User $user The user object.
|
71 |
-
* @param string
|
72 |
*/
|
73 |
function tml_retrieve_password_notification( $user, $key ) {
|
74 |
if ( is_multisite() ) {
|
68 |
* @since 7.0
|
69 |
*
|
70 |
* @param WP_User $user The user object.
|
71 |
+
* @param string $key The password reset key.
|
72 |
*/
|
73 |
function tml_retrieve_password_notification( $user, $key ) {
|
74 |
if ( is_multisite() ) {
|
includes/extensions.php
CHANGED
@@ -13,7 +13,7 @@
|
|
13 |
* @since 7.0
|
14 |
*
|
15 |
* @param string|Theme_My_Login_Extension $extension The extension name or object.
|
16 |
-
* @param array
|
17 |
* Optional. An array of arguments for registering an extension.
|
18 |
* }
|
19 |
* @return Theme_My_Login_Extension The extension object.
|
@@ -82,7 +82,7 @@ function tml_extension_exists( $extension ) {
|
|
82 |
*
|
83 |
* @since 7.0
|
84 |
*
|
85 |
-
* @param bool $exists
|
86 |
* @param string $extension The extension name.
|
87 |
*/
|
88 |
return apply_filters( 'tml_extension_exists', $exists, $extension );
|
@@ -109,9 +109,11 @@ function tml_add_extension_data_to_plugins_api( $result = false, $action = '', $
|
|
109 |
return $result;
|
110 |
}
|
111 |
|
112 |
-
$
|
113 |
-
|
114 |
-
|
|
|
|
|
115 |
if ( ! empty( $result->new_version ) ) {
|
116 |
$result->version = $result->new_version;
|
117 |
}
|
@@ -133,29 +135,31 @@ function tml_add_extension_data_to_plugins_transient( $transient = '' ) {
|
|
133 |
$transient = (object) array();
|
134 |
}
|
135 |
|
136 |
-
$extension_data = tml_get_extension_data();
|
137 |
-
|
138 |
foreach ( tml_get_extensions() as $extension ) {
|
139 |
-
|
140 |
-
|
141 |
-
|
|
|
|
|
142 |
|
143 |
-
|
|
|
144 |
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
|
158 |
-
|
|
|
159 |
}
|
160 |
|
161 |
return $transient;
|
@@ -250,7 +254,7 @@ function tml_deactivate_extension_license( $extension ) {
|
|
250 |
}
|
251 |
|
252 |
/**
|
253 |
-
* Check an
|
254 |
*
|
255 |
* @since 7.0.8
|
256 |
*
|
@@ -278,7 +282,7 @@ function tml_check_extension_license( $extension ) {
|
|
278 |
}
|
279 |
|
280 |
/**
|
281 |
-
* Make an API call
|
282 |
*
|
283 |
* @since 7.0
|
284 |
*
|
@@ -290,7 +294,7 @@ function tml_check_extension_license( $extension ) {
|
|
290 |
* @param string $license The extension license key.
|
291 |
* @param int $item_id The extension item ID.
|
292 |
* @param string $slug The extension slug.
|
293 |
-
* @param string $url
|
294 |
* @param bool $beta Whether to include beta versions or not.
|
295 |
* }
|
296 |
* @return object|false The response object or false on failure.
|
@@ -305,58 +309,35 @@ function tml_extension_api_call( $url, $args = array() ) {
|
|
305 |
'beta' => false,
|
306 |
) );
|
307 |
|
308 |
-
$
|
309 |
-
'timeout' => 30,
|
310 |
-
'sslverify' => true,
|
311 |
-
'body' => $args,
|
312 |
-
) );
|
313 |
-
|
314 |
-
if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
|
315 |
-
return false;
|
316 |
-
}
|
317 |
|
318 |
-
$response =
|
|
|
|
|
|
|
|
|
|
|
|
|
319 |
|
320 |
-
|
321 |
-
|
322 |
-
$response->sections = maybe_unserialize( $response->sections );
|
323 |
-
}
|
324 |
-
if ( isset( $response->banners ) ) {
|
325 |
-
$response->banners = maybe_unserialize( $response->banners );
|
326 |
}
|
327 |
-
} else {
|
328 |
-
$response = false;
|
329 |
-
}
|
330 |
|
331 |
-
|
332 |
-
}
|
333 |
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
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 |
-
|
|
|
359 |
}
|
360 |
|
361 |
-
return $
|
362 |
}
|
13 |
* @since 7.0
|
14 |
*
|
15 |
* @param string|Theme_My_Login_Extension $extension The extension name or object.
|
16 |
+
* @param array $args {
|
17 |
* Optional. An array of arguments for registering an extension.
|
18 |
* }
|
19 |
* @return Theme_My_Login_Extension The extension object.
|
82 |
*
|
83 |
* @since 7.0
|
84 |
*
|
85 |
+
* @param bool $exists Whether the extension exists or not.
|
86 |
* @param string $extension The extension name.
|
87 |
*/
|
88 |
return apply_filters( 'tml_extension_exists', $exists, $extension );
|
109 |
return $result;
|
110 |
}
|
111 |
|
112 |
+
if ( $result = tml_extension_api_call( $extension->get_store_url(), array(
|
113 |
+
'license' => $extension->get_license_key(),
|
114 |
+
'item_id' => $extension->get_item_id(),
|
115 |
+
'slug' => $extension->get_name(),
|
116 |
+
) ) ) {
|
117 |
if ( ! empty( $result->new_version ) ) {
|
118 |
$result->version = $result->new_version;
|
119 |
}
|
135 |
$transient = (object) array();
|
136 |
}
|
137 |
|
|
|
|
|
138 |
foreach ( tml_get_extensions() as $extension ) {
|
139 |
+
$response = tml_extension_api_call( $extension->get_store_url(), array(
|
140 |
+
'license' => $extension->get_license_key(),
|
141 |
+
'item_id' => $extension->get_item_id(),
|
142 |
+
'slug' => $extension->get_name(),
|
143 |
+
) );
|
144 |
|
145 |
+
if ( is_object( $response ) ) {
|
146 |
+
$basename = $extension->get_basename();
|
147 |
|
148 |
+
if ( empty( $response->plugin ) ) {
|
149 |
+
$response->plugin = $basename;
|
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 |
+
// This is just fetching the plugin information
|
157 |
+
} else {
|
158 |
+
$transient->no_update[ $basename ] = $response;
|
159 |
+
}
|
160 |
|
161 |
+
$transient->last_checked = time();
|
162 |
+
}
|
163 |
}
|
164 |
|
165 |
return $transient;
|
254 |
}
|
255 |
|
256 |
/**
|
257 |
+
* Check the status of an extension license.
|
258 |
*
|
259 |
* @since 7.0.8
|
260 |
*
|
282 |
}
|
283 |
|
284 |
/**
|
285 |
+
* Make an API call the store of an extension.
|
286 |
*
|
287 |
* @since 7.0
|
288 |
*
|
294 |
* @param string $license The extension license key.
|
295 |
* @param int $item_id The extension item ID.
|
296 |
* @param string $slug The extension slug.
|
297 |
+
* @param string $url The client WP URL.
|
298 |
* @param bool $beta Whether to include beta versions or not.
|
299 |
* }
|
300 |
* @return object|false The response object or false on failure.
|
309 |
'beta' => false,
|
310 |
) );
|
311 |
|
312 |
+
$cache_key = md5( serialize( $args ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
313 |
|
314 |
+
$response = wp_cache_get( $cache_key, 'tml_api_calls' );
|
315 |
+
if ( ! $response ) {
|
316 |
+
$response = wp_remote_post( $url, array(
|
317 |
+
'timeout' => 30,
|
318 |
+
'sslverify' => true,
|
319 |
+
'body' => $args,
|
320 |
+
) );
|
321 |
|
322 |
+
if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
|
323 |
+
return false;
|
|
|
|
|
|
|
|
|
324 |
}
|
|
|
|
|
|
|
325 |
|
326 |
+
$response = json_decode( wp_remote_retrieve_body( $response ) );
|
|
|
327 |
|
328 |
+
if ( is_object( $response ) ) {
|
329 |
+
if ( isset( $response->sections ) ) {
|
330 |
+
$response->sections = maybe_unserialize( $response->sections );
|
331 |
+
}
|
332 |
+
if ( isset( $response->banners ) ) {
|
333 |
+
$response->banners = maybe_unserialize( $response->banners );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
}
|
335 |
+
} else {
|
336 |
+
$response = false;
|
337 |
}
|
338 |
+
|
339 |
+
wp_cache_set( $cache_key, $response, 'tml_api_calls' );
|
340 |
}
|
341 |
|
342 |
+
return $response;
|
343 |
}
|
includes/forms.php
CHANGED
@@ -283,12 +283,10 @@ function tml_register_password_reset_form() {
|
|
283 |
*
|
284 |
* @since 7.0
|
285 |
*
|
286 |
-
* @
|
287 |
-
* @param array $args {
|
288 |
-
* Optional. An array of arguments for registering a form.
|
289 |
*
|
290 |
-
*
|
291 |
-
*
|
292 |
* @return Theme_My_Login_Form The form object.
|
293 |
*/
|
294 |
function tml_register_form( $form, $args = array() ) {
|
@@ -362,11 +360,11 @@ function tml_form_exists( $form ) {
|
|
362 |
*
|
363 |
* @since 7.0
|
364 |
*
|
|
|
|
|
365 |
* @param string|Theme_My_Login_Form $form The form name or object.
|
366 |
* @param string|Theme_My_Login_Form_Field $field The field name or object.
|
367 |
-
* @param array
|
368 |
-
* Optional. An array of arguments for registering a form field.
|
369 |
-
* }
|
370 |
* @return Theme_My_Login_Form_Field The field object.
|
371 |
*/
|
372 |
function tml_add_form_field( $form, $field, $args = array() ) {
|
@@ -387,7 +385,7 @@ function tml_add_form_field( $form, $field, $args = array() ) {
|
|
387 |
*
|
388 |
* @since 7.0
|
389 |
*
|
390 |
-
* @param string|Theme_My_Login_Form
|
391 |
* @param string|Theme_My_Login_Form_Field $field The field name or object.
|
392 |
*/
|
393 |
function tml_remove_form_field( $form, $field ) {
|
283 |
*
|
284 |
* @since 7.0
|
285 |
*
|
286 |
+
* @see Theme_My_Login::register_form()
|
|
|
|
|
287 |
*
|
288 |
+
* @param string|Theme_My_Login_Form $form The form name or object.
|
289 |
+
* @param array $args Optional. An array of arguments for registering a form.
|
290 |
* @return Theme_My_Login_Form The form object.
|
291 |
*/
|
292 |
function tml_register_form( $form, $args = array() ) {
|
360 |
*
|
361 |
* @since 7.0
|
362 |
*
|
363 |
+
* @see Theme_My_Login_Form::add_field()
|
364 |
+
*
|
365 |
* @param string|Theme_My_Login_Form $form The form name or object.
|
366 |
* @param string|Theme_My_Login_Form_Field $field The field name or object.
|
367 |
+
* @param array $args Optional. An array of arguments for registering a form field.
|
|
|
|
|
368 |
* @return Theme_My_Login_Form_Field The field object.
|
369 |
*/
|
370 |
function tml_add_form_field( $form, $field, $args = array() ) {
|
385 |
*
|
386 |
* @since 7.0
|
387 |
*
|
388 |
+
* @param string|Theme_My_Login_Form $form The form name or object.
|
389 |
* @param string|Theme_My_Login_Form_Field $field The field name or object.
|
390 |
*/
|
391 |
function tml_remove_form_field( $form, $field ) {
|
includes/functions.php
CHANGED
@@ -228,7 +228,7 @@ function tml_body_class( $classes ) {
|
|
228 |
}
|
229 |
|
230 |
/**
|
231 |
-
* Enqueue TML
|
232 |
*
|
233 |
* @since 7.0
|
234 |
*/
|
@@ -239,7 +239,7 @@ function tml_enqueue_styles() {
|
|
239 |
}
|
240 |
|
241 |
/**
|
242 |
-
* Enqueue TML
|
243 |
*
|
244 |
* @since 7.0
|
245 |
*
|
@@ -252,12 +252,31 @@ function tml_enqueue_scripts() {
|
|
252 |
$dependencies[] = 'password-strength-meter';
|
253 |
}
|
254 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
255 |
wp_enqueue_script( 'theme-my-login', THEME_MY_LOGIN_URL . "assets/scripts/theme-my-login$suffix.js", $dependencies, THEME_MY_LOGIN_VERSION, true );
|
256 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
'action' => tml_is_action() ? tml_get_action()->get_name() : '',
|
258 |
'errors' => tml_get_errors()->get_error_codes(),
|
259 |
) );
|
260 |
|
|
|
|
|
261 |
if ( tml_is_action() ) {
|
262 |
/** This action is documented in wp-login.php */
|
263 |
do_action( 'login_enqueue_scripts' );
|
@@ -265,7 +284,7 @@ function tml_enqueue_scripts() {
|
|
265 |
}
|
266 |
|
267 |
/**
|
268 |
-
* Do the login_head action hook.
|
269 |
*
|
270 |
* @since 7.0.13
|
271 |
*/
|
@@ -282,7 +301,7 @@ function tml_do_login_head() {
|
|
282 |
}
|
283 |
|
284 |
/**
|
285 |
-
* Add
|
286 |
*
|
287 |
* @since 7.0
|
288 |
*/
|
@@ -291,7 +310,7 @@ function tml_add_rewrite_tags() {
|
|
291 |
}
|
292 |
|
293 |
/**
|
294 |
-
* Add
|
295 |
*
|
296 |
* @since 7.0
|
297 |
*/
|
@@ -318,10 +337,13 @@ function tml_flush_rewrite_rules() {
|
|
318 |
}
|
319 |
|
320 |
/**
|
321 |
-
* Filter the
|
322 |
*
|
323 |
* @since 7.0
|
324 |
*
|
|
|
|
|
|
|
325 |
* @param string $url The URL.
|
326 |
* @param string $path The path.
|
327 |
* @param string $scheme The URL scheme.
|
@@ -411,10 +433,12 @@ function tml_filter_site_url( $url, $path, $scheme ) {
|
|
411 |
}
|
412 |
|
413 |
/**
|
414 |
-
* Filter the
|
415 |
*
|
416 |
* @since 7.0
|
417 |
*
|
|
|
|
|
418 |
* @param string $url The URL.
|
419 |
* @param string $redirect The redirect.
|
420 |
* @return string The logout URL.
|
@@ -441,10 +465,12 @@ function tml_filter_logout_url( $url, $redirect ) {
|
|
441 |
}
|
442 |
|
443 |
/**
|
444 |
-
* Filter the
|
445 |
*
|
446 |
* @since 7.0.11
|
447 |
*
|
|
|
|
|
448 |
* @param string $url The URL.
|
449 |
* @param string $redirect The redirect.
|
450 |
* @return string The lostpassword URL.
|
@@ -468,10 +494,12 @@ function tml_filter_lostpassword_url( $url, $redirect ) {
|
|
468 |
}
|
469 |
|
470 |
/**
|
471 |
-
* Filter the
|
472 |
*
|
473 |
* @since 7.0
|
474 |
*
|
|
|
|
|
475 |
* @param string $link The edit post link.
|
476 |
* @param int $post_id The post ID.
|
477 |
* @return string The edit post link.
|
@@ -628,7 +656,7 @@ function tml_nav_menu_css_class( $classes, $item ) {
|
|
628 |
}
|
629 |
|
630 |
/**
|
631 |
-
* Validate a new user
|
632 |
*
|
633 |
* @since 7.0
|
634 |
*
|
@@ -773,7 +801,7 @@ function tml_enforce_login_type( $user, $username, $password ) {
|
|
773 |
}
|
774 |
|
775 |
/**
|
776 |
-
* Set the new user
|
777 |
*
|
778 |
* @since 7.0
|
779 |
*
|
@@ -921,7 +949,6 @@ function tml_has_errors() {
|
|
921 |
if ( ! $form = tml_get_form() ) {
|
922 |
return false;
|
923 |
}
|
924 |
-
|
925 |
return $form->has_errors();
|
926 |
}
|
927 |
|
228 |
}
|
229 |
|
230 |
/**
|
231 |
+
* Enqueue styles for TML.
|
232 |
*
|
233 |
* @since 7.0
|
234 |
*/
|
239 |
}
|
240 |
|
241 |
/**
|
242 |
+
* Enqueue scripts for TML.
|
243 |
*
|
244 |
* @since 7.0
|
245 |
*
|
252 |
$dependencies[] = 'password-strength-meter';
|
253 |
}
|
254 |
|
255 |
+
/**
|
256 |
+
* Filter the dependencies of the main TML script.
|
257 |
+
*
|
258 |
+
* @since 7.0.15
|
259 |
+
*
|
260 |
+
* @param array $dependencies The dependencies of the main TML script.
|
261 |
+
*/
|
262 |
+
$dependencies = apply_filters( 'tml_script_dependencies', $dependencies );
|
263 |
+
|
264 |
wp_enqueue_script( 'theme-my-login', THEME_MY_LOGIN_URL . "assets/scripts/theme-my-login$suffix.js", $dependencies, THEME_MY_LOGIN_VERSION, true );
|
265 |
+
|
266 |
+
/**
|
267 |
+
* Filter the main TML script data.
|
268 |
+
*
|
269 |
+
* @since 7.0.15
|
270 |
+
*
|
271 |
+
* @param array $data The main TML script data.
|
272 |
+
*/
|
273 |
+
$data = apply_filters( 'tml_script_data', array(
|
274 |
'action' => tml_is_action() ? tml_get_action()->get_name() : '',
|
275 |
'errors' => tml_get_errors()->get_error_codes(),
|
276 |
) );
|
277 |
|
278 |
+
wp_localize_script( 'theme-my-login', 'themeMyLogin', $data );
|
279 |
+
|
280 |
if ( tml_is_action() ) {
|
281 |
/** This action is documented in wp-login.php */
|
282 |
do_action( 'login_enqueue_scripts' );
|
284 |
}
|
285 |
|
286 |
/**
|
287 |
+
* Do the `login_head` action hook.
|
288 |
*
|
289 |
* @since 7.0.13
|
290 |
*/
|
301 |
}
|
302 |
|
303 |
/**
|
304 |
+
* Add rewrite tags for TML.
|
305 |
*
|
306 |
* @since 7.0
|
307 |
*/
|
310 |
}
|
311 |
|
312 |
/**
|
313 |
+
* Add rewrite rules for TML.
|
314 |
*
|
315 |
* @since 7.0
|
316 |
*/
|
337 |
}
|
338 |
|
339 |
/**
|
340 |
+
* Filter the site URL.
|
341 |
*
|
342 |
* @since 7.0
|
343 |
*
|
344 |
+
* @see site_url()
|
345 |
+
* @see network_site_url()
|
346 |
+
*
|
347 |
* @param string $url The URL.
|
348 |
* @param string $path The path.
|
349 |
* @param string $scheme The URL scheme.
|
433 |
}
|
434 |
|
435 |
/**
|
436 |
+
* Filter the logout URL.
|
437 |
*
|
438 |
* @since 7.0
|
439 |
*
|
440 |
+
* @see wp_logout_url()
|
441 |
+
*
|
442 |
* @param string $url The URL.
|
443 |
* @param string $redirect The redirect.
|
444 |
* @return string The logout URL.
|
465 |
}
|
466 |
|
467 |
/**
|
468 |
+
* Filter the lost password URL.
|
469 |
*
|
470 |
* @since 7.0.11
|
471 |
*
|
472 |
+
* @see wp_lostpassword_url()
|
473 |
+
*
|
474 |
* @param string $url The URL.
|
475 |
* @param string $redirect The redirect.
|
476 |
* @return string The lostpassword URL.
|
494 |
}
|
495 |
|
496 |
/**
|
497 |
+
* Filter the post edit link.
|
498 |
*
|
499 |
* @since 7.0
|
500 |
*
|
501 |
+
* @see get_edit_post_link()
|
502 |
+
*
|
503 |
* @param string $link The edit post link.
|
504 |
* @param int $post_id The post ID.
|
505 |
* @return string The edit post link.
|
656 |
}
|
657 |
|
658 |
/**
|
659 |
+
* Validate the password of a new user.
|
660 |
*
|
661 |
* @since 7.0
|
662 |
*
|
801 |
}
|
802 |
|
803 |
/**
|
804 |
+
* Set the password of a new user.
|
805 |
*
|
806 |
* @since 7.0
|
807 |
*
|
949 |
if ( ! $form = tml_get_form() ) {
|
950 |
return false;
|
951 |
}
|
|
|
952 |
return $form->has_errors();
|
953 |
}
|
954 |
|
includes/hooks.php
CHANGED
@@ -22,7 +22,6 @@ add_action( 'init', 'tml_add_rewrite_rules' );
|
|
22 |
// Widgets
|
23 |
add_action( 'widgets_init', 'Theme_My_Login_Widget::register' );
|
24 |
|
25 |
-
|
26 |
// Request
|
27 |
add_action( 'parse_request', 'tml_parse_request' );
|
28 |
|
@@ -54,11 +53,9 @@ add_action( 'retrieved_password_key', 'tml_retrieve_password_notification', 10,
|
|
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
|
22 |
// Widgets
|
23 |
add_action( 'widgets_init', 'Theme_My_Login_Widget::register' );
|
24 |
|
|
|
25 |
// Request
|
26 |
add_action( 'parse_request', 'tml_parse_request' );
|
27 |
|
53 |
|
54 |
// Activation
|
55 |
add_action( 'tml_activate', 'tml_flush_rewrite_rules' );
|
|
|
56 |
|
57 |
// Deactivation
|
58 |
add_action( 'tml_deactivate', 'tml_flush_rewrite_rules' );
|
|
|
59 |
|
60 |
/**
|
61 |
* Add Filters
|
languages/theme-my-login.pot
CHANGED
@@ -2,24 +2,22 @@
|
|
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.
|
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: 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 |
-
#:
|
20 |
-
#:
|
21 |
-
#: src/includes/class-theme-my-login-widget.php:23
|
22 |
-
#: src/admin/functions.php:69
|
23 |
msgid "Theme My Login"
|
24 |
msgstr ""
|
25 |
|
@@ -32,349 +30,269 @@ msgstr ""
|
|
32 |
msgid "Creates an alternate login, registration and password recovery experience within your theme."
|
33 |
msgstr ""
|
34 |
|
35 |
-
#:
|
36 |
-
#:
|
37 |
-
#: src/includes/functions.php:511
|
38 |
-
#: src/admin/functions.php:278
|
39 |
msgid "Theme My Login Actions"
|
40 |
msgstr ""
|
41 |
|
42 |
-
#:
|
43 |
-
#: src/includes/functions.php:512
|
44 |
msgid "Theme My Login Action"
|
45 |
msgstr ""
|
46 |
|
47 |
-
#:
|
48 |
-
#:
|
49 |
-
#:
|
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 |
-
#:
|
57 |
-
#: src/includes/functions.php:646
|
58 |
msgid "<strong>ERROR</strong>: Please enter a password."
|
59 |
msgstr ""
|
60 |
|
61 |
-
#:
|
62 |
-
#: src/includes/functions.php:649
|
63 |
msgid "<strong>ERROR</strong>: Passwords may not contain the character \"\\\"."
|
64 |
msgstr ""
|
65 |
|
66 |
-
#:
|
67 |
-
#: src/includes/functions.php:652
|
68 |
msgid "<strong>ERROR</strong>: Please enter the same password in both password fields."
|
69 |
msgstr ""
|
70 |
|
71 |
-
#:
|
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 |
-
#:
|
77 |
-
#: src/includes/actions.php:68
|
78 |
msgid "Your Data Request"
|
79 |
msgstr ""
|
80 |
|
81 |
-
#:
|
82 |
-
#: src/includes/actions.php:455
|
83 |
msgid "Registration complete. You may now log in."
|
84 |
msgstr ""
|
85 |
|
86 |
-
#:
|
87 |
-
#: src/includes/class-theme-my-login-widget.php:25
|
88 |
msgid "A login form for your site."
|
89 |
msgstr ""
|
90 |
|
91 |
-
#:
|
92 |
-
#: src/includes/class-theme-my-login-widget.php:57
|
93 |
msgctxt "Howdy"
|
94 |
msgid "Welcome"
|
95 |
msgstr ""
|
96 |
|
97 |
-
#:
|
98 |
-
#: src/includes/class-theme-my-login-widget.php:92
|
99 |
msgid "Profile"
|
100 |
msgstr ""
|
101 |
|
102 |
-
#:
|
103 |
-
#: src/includes/class-theme-my-login-widget.php:173
|
104 |
msgid "Show action links?"
|
105 |
msgstr ""
|
106 |
|
107 |
-
#:
|
108 |
-
#: src/includes/forms.php:133
|
109 |
msgid "Confirm Password"
|
110 |
msgstr ""
|
111 |
|
112 |
-
#:
|
113 |
-
#:
|
114 |
-
#:
|
115 |
-
#:
|
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 |
-
#:
|
124 |
-
#: src/includes/extensions.php:198
|
125 |
msgid "Your license key has been disabled."
|
126 |
msgstr ""
|
127 |
|
128 |
-
#:
|
129 |
-
#: src/includes/extensions.php:203
|
130 |
msgid "Invalid license."
|
131 |
msgstr ""
|
132 |
|
133 |
-
#:
|
134 |
-
#: src/includes/extensions.php:208
|
135 |
msgid "Your license is not active for this URL."
|
136 |
msgstr ""
|
137 |
|
138 |
-
#:
|
139 |
-
#: src/includes/extensions.php:212
|
140 |
msgid "Your license key has reached its activation limit."
|
141 |
msgstr ""
|
142 |
|
143 |
-
#:
|
144 |
-
#:
|
145 |
-
#: src/admin/functions.php:68
|
146 |
-
#: src/admin/functions.php:79
|
147 |
msgid "Theme My Login Settings"
|
148 |
msgstr ""
|
149 |
|
150 |
-
#:
|
151 |
-
#: src/admin/functions.php:80
|
152 |
msgid "General"
|
153 |
msgstr ""
|
154 |
|
155 |
-
#:
|
156 |
-
#: src/admin/functions.php:101
|
157 |
msgid "Theme My Login Licenses"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#:
|
161 |
-
#: src/admin/functions.php:102
|
162 |
msgid "Licenses"
|
163 |
msgstr ""
|
164 |
|
165 |
-
#:
|
166 |
-
#: src/admin/functions.php:111
|
167 |
msgid "Theme My Login Extensions"
|
168 |
msgstr ""
|
169 |
|
170 |
-
#:
|
171 |
-
#:
|
172 |
-
#: src/admin/functions.php:112
|
173 |
-
#: src/admin/functions.php:356
|
174 |
msgid "Extensions"
|
175 |
msgstr ""
|
176 |
|
177 |
-
#:
|
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 |
-
#:
|
183 |
-
#: src/admin/functions.php:179
|
184 |
msgid "A new <strong>Theme My Login</strong> extension is available!"
|
185 |
msgstr ""
|
186 |
|
187 |
-
#:
|
188 |
-
#:
|
189 |
-
#: src/admin/functions.php:186
|
190 |
-
#: src/admin/extensions.php:95
|
191 |
msgid "Get This Extension"
|
192 |
msgstr ""
|
193 |
|
194 |
-
#:
|
195 |
-
#: src/admin/settings.php:96
|
196 |
msgid "Registration"
|
197 |
msgstr ""
|
198 |
|
199 |
-
#:
|
200 |
-
#: src/admin/settings.php:101
|
201 |
msgid "Slugs"
|
202 |
msgstr ""
|
203 |
|
204 |
-
#:
|
205 |
-
#:
|
206 |
-
#: src/admin/settings.php:122
|
207 |
-
#: src/admin/settings.php:127
|
208 |
msgid "Login Type"
|
209 |
msgstr ""
|
210 |
|
211 |
-
#:
|
212 |
-
#:
|
213 |
-
#: src/admin/settings.php:129
|
214 |
-
#: src/admin/settings.php:149
|
215 |
msgid "Default"
|
216 |
msgstr ""
|
217 |
|
218 |
-
#:
|
219 |
-
#: src/admin/settings.php:130
|
220 |
msgid "Username only"
|
221 |
msgstr ""
|
222 |
|
223 |
-
#:
|
224 |
-
#:
|
225 |
-
#: src/admin/settings.php:131
|
226 |
-
#: src/admin/settings.php:150
|
227 |
msgid "Email only"
|
228 |
msgstr ""
|
229 |
|
230 |
-
#:
|
231 |
-
#:
|
232 |
-
#: src/admin/settings.php:142
|
233 |
-
#: src/admin/settings.php:147
|
234 |
msgid "Registration Type"
|
235 |
msgstr ""
|
236 |
|
237 |
-
#:
|
238 |
-
#: src/admin/settings.php:157
|
239 |
msgid "Passwords"
|
240 |
msgstr ""
|
241 |
|
242 |
-
#:
|
243 |
-
#: src/admin/settings.php:162
|
244 |
msgid "Allow users to set their own password"
|
245 |
msgstr ""
|
246 |
|
247 |
-
#:
|
248 |
-
#: src/admin/settings.php:169
|
249 |
msgid "Auto-Login"
|
250 |
msgstr ""
|
251 |
|
252 |
-
#:
|
253 |
-
#: src/admin/settings.php:174
|
254 |
msgid "Automatically log in users after registration"
|
255 |
msgstr ""
|
256 |
|
257 |
-
#:
|
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 |
-
#:
|
263 |
-
#: src/admin/settings.php:420
|
264 |
msgid "Active"
|
265 |
msgstr ""
|
266 |
|
267 |
-
#:
|
268 |
-
#: src/admin/settings.php:424
|
269 |
msgid "Invalid"
|
270 |
msgstr ""
|
271 |
|
272 |
-
#:
|
273 |
-
#: src/admin/settings.php:427
|
274 |
msgid "Inactive"
|
275 |
msgstr ""
|
276 |
|
277 |
-
#:
|
278 |
-
#: src/admin/settings.php:442
|
279 |
msgid "Deactivate"
|
280 |
msgstr ""
|
281 |
|
282 |
-
#:
|
283 |
-
#: src/admin/settings.php:444
|
284 |
msgid "Activate"
|
285 |
msgstr ""
|
286 |
|
287 |
-
#:
|
288 |
-
#: src/admin/settings.php:557
|
289 |
msgid "Welcome to Theme My Login!"
|
290 |
msgstr ""
|
291 |
|
292 |
-
#:
|
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 |
-
#:
|
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 |
-
#:
|
303 |
-
#:
|
304 |
-
#:
|
305 |
-
#:
|
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 |
-
#:
|
314 |
-
#:
|
315 |
-
#:
|
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 |
-
#:
|
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 |
-
#:
|
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 |
-
#:
|
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 |
-
#:
|
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 |
-
#:
|
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 |
-
#:
|
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 |
-
#:
|
353 |
-
#: src/admin/settings.php:612
|
354 |
msgid "Go to the Extensions Store"
|
355 |
msgstr ""
|
356 |
|
357 |
-
#:
|
358 |
-
#: src/admin/settings.php:616
|
359 |
msgid "View your Theme My Login account"
|
360 |
msgstr ""
|
361 |
|
362 |
-
#:
|
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 |
-
#:
|
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 |
-
#:
|
373 |
-
#: src/admin/extensions.php:73
|
374 |
msgid "Error: %s"
|
375 |
msgstr ""
|
376 |
|
377 |
-
#:
|
378 |
-
#: src/admin/extensions.php:105
|
379 |
msgid "View All Extensions"
|
380 |
msgstr ""
|
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.15\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-09-06T17:31:13-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 |
+
#: includes/class-theme-my-login-widget.php:23
|
20 |
+
#: admin/functions.php:67
|
|
|
|
|
21 |
msgid "Theme My Login"
|
22 |
msgstr ""
|
23 |
|
30 |
msgid "Creates an alternate login, registration and password recovery experience within your theme."
|
31 |
msgstr ""
|
32 |
|
33 |
+
#: includes/functions.php:539
|
34 |
+
#: admin/functions.php:277
|
|
|
|
|
35 |
msgid "Theme My Login Actions"
|
36 |
msgstr ""
|
37 |
|
38 |
+
#: includes/functions.php:540
|
|
|
39 |
msgid "Theme My Login Action"
|
40 |
msgstr ""
|
41 |
|
42 |
+
#: includes/functions.php:568
|
43 |
+
#: includes/functions.php:595
|
44 |
+
#: includes/functions.php:610
|
|
|
|
|
|
|
45 |
msgid "TML Action"
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: includes/functions.php:674
|
|
|
49 |
msgid "<strong>ERROR</strong>: Please enter a password."
|
50 |
msgstr ""
|
51 |
|
52 |
+
#: includes/functions.php:677
|
|
|
53 |
msgid "<strong>ERROR</strong>: Passwords may not contain the character \"\\\"."
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: includes/functions.php:680
|
|
|
57 |
msgid "<strong>ERROR</strong>: Please enter the same password in both password fields."
|
58 |
msgstr ""
|
59 |
|
60 |
+
#: includes/functions.php:697
|
|
|
61 |
msgid "If you have already set your own password, you may disregard this email and use the password you have already set."
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: includes/actions.php:68
|
|
|
65 |
msgid "Your Data Request"
|
66 |
msgstr ""
|
67 |
|
68 |
+
#: includes/actions.php:455
|
|
|
69 |
msgid "Registration complete. You may now log in."
|
70 |
msgstr ""
|
71 |
|
72 |
+
#: includes/class-theme-my-login-widget.php:25
|
|
|
73 |
msgid "A login form for your site."
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: includes/class-theme-my-login-widget.php:57
|
|
|
77 |
msgctxt "Howdy"
|
78 |
msgid "Welcome"
|
79 |
msgstr ""
|
80 |
|
81 |
+
#: includes/class-theme-my-login-widget.php:92
|
|
|
82 |
msgid "Profile"
|
83 |
msgstr ""
|
84 |
|
85 |
+
#: includes/class-theme-my-login-widget.php:173
|
|
|
86 |
msgid "Show action links?"
|
87 |
msgstr ""
|
88 |
|
89 |
+
#: includes/forms.php:133
|
|
|
90 |
msgid "Confirm Password"
|
91 |
msgstr ""
|
92 |
|
93 |
+
#: includes/extensions.php:189
|
94 |
+
#: includes/extensions.php:220
|
95 |
+
#: includes/extensions.php:250
|
96 |
+
#: includes/extensions.php:278
|
|
|
|
|
|
|
|
|
97 |
msgid "An error occurred, please try again."
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: includes/extensions.php:202
|
|
|
101 |
msgid "Your license key has been disabled."
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: includes/extensions.php:207
|
|
|
105 |
msgid "Invalid license."
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: includes/extensions.php:212
|
|
|
109 |
msgid "Your license is not active for this URL."
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: includes/extensions.php:216
|
|
|
113 |
msgid "Your license key has reached its activation limit."
|
114 |
msgstr ""
|
115 |
|
116 |
+
#: admin/functions.php:66
|
117 |
+
#: admin/functions.php:77
|
|
|
|
|
118 |
msgid "Theme My Login Settings"
|
119 |
msgstr ""
|
120 |
|
121 |
+
#: admin/functions.php:78
|
|
|
122 |
msgid "General"
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: admin/functions.php:99
|
|
|
126 |
msgid "Theme My Login Licenses"
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: admin/functions.php:100
|
|
|
130 |
msgid "Licenses"
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: admin/functions.php:109
|
|
|
134 |
msgid "Theme My Login Extensions"
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: admin/functions.php:110
|
138 |
+
#: admin/functions.php:354
|
|
|
|
|
139 |
msgid "Extensions"
|
140 |
msgstr ""
|
141 |
|
142 |
+
#: admin/functions.php:162
|
|
|
143 |
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!"
|
144 |
msgstr ""
|
145 |
|
146 |
+
#: admin/functions.php:178
|
|
|
147 |
msgid "A new <strong>Theme My Login</strong> extension is available!"
|
148 |
msgstr ""
|
149 |
|
150 |
+
#: admin/functions.php:185
|
151 |
+
#: admin/extensions.php:94
|
|
|
|
|
152 |
msgid "Get This Extension"
|
153 |
msgstr ""
|
154 |
|
155 |
+
#: admin/settings.php:103
|
|
|
156 |
msgid "Registration"
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: admin/settings.php:108
|
|
|
160 |
msgid "Slugs"
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: admin/settings.php:129
|
164 |
+
#: admin/settings.php:134
|
|
|
|
|
165 |
msgid "Login Type"
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: admin/settings.php:136
|
169 |
+
#: admin/settings.php:156
|
|
|
|
|
170 |
msgid "Default"
|
171 |
msgstr ""
|
172 |
|
173 |
+
#: admin/settings.php:137
|
|
|
174 |
msgid "Username only"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: admin/settings.php:138
|
178 |
+
#: admin/settings.php:157
|
|
|
|
|
179 |
msgid "Email only"
|
180 |
msgstr ""
|
181 |
|
182 |
+
#: admin/settings.php:149
|
183 |
+
#: admin/settings.php:154
|
|
|
|
|
184 |
msgid "Registration Type"
|
185 |
msgstr ""
|
186 |
|
187 |
+
#: admin/settings.php:164
|
|
|
188 |
msgid "Passwords"
|
189 |
msgstr ""
|
190 |
|
191 |
+
#: admin/settings.php:169
|
|
|
192 |
msgid "Allow users to set their own password"
|
193 |
msgstr ""
|
194 |
|
195 |
+
#: admin/settings.php:176
|
|
|
196 |
msgid "Auto-Login"
|
197 |
msgstr ""
|
198 |
|
199 |
+
#: admin/settings.php:181
|
|
|
200 |
msgid "Automatically log in users after registration"
|
201 |
msgstr ""
|
202 |
|
203 |
+
#: admin/settings.php:228
|
|
|
204 |
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."
|
205 |
msgstr ""
|
206 |
|
207 |
+
#: admin/settings.php:465
|
|
|
208 |
msgid "Active"
|
209 |
msgstr ""
|
210 |
|
211 |
+
#: admin/settings.php:469
|
|
|
212 |
msgid "Invalid"
|
213 |
msgstr ""
|
214 |
|
215 |
+
#: admin/settings.php:472
|
|
|
216 |
msgid "Inactive"
|
217 |
msgstr ""
|
218 |
|
219 |
+
#: admin/settings.php:487
|
|
|
220 |
msgid "Deactivate"
|
221 |
msgstr ""
|
222 |
|
223 |
+
#: admin/settings.php:489
|
|
|
224 |
msgid "Activate"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: admin/settings.php:602
|
|
|
228 |
msgid "Welcome to Theme My Login!"
|
229 |
msgstr ""
|
230 |
|
231 |
+
#: admin/settings.php:603
|
|
|
232 |
msgid "Below, you can configure how you would like users to register and log in to your site."
|
233 |
msgstr ""
|
234 |
|
235 |
+
#: admin/settings.php:604
|
|
|
236 |
msgid "Additionally, you can change the slugs that are used to generate the URLs that represent specific actions."
|
237 |
msgstr ""
|
238 |
|
239 |
+
#: admin/settings.php:610
|
240 |
+
#: admin/settings.php:633
|
241 |
+
#: admin/settings.php:653
|
242 |
+
#: admin/settings.php:681
|
|
|
|
|
|
|
|
|
243 |
msgid "View Documentation"
|
244 |
msgstr ""
|
245 |
|
246 |
+
#: admin/settings.php:615
|
247 |
+
#: admin/settings.php:637
|
248 |
+
#: admin/settings.php:688
|
|
|
|
|
|
|
249 |
msgid "Get Support"
|
250 |
msgstr ""
|
251 |
|
252 |
+
#: admin/settings.php:625
|
|
|
253 |
msgid "When you purchase extensions for Theme My Login, you will enter your license keys on this page."
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: admin/settings.php:626
|
|
|
257 |
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."
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: admin/settings.php:627
|
|
|
261 |
msgid "If you have not yet activated your license, this button will say \"Activate\". Click this button to activate your license."
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: admin/settings.php:628
|
|
|
265 |
msgid "If you have already activated your license, this button will say \"Deactivate\". Click this button to deactivate your license."
|
266 |
msgstr ""
|
267 |
|
268 |
+
#: admin/settings.php:647
|
|
|
269 |
msgid "This page shows you all of the extensions available to purchase for Theme My Login."
|
270 |
msgstr ""
|
271 |
|
272 |
+
#: admin/settings.php:648
|
|
|
273 |
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."
|
274 |
msgstr ""
|
275 |
|
276 |
+
#: admin/settings.php:657
|
|
|
277 |
msgid "Go to the Extensions Store"
|
278 |
msgstr ""
|
279 |
|
280 |
+
#: admin/settings.php:661
|
|
|
281 |
msgid "View your Theme My Login account"
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: admin/settings.php:672
|
|
|
285 |
msgid "On this page, you can configure the settings for the Theme My Login %s extension."
|
286 |
msgstr ""
|
287 |
|
288 |
+
#: admin/extensions.php:71
|
|
|
289 |
msgid "Whoops! Looks like there was an error fetching extensions from the server. Please try again."
|
290 |
msgstr ""
|
291 |
|
292 |
+
#: admin/extensions.php:72
|
|
|
293 |
msgid "Error: %s"
|
294 |
msgstr ""
|
295 |
|
296 |
+
#: admin/extensions.php:104
|
|
|
297 |
msgid "View All Extensions"
|
298 |
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.2.
|
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,11 @@ Report bugs, suggest ideas and participate in development at [GitHub](https://gi
|
|
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
|
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.4
|
6 |
+
Stable tag: 7.0.15
|
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.15 =
|
63 |
+
* Fix extension update issues caused by caching
|
64 |
+
* Add `tml_script_dependencies` filter
|
65 |
+
* Add `tml_script_data` filter
|
66 |
+
|
67 |
= 7.0.14 =
|
68 |
* Fix login page error on on WP 5.2+
|
69 |
* Implement caching for remote extension data to speed up plugins screen
|
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.
|
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.15
|
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.15' );
|
28 |
|
29 |
/**
|
30 |
* Stores the path to TML.
|