mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-19 06:33:50 +09:00
Update 1.0.83
This commit is contained in:
@@ -1,3 +1,14 @@
|
||||
#um-extensions-wrap a.plugin-image,
|
||||
#um-extensions-wrap a.plugin-image img {
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#um-extensions-wrap .plugin-card .name,
|
||||
#um-extensions-wrap .plugin-card .desc {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
#um-metaboxes-general.wrap h2 {
|
||||
font-size: 23px;
|
||||
font-weight: 400;
|
||||
|
||||
@@ -91,10 +91,10 @@ jQuery(document).ready(function() {
|
||||
Tooltips
|
||||
**/
|
||||
|
||||
jQuery('.um-admin-tipsy-n,#redux-share a').tipsy({gravity: 'n', opacity: 1, live: true });
|
||||
jQuery('.um-admin-tipsy-w').tipsy({gravity: 'w', opacity: 1, live: true });
|
||||
jQuery('.um-admin-tipsy-e').tipsy({gravity: 'e', opacity: 1, live: true });
|
||||
jQuery('.um-admin-tipsy-s').tipsy({gravity: 's', opacity: 1, live: true });
|
||||
jQuery('.um-admin-tipsy-n,#redux-share a').tipsy({gravity: 'n', opacity: 1, live: 'a.live' });
|
||||
jQuery('.um-admin-tipsy-w').tipsy({gravity: 'w', opacity: 1, live: 'a.live' });
|
||||
jQuery('.um-admin-tipsy-e').tipsy({gravity: 'e', opacity: 1, live: 'a.live' });
|
||||
jQuery('.um-admin-tipsy-s').tipsy({gravity: 's', opacity: 1, live: 'a.live' });
|
||||
|
||||
/**
|
||||
Conditional fields
|
||||
|
||||
@@ -43,6 +43,8 @@ class UM_Admin_Dashboard {
|
||||
}
|
||||
|
||||
do_action('um_extend_admin_menu');
|
||||
|
||||
add_submenu_page( $this->slug, __('Extensions', $this->slug), '<span style="color: #19e0ff">' .__('Extensions', $this->slug) . '</span>', 'manage_options', $this->slug . '-extensions', array(&$this, 'admin_page') );
|
||||
|
||||
}
|
||||
|
||||
@@ -196,6 +198,10 @@ class UM_Admin_Dashboard {
|
||||
|
||||
<?php
|
||||
|
||||
} else if ( $page == 'ultimatemember-extensions' ) {
|
||||
|
||||
include_once um_path . 'admin/templates/extensions.php';
|
||||
|
||||
} else if ( strstr( $page, 'ultimatemember-' ) ) {
|
||||
|
||||
$template = str_replace('ultimatemember-','',$page);
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
<div id="um-extensions-wrap" class="wrap">
|
||||
|
||||
<h2>Ultimate Member - Extensions</h2>
|
||||
|
||||
<div class="wp-filter">
|
||||
<p>Our free & paid extensions help you extend the functionality of your community powered by Ultimate Member.</p>
|
||||
</div>
|
||||
|
||||
<div class="wp-list-table widefat plugin-install">
|
||||
<div id="the-list">
|
||||
|
||||
<div class="plugin-card">
|
||||
<a href="https://ultimatemember.com/extensions/mailchimp/" class="plugin-image"><img src="https://ultimatemember.com/wp-content/uploads/2015/02/mailchimp-01-copy.png" /></a>
|
||||
<div class="plugin-card-top">
|
||||
<div class="name column-name">
|
||||
<h4><a href="https://ultimatemember.com/extensions/mailchimp/">MailChimp</a></h4>
|
||||
</div>
|
||||
<div class="action-links">
|
||||
<ul class="plugin-action-buttons"><li><a class="install-now button" href="https://ultimatemember.com/extensions/mailchimp/">Buy Now</a></li>
|
||||
<li><a href="https://ultimatemember.com/extensions/mailchimp/">More Details</a></li></ul> </div>
|
||||
<div class="desc column-description">
|
||||
<p>This extension integrates MailChimp with Ultimate Member and allows users to subscribe to your mailing lists when they register on your site.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="plugin-card">
|
||||
<a href="https://ultimatemember.com/extensions/social-login/" class="plugin-image"><img src="https://ultimatemember.com/wp-content/uploads/2015/02/sociallogin.png" /></a>
|
||||
<div class="plugin-card-top">
|
||||
<div class="name column-name">
|
||||
<h4><a href="https://ultimatemember.com/extensions/social-login/">Social Login</a></h4>
|
||||
</div>
|
||||
<div class="action-links">
|
||||
<ul class="plugin-action-buttons"><li><a class="install-now button" href="https://ultimatemember.com/extensions/social-login/">Buy Now</a></li>
|
||||
<li><a href="https://ultimatemember.com/extensions/social-login/">More Details</a></li></ul> </div>
|
||||
<div class="desc column-description">
|
||||
<p>The social login extension allows users to easily register/login to your site using their social network accounts (Facebook, Twitter, Google+, LinkedIn)</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="plugin-card">
|
||||
<a href="https://ultimatemember.com/extensions/bbpress/" class="plugin-image"><img src="https://ultimatemember.com/wp-content/uploads/2015/02/bbpress-copy.png" /></a>
|
||||
<div class="plugin-card-top">
|
||||
<div class="name column-name">
|
||||
<h4><a href="https://ultimatemember.com/extensions/bbpress/">bbPress</a></h4>
|
||||
</div>
|
||||
<div class="action-links">
|
||||
<ul class="plugin-action-buttons"><li><a class="install-now button" href="https://ultimatemember.com/extensions/bbpress/">Buy Now</a></li>
|
||||
<li><a href="https://ultimatemember.com/extensions/bbpress/">More Details</a></li></ul> </div>
|
||||
<div class="desc column-description">
|
||||
<p>Integrates the popular forums plugin bbPress with Ultimate Member.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="plugin-card">
|
||||
<a href="https://ultimatemember.com/extensions/mycred/" class="plugin-image"><img src="https://ultimatemember.com/wp-content/uploads/2015/02/mycred1.png" /></a>
|
||||
<div class="plugin-card-top">
|
||||
<div class="name column-name">
|
||||
<h4><a href="https://ultimatemember.com/extensions/mycred/">myCRED</a></h4>
|
||||
</div>
|
||||
<div class="action-links">
|
||||
<ul class="plugin-action-buttons"><li><a class="install-now button" href="https://ultimatemember.com/extensions/mycred/">Buy Now</a></li>
|
||||
<li><a href="https://ultimatemember.com/extensions/mycred/">More Details</a></li></ul> </div>
|
||||
<div class="desc column-description">
|
||||
<p>With our myCRED extension, reward or charge your users for using Ultimate Member features and doing profile updates and show their rank and badges beautifully in their user profile.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="plugin-card">
|
||||
<a href="https://ultimatemember.com/extensions/google-recaptcha/" class="plugin-image"><img src="https://ultimatemember.com/wp-content/uploads/2015/02/recaptcha-01-copy.png" /></a>
|
||||
<div class="plugin-card-top">
|
||||
<div class="name column-name">
|
||||
<h4><a href="https://ultimatemember.com/extensions/google-recaptcha/">Google reCAPTCHA</a></h4>
|
||||
</div>
|
||||
<div class="action-links">
|
||||
<ul class="plugin-action-buttons"><li><a class="install-now button" href="https://ultimatemember.com/extensions/google-recaptcha/">Download</a></li>
|
||||
<li><a href="https://ultimatemember.com/extensions/google-recaptcha/">More Details</a></li></ul> </div>
|
||||
<div class="desc column-description">
|
||||
<p>With our free Google reCAPTCHA extension, you can stop spam registrations on your site easily.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><div class="um-admin-clear"></div>
|
||||
@@ -0,0 +1,29 @@
|
||||
.um-login.um-logout {
|
||||
max-width: 300px !important;
|
||||
}
|
||||
|
||||
.um-misc-with-img {
|
||||
position: relative;
|
||||
font-size: 15px;
|
||||
border-bottom: 3px solid #eee;
|
||||
text-align: center;
|
||||
|
||||
margin-bottom: 14px;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 14px;
|
||||
}
|
||||
|
||||
.um-misc-img {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.um-misc-img img {
|
||||
border-radius: 999px;
|
||||
height: auto !important;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.um-misc-ul,
|
||||
.um-misc-ul li {
|
||||
font-size: 14px;
|
||||
}
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -25,10 +25,10 @@ jQuery(document).ready(function() {
|
||||
jQuery(this).parents( parent ).find( child ).trigger('click');
|
||||
});
|
||||
|
||||
jQuery('.um-tip-n').tipsy({gravity: 'n', opacity: 1, live: true, offset: 3 });
|
||||
jQuery('.um-tip-w').tipsy({gravity: 'w', opacity: 1, live: true, offset: 3 });
|
||||
jQuery('.um-tip-e').tipsy({gravity: 'e', opacity: 1, live: true, offset: 3 });
|
||||
jQuery('.um-tip-s').tipsy({gravity: 's', opacity: 1, live: true, offset: 3 });
|
||||
jQuery('.um-tip-n').tipsy({gravity: 'n', opacity: 1, live: 'a.live', offset: 3 });
|
||||
jQuery('.um-tip-w').tipsy({gravity: 'w', opacity: 1, live: 'a.live', offset: 3 });
|
||||
jQuery('.um-tip-e').tipsy({gravity: 'e', opacity: 1, live: 'a.live', offset: 3 });
|
||||
jQuery('.um-tip-s').tipsy({gravity: 's', opacity: 1, live: 'a.live', offset: 3 });
|
||||
|
||||
jQuery('.um-field input[type=radio]').change(function(){
|
||||
var field = jQuery(this).parents('.um-field');
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -63,7 +63,7 @@
|
||||
global $ultimatemember;
|
||||
|
||||
// errors on general tab
|
||||
if ( isset($_POST['um_account_submit']) && !$_POST['um_account_submit'] == __('Delete Account','ultimatemember') ) {
|
||||
if ( isset($_POST['um_account_submit']) && $_POST['um_account_submit'] != __('Delete Account','ultimatemember') ) {
|
||||
|
||||
if ( isset($_POST['first_name']) && strlen(trim( $_POST['first_name'] ) ) == 0 ) {
|
||||
$ultimatemember->form->add_error('first_name', __('You must provide your first name','ultimatemember') );
|
||||
|
||||
@@ -117,16 +117,20 @@
|
||||
$ultimatemember->form->add_error('user_password', 'You must enter a new password');
|
||||
}
|
||||
|
||||
if ( strlen( utf8_decode( $args['user_password'] ) ) < 8 ) {
|
||||
$ultimatemember->form->add_error('user_password', __('Your password must contain at least 8 characters') );
|
||||
}
|
||||
if ( um_get_option('reset_require_strongpass') ) {
|
||||
|
||||
if ( strlen( utf8_decode( $args['user_password'] ) ) > 30 ) {
|
||||
$ultimatemember->form->add_error('user_password', __('Your password must contain less than 30 characters') );
|
||||
}
|
||||
if ( strlen( utf8_decode( $args['user_password'] ) ) < 8 ) {
|
||||
$ultimatemember->form->add_error('user_password', __('Your password must contain at least 8 characters') );
|
||||
}
|
||||
|
||||
if ( strlen( utf8_decode( $args['user_password'] ) ) > 30 ) {
|
||||
$ultimatemember->form->add_error('user_password', __('Your password must contain less than 30 characters') );
|
||||
}
|
||||
|
||||
if ( !$ultimatemember->validation->strong_pass( $args['user_password'] ) ) {
|
||||
$ultimatemember->form->add_error('user_password', __('Your password must contain at least one lowercase letter, one capital letter and one number','ultimatemember') );
|
||||
if ( !$ultimatemember->validation->strong_pass( $args['user_password'] ) ) {
|
||||
$ultimatemember->form->add_error('user_password', __('Your password must contain at least one lowercase letter, one capital letter and one number','ultimatemember') );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ( !$args['confirm_user_password'] ) {
|
||||
|
||||
@@ -47,4 +47,20 @@
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @adds main links to a logout widget
|
||||
***/
|
||||
add_action('um_logout_user_links', 'um_logout_user_links', 100 );
|
||||
function um_logout_user_links( $args ) {
|
||||
global $ultimatemember;
|
||||
|
||||
?>
|
||||
|
||||
<li><a href="<?php echo um_get_core_page('account'); ?>"><?php _e('Your account','ultimatemember'); ?></a></li>
|
||||
<li><a href="<?php echo add_query_arg('redirect_to', $ultimatemember->permalinks->get_current_url(true), um_get_core_page('logout') ); ?>"><?php _e('Logout','ultimatemember'); ?></a></li>
|
||||
|
||||
<?php
|
||||
|
||||
}
|
||||
@@ -160,6 +160,9 @@ class UM_Enqueue {
|
||||
wp_register_style('um_account', um_url . 'assets/css/um-account.css' );
|
||||
wp_enqueue_style('um_account');
|
||||
|
||||
wp_register_style('um_misc', um_url . 'assets/css/um-misc.css' );
|
||||
wp_enqueue_style('um_misc');
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
|
||||
+4
-2
@@ -365,10 +365,12 @@ class UM_Files {
|
||||
}
|
||||
|
||||
$is_temp = um_is_temp_upload( $src );
|
||||
if ( $is_temp )
|
||||
if ( $is_temp ) {
|
||||
unlink( $is_temp );
|
||||
rmdir( dirname( $is_temp ) );
|
||||
|
||||
} else {
|
||||
die('Not a valid temp file');
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
|
||||
@@ -23,18 +23,45 @@
|
||||
$sections[] = array(
|
||||
|
||||
'icon' => 'um-faicon-plug',
|
||||
'title' => __( 'Add ons','ultimatemember'),
|
||||
'title' => __( 'Extensions','ultimatemember'),
|
||||
|
||||
);
|
||||
|
||||
$sections[] = array(
|
||||
|
||||
'subsection' => true,
|
||||
'title' => __( 'Built-in Add ons','ultimatemember'),
|
||||
'title' => __( 'Tools','ultimatemember'),
|
||||
'fields' => $array,
|
||||
|
||||
);
|
||||
|
||||
return $sections;
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @licenses
|
||||
***/
|
||||
add_filter("redux/options/um_options/sections", 'um_add_licenses_tab', 9999 );
|
||||
function um_add_licenses_tab($sections){
|
||||
global $ultimatemember;
|
||||
|
||||
$fields = array();
|
||||
$fields = apply_filters('um_licensed_products_settings', $fields );
|
||||
|
||||
if ( $fields ) {
|
||||
|
||||
$sections[] = array(
|
||||
|
||||
'icon' => 'um-faicon-key',
|
||||
'title' => __( 'Licenses','ultimatemember'),
|
||||
'fields' => $fields,
|
||||
'subsection' => false,
|
||||
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
return $sections;
|
||||
|
||||
}
|
||||
@@ -1,5 +1,22 @@
|
||||
<?php
|
||||
|
||||
/***
|
||||
*** @conditional logout form
|
||||
***/
|
||||
add_filter('um_shortcode_args_filter', 'um_display_logout_form', 99);
|
||||
function um_display_logout_form( $args ) {
|
||||
global $ultimatemember;
|
||||
|
||||
if ( is_user_logged_in() && isset( $args['mode'] ) && $args['mode'] == 'login' ) {
|
||||
|
||||
$args['template'] = 'logout';
|
||||
|
||||
}
|
||||
|
||||
return $args;
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @filter for shortcode args
|
||||
***/
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
|
||||
if ( !$value ) return '';
|
||||
|
||||
if ( ( isset( $data['validate'] ) && $data['validate'] != '' && strstr( $data['validate'], 'url' ) ) || ( $data['type'] == 'url' ) ) {
|
||||
if ( ( isset( $data['validate'] ) && $data['validate'] != '' && strstr( $data['validate'], 'url' ) ) || ( isset( $data['type'] ) && $data['type'] == 'url' ) ) {
|
||||
$alt = ( isset( $data['url_text'] ) && !empty( $data['url_text'] ) ) ? $data['url_text'] : $value;
|
||||
$url_rel = ( isset( $data['url_rel'] ) ) ? 'rel="nofollow"' : '';
|
||||
if( !strstr( $value, 'http' )
|
||||
|
||||
@@ -219,11 +219,18 @@ function um_profile_id() {
|
||||
***/
|
||||
function um_is_temp_upload( $url ) {
|
||||
global $ultimatemember;
|
||||
|
||||
$url = explode('/ultimatemember/temp/', $url);
|
||||
if ( isset( $url[1] ) ) {
|
||||
$src = $ultimatemember->files->upload_temp . $url[1];
|
||||
if ( !file_exists( $src ) )
|
||||
|
||||
if ( strstr( $url[1], '../' ) || strstr( $url[1], '%' ) ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$src = $ultimatemember->files->upload_temp . $url[1];
|
||||
if ( !file_exists( $src ) ) {
|
||||
return false;
|
||||
}
|
||||
return $src;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -38,7 +38,7 @@ class UM_Shortcodes {
|
||||
/***
|
||||
*** @Add class based on shortcode
|
||||
***/
|
||||
function get_class( $mode ){
|
||||
function get_class( $mode, $args = array() ){
|
||||
|
||||
global $ultimatemember;
|
||||
|
||||
@@ -56,6 +56,10 @@ class UM_Shortcodes {
|
||||
$classes .= ' um-viewing';
|
||||
}
|
||||
|
||||
if ( isset( $args['template'] ) && $args['template'] != $args['mode'] ) {
|
||||
$classes .= ' um-' . $args['template'];
|
||||
}
|
||||
|
||||
$classes = apply_filters('um_form_official_classes__hook', $classes);
|
||||
return $classes;
|
||||
}
|
||||
@@ -97,6 +101,7 @@ class UM_Shortcodes {
|
||||
$args = array_merge( $this->get_css_args( $args ), $args );
|
||||
}
|
||||
|
||||
// filter for arguments
|
||||
$args = apply_filters('um_shortcode_args_filter', $args );
|
||||
|
||||
extract( $args, EXTR_SKIP );
|
||||
@@ -106,6 +111,7 @@ class UM_Shortcodes {
|
||||
$args['role'] != $ultimatemember->query->get_role_by_userid( um_profile_id() ) )
|
||||
return;
|
||||
|
||||
// start loading the template here
|
||||
do_action("um_pre_{$mode}_shortcode", $args);
|
||||
|
||||
do_action("um_before_form_is_loaded", $args);
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Plugin Name: Ultimate Member
|
||||
Plugin URI: http://ultimatemember.com/
|
||||
Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
|
||||
Version: 1.0.78
|
||||
Version: 1.0.83
|
||||
Author: Ultimate Member
|
||||
Author URI: http://ultimatemember.com/
|
||||
*/
|
||||
|
||||
+41
-1
@@ -7,7 +7,7 @@ Tags: access control, author, authors, author profile, comments, community, comm
|
||||
Requires at least: 4.1
|
||||
Tested up to: 4.1.1
|
||||
|
||||
Stable Tag: 1.0.78
|
||||
Stable Tag: 1.0.83
|
||||
|
||||
License: GNU Version 2 or Any Later Version
|
||||
|
||||
@@ -42,6 +42,19 @@ Features of the plugin include:
|
||||
* Multi-site compatibility
|
||||
* Mandrill compatibility
|
||||
|
||||
**Paid Extensions**
|
||||
|
||||
You can extend the power of Ultimate Member with one of our premium extensions:
|
||||
|
||||
* [Social Login](https://ultimatemember.com/extensions/social-login/)
|
||||
* [MailChimp](https://ultimatemember.com/extensions/mailchimp/)
|
||||
* [bbPress](https://ultimatemember.com/extensions/bbpress/)
|
||||
* [myCRED](https://ultimatemember.com/extensions/mycred/)
|
||||
|
||||
**Free Extensions**
|
||||
|
||||
* [Google reCAPTCHA](https://ultimatemember.com/extensions/google-recaptcha/)
|
||||
|
||||
**Front-end registration**
|
||||
|
||||
Ultimate Member allows visitors to your site to register and become members. You can decide whether users can register automatically; require them to active account via email link or you an admin can manually approve/reject user registrations after reviewing details.
|
||||
@@ -189,6 +202,33 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
|
||||
|
||||
== Changelog ==
|
||||
|
||||
= 1.0.83: March 12, 2015 =
|
||||
|
||||
* New: added a logout template If user is already logged in (customizable)
|
||||
* New: strong password formula not required when resetting password (optional)
|
||||
* Fixed: jQuery issue with live() method - Thanks to Jim Wetton
|
||||
|
||||
= 1.0.82: March 11, 2015 =
|
||||
|
||||
* Fixed: issue with saving user account general tab
|
||||
|
||||
= 1.0.81: March 11, 2015 =
|
||||
|
||||
* New: official support for plugin extensions released
|
||||
|
||||
= 1.0.80: March 10, 2015 =
|
||||
|
||||
* Tweak: added licensing support to plugin core
|
||||
* Fixed: issue with account form
|
||||
|
||||
= 1.0.79: March 10, 2015 =
|
||||
|
||||
* Tweak: Redux up to date
|
||||
* Fixed: security issue related to deleting a temp file via ajax
|
||||
* Fixed: bug with a php warning on undefined field type
|
||||
|
||||
Credits to "James Golovich http://www.pritect.net" for the security checks
|
||||
|
||||
= 1.0.78: March 10, 2015 =
|
||||
|
||||
* Fixed: important correction from previous version
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<div class="um <?php echo $this->get_class( $mode, $args ); ?> um-<?php echo $form_id; ?>" data-error_required="This field is required" data-password_not_match="Passwords do not match" data-password_not_long="Password must be 8 characters at least">
|
||||
|
||||
<div class="um-form">
|
||||
|
||||
<div class="um-misc-with-img">
|
||||
|
||||
<div class="um-misc-img">
|
||||
<a href="<?php echo um_get_core_page('user'); ?>"><?php echo um_user('profile_photo', 80); ?></a>
|
||||
</div>
|
||||
|
||||
<div><strong><?php echo um_user('display_name'); ?></strong></div>
|
||||
|
||||
<?php do_action('um_logout_after_user_welcome', $args ); ?>
|
||||
|
||||
</div>
|
||||
|
||||
<ul class="um-misc-ul">
|
||||
|
||||
<?php do_action('um_logout_user_links', $args ); ?>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -98,6 +98,16 @@ $this->sections[] = array(
|
||||
'off' => __('No','ultimatemember'),
|
||||
),
|
||||
|
||||
array(
|
||||
'id' => 'reset_require_strongpass',
|
||||
'type' => 'switch',
|
||||
'title' => __( 'Require a strong password? (when user resets password only)','ultimatemember' ),
|
||||
'default' => 0,
|
||||
'desc' => __('Enable or disable a strong password rules on password reset and change procedure','ultimatemember'),
|
||||
'on' => __('On','ultimatemember'),
|
||||
'off' => __('Off','ultimatemember'),
|
||||
),
|
||||
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user