mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
- changed version to 2.3.0;
- added update for Required strong password option;
This commit is contained in:
@@ -1725,7 +1725,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Metabox' ) ) {
|
||||
?>
|
||||
|
||||
<p><label for="_force_good_pass"><?php _e( 'Force strong password?', 'ultimate-member' ) ?> <?php UM()->tooltip( __( 'Turn on to force users to create a strong password (A combination of one lowercase letter, one uppercase letter, and one number). If turned on this option is only applied to register forms and not to login forms.', 'ultimate-member' ) ); ?></label>
|
||||
<input type="checkbox" name="_force_good_pass" id="_force_good_pass" value="1" <?php checked( isset( $this->edit_mode_value ) ? $this->edit_mode_value : 0 ) ?> />
|
||||
<input type="checkbox" name="_force_good_pass" id="_force_good_pass" value="1" <?php checked( isset( $this->edit_mode_value ) ? $this->edit_mode_value : UM()->options()->get( 'require_strongpass' ) ) ?> />
|
||||
</p>
|
||||
|
||||
<?php
|
||||
|
||||
@@ -673,7 +673,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
|
||||
'use_um_gravatar_default_image' => array(
|
||||
'sanitize' => 'bool',
|
||||
),
|
||||
'reset_require_strongpass' => array(
|
||||
'require_strongpass' => array(
|
||||
'sanitize' => 'bool',
|
||||
),
|
||||
'password_min_chars' => array(
|
||||
@@ -721,9 +721,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
|
||||
'account_general_password' => array(
|
||||
'sanitize' => 'bool',
|
||||
),
|
||||
'account_require_strongpass' => array(
|
||||
'sanitize' => 'bool',
|
||||
),
|
||||
'account_hide_in_directory' => array(
|
||||
'sanitize' => 'bool',
|
||||
),
|
||||
@@ -1049,10 +1046,10 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
|
||||
'conditional' => array( 'use_um_gravatar_default_builtin_image', '=', 'default' ),
|
||||
),
|
||||
array(
|
||||
'id' => 'reset_require_strongpass',
|
||||
'id' => 'require_strongpass',
|
||||
'type' => 'checkbox',
|
||||
'label' => __( 'Require a strong password? (when user resets password only)', 'ultimate-member' ),
|
||||
'tooltip' => __( 'Enable or disable a strong password rules on password reset and change procedure', 'ultimate-member' ),
|
||||
'label' => __( 'Require a strong password?', 'ultimate-member' ),
|
||||
'tooltip' => __( 'Enable or disable a strong password rules common for all Ultimate Member forms. Note: Individual settings for the password-type field still have a higher priority.', 'ultimate-member' ),
|
||||
),
|
||||
array(
|
||||
'id' => 'password_min_chars',
|
||||
@@ -1165,12 +1162,6 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
|
||||
'label' => __( 'Password is required?', 'ultimate-member' ),
|
||||
'tooltip' => __( 'Password is required to save account data.', 'ultimate-member' ),
|
||||
),
|
||||
array(
|
||||
'id' => 'account_require_strongpass',
|
||||
'type' => 'checkbox',
|
||||
'label' => __( 'Require a strong password?', 'ultimate-member' ),
|
||||
'tooltip' => __( 'Enable or disable a strong password rules on account page / change password tab', 'ultimate-member' ),
|
||||
),
|
||||
array(
|
||||
'id' => 'account_hide_in_directory',
|
||||
'type' => 'checkbox',
|
||||
@@ -3172,7 +3163,7 @@ Enable Members Directory: <?php echo $this->info_value( UM()->options()->get('me
|
||||
Use Gravatars: <?php echo $this->info_value( UM()->options()->get('use_gravatars'), 'yesno', true ); ?>
|
||||
<?php if( UM()->options()->get('use_gravatars') ): ?>Gravatar builtin image: <?php echo UM()->options()->get('use_um_gravatar_default_builtin_image') . "\n"; ?>
|
||||
UM Avatar as blank Gravatar: <?php echo $this->info_value( UM()->options()->get('use_um_gravatar_default_image'), 'yesno', true ); ?><?php endif; ?>
|
||||
Require a strong password: <?php echo $this->info_value( UM()->options()->get('reset_require_strongpass'), 'onoff', true ); ?>
|
||||
Require a strong password: <?php echo $this->info_value( UM()->options()->get('require_strongpass'), 'onoff', true ); ?>
|
||||
|
||||
|
||||
--- UM Access Configuration ---
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
<?php if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
|
||||
|
||||
function um_upgrade_skype_id226() {
|
||||
UM()->admin()->check_ajax_nonce();
|
||||
|
||||
um_maybe_unset_time_limit();
|
||||
|
||||
$forms_query = new WP_Query;
|
||||
$forms = $forms_query->query( array(
|
||||
'post_type' => 'um_form',
|
||||
'posts_per_page' => -1,
|
||||
'fields' => 'ids'
|
||||
) );
|
||||
|
||||
$fields_for_upgrade = array();
|
||||
|
||||
foreach ( $forms as $form_id ) {
|
||||
$forms_fields = get_post_meta( $form_id, '_um_custom_fields', true );
|
||||
|
||||
$changed = false;
|
||||
foreach ( $forms_fields as $key => &$field ) {
|
||||
if ( isset( $field['validate'] ) && 'skype' === $field['validate'] ) {
|
||||
if ( isset( $field['type'] ) && 'url' === $field['type'] ) {
|
||||
$field['type'] = 'text';
|
||||
$changed = true;
|
||||
|
||||
$fields_for_upgrade[] = $field['metakey'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( $changed ) {
|
||||
update_post_meta( $form_id, '_um_custom_fields', $forms_fields );
|
||||
}
|
||||
}
|
||||
|
||||
$changed = false;
|
||||
$custom_fields = get_option( 'um_fields', array() );
|
||||
foreach ( $custom_fields as &$custom_field ) {
|
||||
if ( isset( $custom_field['validate'] ) && 'skype' === $custom_field['validate'] ) {
|
||||
if ( isset( $custom_field['type'] ) && 'url' === $custom_field['type'] ) {
|
||||
$custom_field['type'] = 'text';
|
||||
$changed = true;
|
||||
|
||||
$fields_for_upgrade[] = $custom_field['metakey'];
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( $changed ) {
|
||||
update_option( 'um_fields', $custom_fields );
|
||||
}
|
||||
|
||||
$fields_for_upgrade = array_unique( $fields_for_upgrade );
|
||||
|
||||
// avoid 'https://', 'http://' at the start of the Skype field is there is nickname but not https://join.skype.com/
|
||||
// change only links with nickname skip https://join.skype.com/
|
||||
if ( ! empty( $fields_for_upgrade ) ) {
|
||||
global $wpdb;
|
||||
$usermetas = $wpdb->get_results( "SELECT user_id, meta_key, meta_value FROM {$wpdb->usermeta} WHERE meta_key IN( '" . implode( "','", $fields_for_upgrade ) . "' )", ARRAY_A );
|
||||
if ( ! empty( $usermetas ) ) {
|
||||
foreach ( $usermetas as $usermeta ) {
|
||||
if ( false !== strstr( $usermeta['meta_value'], 'https://' ) || false !== strstr( $usermeta['meta_value'], 'http://' ) ) {
|
||||
if ( false === strstr( $usermeta['meta_value'], 'join.skype.com/' ) ) {
|
||||
$usermeta['meta_value'] = str_replace( array( 'https://', 'http://' ), '', $usermeta['meta_value'] );
|
||||
update_user_meta( $usermeta['user_id'], $usermeta['meta_key'], $usermeta['meta_value'] );
|
||||
|
||||
delete_option( "um_cache_userdata_{$usermeta['user_id']}" );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
update_option( 'um_last_version_upgrade', '2.2.6' );
|
||||
|
||||
if ( ! empty( $fields_for_upgrade ) ) {
|
||||
wp_send_json_success( array( 'message' => __( 'SkypeID fields have been updated successfully', 'ultimate-member' ) ) );
|
||||
} else {
|
||||
wp_send_json_success( array( 'message' => __( 'Database has been updated successfully', 'ultimate-member' ) ) );
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
<?php if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
|
||||
return array(
|
||||
'skype_id226' => 'skype_id226',
|
||||
);
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery( document ).ready( function() {
|
||||
um_add_upgrade_log( '<?php echo esc_js( __( 'Upgrade SkypeID fields...', 'ultimate-member' ) ) ?>' );
|
||||
|
||||
jQuery.ajax({
|
||||
url: wp.ajax.settings.url,
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
action: 'um_skype_id226',
|
||||
nonce: um_admin_scripts.nonce
|
||||
},
|
||||
success: function( response ) {
|
||||
if ( typeof response.data.message != 'undefined' ) {
|
||||
um_add_upgrade_log( response.data.message );
|
||||
//switch to the next package
|
||||
um_run_upgrade();
|
||||
} else {
|
||||
um_wrong_ajax();
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
um_something_wrong();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
+152
@@ -0,0 +1,152 @@
|
||||
<?php if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
|
||||
|
||||
function um_upgrade_skypeid_fields230() {
|
||||
UM()->admin()->check_ajax_nonce();
|
||||
|
||||
um_maybe_unset_time_limit();
|
||||
|
||||
$forms_query = new WP_Query;
|
||||
$forms = $forms_query->query( array(
|
||||
'post_type' => 'um_form',
|
||||
'posts_per_page' => -1,
|
||||
'fields' => 'ids'
|
||||
) );
|
||||
|
||||
$fields_for_upgrade = array();
|
||||
|
||||
foreach ( $forms as $form_id ) {
|
||||
$forms_fields = get_post_meta( $form_id, '_um_custom_fields', true );
|
||||
|
||||
$changed = false;
|
||||
foreach ( $forms_fields as $key => &$field ) {
|
||||
if ( isset( $field['validate'] ) && 'skype' === $field['validate'] ) {
|
||||
if ( isset( $field['type'] ) && 'url' === $field['type'] ) {
|
||||
$field['type'] = 'text';
|
||||
$changed = true;
|
||||
|
||||
$fields_for_upgrade[] = $field['metakey'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( $changed ) {
|
||||
update_post_meta( $form_id, '_um_custom_fields', $forms_fields );
|
||||
}
|
||||
}
|
||||
|
||||
$changed = false;
|
||||
$custom_fields = get_option( 'um_fields', array() );
|
||||
foreach ( $custom_fields as &$custom_field ) {
|
||||
if ( isset( $custom_field['validate'] ) && 'skype' === $custom_field['validate'] ) {
|
||||
if ( isset( $custom_field['type'] ) && 'url' === $custom_field['type'] ) {
|
||||
$custom_field['type'] = 'text';
|
||||
$changed = true;
|
||||
|
||||
$fields_for_upgrade[] = $custom_field['metakey'];
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( $changed ) {
|
||||
update_option( 'um_fields', $custom_fields );
|
||||
}
|
||||
|
||||
$fields_for_upgrade = array_unique( $fields_for_upgrade );
|
||||
|
||||
if ( ! empty( $fields_for_upgrade ) ) {
|
||||
update_option( 'um_upgrade_230_skype_fields_for_upgrade', $fields_for_upgrade );
|
||||
wp_send_json_success( array( 'message' => __( 'SkypeID fields have been updated successfully', 'ultimate-member' ), 'count' => count( $fields_for_upgrade ) ) );
|
||||
} else {
|
||||
wp_send_json_success( array( 'message' => __( 'Database has been updated successfully', 'ultimate-member' ), 'count' => 0 ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function um_upgrade_usermeta_count230() {
|
||||
UM()->admin()->check_ajax_nonce();
|
||||
|
||||
um_maybe_unset_time_limit();
|
||||
|
||||
$fields_for_upgrade = get_option( 'um_upgrade_230_skype_fields_for_upgrade', array() );
|
||||
|
||||
if ( ! empty( $fields_for_upgrade ) ) {
|
||||
global $wpdb;
|
||||
$count = $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->usermeta} WHERE meta_key IN( '" . implode( "','", $fields_for_upgrade ) . "' )" );
|
||||
} else {
|
||||
$count = 0;
|
||||
}
|
||||
|
||||
wp_send_json_success( array( 'count' => $count ) );
|
||||
}
|
||||
|
||||
|
||||
function um_upgrade_usermeta_part230() {
|
||||
UM()->admin()->check_ajax_nonce();
|
||||
|
||||
um_maybe_unset_time_limit();
|
||||
|
||||
if ( empty( $_POST['page'] ) ) {
|
||||
wp_send_json_error( __( 'Wrong data', 'ultimate-member' ) );
|
||||
}
|
||||
|
||||
$fields_for_upgrade = get_option( 'um_upgrade_230_skype_fields_for_upgrade', array() );
|
||||
if ( empty( $fields_for_upgrade ) ) {
|
||||
wp_send_json_success( array( 'message' => __( 'Database has been updated successfully', 'ultimate-member' ) ) );
|
||||
}
|
||||
|
||||
$per_page = 100;
|
||||
|
||||
// avoid 'https://', 'http://' at the start of the Skype field is there is nickname but not https://join.skype.com/
|
||||
// change only links with nickname skip https://join.skype.com/
|
||||
global $wpdb;
|
||||
$usermetas = $wpdb->get_results(
|
||||
$wpdb->prepare(
|
||||
"SELECT user_id,
|
||||
meta_key,
|
||||
meta_value
|
||||
FROM {$wpdb->usermeta}
|
||||
WHERE meta_key IN( '" . implode( "','", $fields_for_upgrade ) . "' )
|
||||
LIMIT %d, %d",
|
||||
( absint( $_POST['page'] ) - 1 ) * $per_page,
|
||||
$per_page
|
||||
),
|
||||
ARRAY_A
|
||||
);
|
||||
|
||||
if ( ! empty( $usermetas ) ) {
|
||||
foreach ( $usermetas as $usermeta ) {
|
||||
if ( false !== strstr( $usermeta['meta_value'], 'https://' ) || false !== strstr( $usermeta['meta_value'], 'http://' ) ) {
|
||||
if ( false === strstr( $usermeta['meta_value'], 'join.skype.com/' ) ) {
|
||||
$usermeta['meta_value'] = str_replace( array( 'https://', 'http://' ), '', $usermeta['meta_value'] );
|
||||
update_user_meta( $usermeta['user_id'], $usermeta['meta_key'], $usermeta['meta_value'] );
|
||||
|
||||
delete_option( "um_cache_userdata_{$usermeta['user_id']}" );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$from = ( absint( $_POST['page'] ) * $per_page ) - $per_page + 1;
|
||||
$to = absint( $_POST['page'] ) * $per_page;
|
||||
|
||||
wp_send_json_success( array( 'message' => sprintf( __( 'Metadata from %s to %s row were upgraded successfully...', 'ultimate-member' ), $from, $to ) ) );
|
||||
}
|
||||
|
||||
|
||||
function um_upgrade_reset_password230() {
|
||||
UM()->admin()->check_ajax_nonce();
|
||||
|
||||
um_maybe_unset_time_limit();
|
||||
|
||||
$require_strongpass = UM()->options()->get( 'account_require_strongpass' ) || UM()->options()->get( 'reset_require_strongpass' );
|
||||
|
||||
UM()->options()->update( 'require_strongpass', $require_strongpass );
|
||||
UM()->options()->remove( 'account_require_strongpass' );
|
||||
UM()->options()->remove( 'reset_require_strongpass' );
|
||||
|
||||
// delete temporarily option for fields upgrade
|
||||
delete_option( 'um_upgrade_230_skype_fields_for_upgrade' );
|
||||
update_option( 'um_last_version_upgrade', '2.3.0' );
|
||||
|
||||
wp_send_json_success( array( 'message' => __( 'Reset Password options have been updated successfully.', 'ultimate-member' ) ) );
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php if ( ! defined( 'ABSPATH' ) ) exit;
|
||||
|
||||
return array(
|
||||
'skypeid_fields230' => 'skypeid_fields230',
|
||||
'usermeta_count230' => 'usermeta_count230',
|
||||
'usermeta_part230' => 'usermeta_part230',
|
||||
'reset_password230' => 'reset_password230',
|
||||
);
|
||||
+133
@@ -0,0 +1,133 @@
|
||||
<?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery( document ).ready( function() {
|
||||
var metarows_pages;
|
||||
var current_page = 1;
|
||||
var metarows_per_page = 100;
|
||||
|
||||
um_add_upgrade_log( '<?php echo esc_js( __( 'Upgrade SkypeID fields in UM Forms and generally in predefined fields...', 'ultimate-member' ) ) ?>' );
|
||||
|
||||
jQuery.ajax({
|
||||
url: wp.ajax.settings.url,
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
action: 'um_skypeid_fields230',
|
||||
nonce: um_admin_scripts.nonce
|
||||
},
|
||||
success: function( response ) {
|
||||
if ( typeof response.data.message != 'undefined' ) {
|
||||
um_add_upgrade_log( response.data.message );
|
||||
|
||||
setTimeout( function () {
|
||||
if ( response.data.count > 0 ) {
|
||||
um_update_get_usermeta_count230();
|
||||
} else {
|
||||
um_reset_password230();
|
||||
}
|
||||
}, um_request_throttle );
|
||||
} else {
|
||||
um_wrong_ajax();
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
um_something_wrong();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function um_update_get_usermeta_count230() {
|
||||
um_add_upgrade_log( '<?php echo esc_js( __( 'Upgrade SkypeID fields metadata for users...', 'ultimate-member' ) ) ?>' );
|
||||
|
||||
jQuery.ajax({
|
||||
url: wp.ajax.settings.url,
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
action: 'um_usermeta_count230',
|
||||
nonce: um_admin_scripts.nonce
|
||||
},
|
||||
success: function( response ) {
|
||||
if ( typeof response.data.count != 'undefined' ) {
|
||||
um_add_upgrade_log( '<?php echo esc_js( __( 'There are ', 'ultimate-member' ) ) ?>' + response.data.count + '<?php echo esc_js( __( ' metadata rows...', 'ultimate-member' ) ) ?>' );
|
||||
um_add_upgrade_log( '<?php echo esc_js( __( 'Start metadata upgrading...', 'ultimate-member' ) ) ?>' );
|
||||
|
||||
metarows_pages = Math.ceil( response.data.count / metarows_per_page );
|
||||
|
||||
setTimeout( function () {
|
||||
um_update_usermeta_part230();
|
||||
}, um_request_throttle );
|
||||
} else {
|
||||
um_wrong_ajax();
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
um_something_wrong();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function um_update_usermeta_part230() {
|
||||
if ( current_page <= metarows_pages ) {
|
||||
jQuery.ajax({
|
||||
url: wp.ajax.settings.url,
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
action: 'um_usermeta_part230',
|
||||
page: current_page,
|
||||
nonce: um_admin_scripts.nonce
|
||||
},
|
||||
success: function( response ) {
|
||||
if ( typeof response.data != 'undefined' ) {
|
||||
um_add_upgrade_log( response.data.message );
|
||||
current_page++;
|
||||
setTimeout( function() {
|
||||
um_update_usermeta_part230();
|
||||
}, um_request_throttle );
|
||||
} else {
|
||||
um_wrong_ajax();
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
um_something_wrong();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
setTimeout( function () {
|
||||
um_reset_password230();
|
||||
}, um_request_throttle );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function um_reset_password230() {
|
||||
um_add_upgrade_log( '<?php echo esc_js( __( 'Upgrade the "Require strong password" options...', 'ultimate-member' ) ) ?>' );
|
||||
|
||||
jQuery.ajax({
|
||||
url: wp.ajax.settings.url,
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
action: 'um_reset_password230',
|
||||
nonce: um_admin_scripts.nonce
|
||||
},
|
||||
success: function( response ) {
|
||||
if ( typeof response.data.message != 'undefined' ) {
|
||||
um_add_upgrade_log( response.data.message );
|
||||
//switch to the next package
|
||||
um_run_upgrade();
|
||||
} else {
|
||||
um_wrong_ajax();
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
um_something_wrong();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@@ -522,7 +522,7 @@ if ( ! class_exists( 'um\Config' ) ) {
|
||||
'use_gravatars' => 0,
|
||||
'use_um_gravatar_default_builtin_image' => 'default',
|
||||
'use_um_gravatar_default_image' => 0,
|
||||
'reset_require_strongpass' => 0,
|
||||
'require_strongpass' => 0,
|
||||
'password_min_chars' => 8,
|
||||
'password_max_chars' => 30,
|
||||
'account_tab_password' => 1,
|
||||
@@ -538,7 +538,6 @@ if ( ! class_exists( 'um\Config' ) ) {
|
||||
'account_general_password' => 0,
|
||||
'account_hide_in_directory' => 1,
|
||||
'account_hide_in_directory_default' => 'No',
|
||||
'account_require_strongpass' => 0,
|
||||
'photo_thumb_sizes' => array( 40, 80, 190 ),
|
||||
'cover_thumb_sizes' => array( 300, 600 ),
|
||||
'accessible' => 0,
|
||||
|
||||
@@ -541,7 +541,7 @@ if ( ! class_exists( 'um\core\Password' ) ) {
|
||||
$args['confirm_user_password'] = sanitize_text_field( $args['confirm_user_password'] );
|
||||
}
|
||||
|
||||
if ( UM()->options()->get( 'reset_require_strongpass' ) ) {
|
||||
if ( UM()->options()->get( 'require_strongpass' ) ) {
|
||||
|
||||
$min_length = UM()->options()->get( 'password_min_chars' );
|
||||
$min_length = ! empty( $min_length ) ? $min_length : 8;
|
||||
|
||||
@@ -81,7 +81,7 @@ function um_submit_account_errors_hook( $args ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( UM()->options()->get( 'account_require_strongpass' ) ) {
|
||||
if ( UM()->options()->get( 'require_strongpass' ) ) {
|
||||
$min_length = UM()->options()->get( 'password_min_chars' );
|
||||
$min_length = ! empty( $min_length ) ? $min_length : 8;
|
||||
$max_length = UM()->options()->get( 'password_max_chars' );
|
||||
|
||||
+8
-3
@@ -7,7 +7,7 @@ Tags: community, member, membership, user-profile, user-registration
|
||||
Requires PHP: 5.6
|
||||
Requires at least: 5.0
|
||||
Tested up to: 5.8
|
||||
Stable tag: 2.2.5
|
||||
Stable tag: 2.3.0
|
||||
License: GNU Version 2 or Any Later Version
|
||||
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
|
||||
|
||||
@@ -155,13 +155,18 @@ The plugin works with popular caching plugins by automatically excluding Ultimat
|
||||
* To learn more about version 2.1 please see this [docs](https://docs.ultimatemember.com/article/1512-upgrade-2-1-0)
|
||||
* UM2.1+ is a significant update to the Member Directories' code base from 2.0.x. Please make sure you take a full-site backup with restore point before updating the plugin
|
||||
|
||||
= 2.2.6: December xx, 2021 =
|
||||
= 2.3.0: December xx, 2021 =
|
||||
|
||||
* Bugfixes:
|
||||
* Enhancements:
|
||||
|
||||
- Added: WhatsApp, Telegram, Discord, Viber messengers predefined fields.
|
||||
- Added: Callback for deleting the custom field data from member direcroty settings when this custom field has been deleted in Form Builder.
|
||||
- Added: 'um_account_active_tab_inited' JS hook.
|
||||
- Updated: Require a strong password option (`Ultimate Member > Settings > General > Users > Require a strong password?`) to make it common for all Ultimate Member forms. Renamed option key from `reset_require_strongpass` to `require_strongpass`.
|
||||
- Deprecated: `Ultimate Member > Settings > General > Account > Require a strong password?` option and merged with `Ultimate Member > Settings > General > Users > Require a strong password?` option.
|
||||
|
||||
* Bugfixes:
|
||||
|
||||
- Fixed: "Clear All" button for the filters with "&" symbol in the label.
|
||||
- Fixed: Uninstall process when delete UM data. Avoid the issue when 3rd-party pages that had been selected as UM page are removed on UM uninstall.
|
||||
- Fixed: Header meta for the Twitter Card. If the user has twitter field filled then <meta name="twitter:site"> will be filled by this value.
|
||||
|
||||
+1
-1
@@ -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: 2.2.6
|
||||
Version: 2.3.0
|
||||
Author: Ultimate Member
|
||||
Author URI: http://ultimatemember.com/
|
||||
Text Domain: ultimate-member
|
||||
|
||||
Reference in New Issue
Block a user