mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
- added option for hide_in_members default setting;
This commit is contained in:
@@ -700,17 +700,29 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
|
||||
'tooltip' => __( 'Password is required to save account data.', 'ultimate-member' ),
|
||||
),
|
||||
array(
|
||||
'id' => 'account_hide_in_directory',
|
||||
'type' => 'checkbox',
|
||||
'label' => __( 'Allow users to hide their profiles from directory','ultimate-member' ),
|
||||
'tooltip' => __('Whether to allow users changing their profile visibility from member directory in account page.','ultimate-member'),
|
||||
'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_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'),
|
||||
)
|
||||
'id' => 'account_hide_in_directory',
|
||||
'type' => 'checkbox',
|
||||
'label' => __( 'Allow users to hide their profiles from directory', 'ultimate-member' ),
|
||||
'tooltip' => __( 'Whether to allow users changing their profile visibility from member directory in account page.', 'ultimate-member' ),
|
||||
),
|
||||
array(
|
||||
'id' => 'account_hide_in_directory_default',
|
||||
'type' => 'select',
|
||||
'label' => __( 'Hide profiles from directory by default', 'ultimate-member' ),
|
||||
'tooltip' => __( 'Set default value for the "Hide my profile from directory" option', 'ultimate-member' ),
|
||||
'options' => array(
|
||||
'No' => __( 'No', 'ultimate-member' ),
|
||||
'Yes' => __( 'Yes', 'ultimate-member' )
|
||||
),
|
||||
'size' => 'small',
|
||||
'conditional' => array( 'account_hide_in_directory', '=', '1' ),
|
||||
),
|
||||
)
|
||||
),
|
||||
'uploads' => array(
|
||||
@@ -1923,6 +1935,42 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) {
|
||||
|
||||
update_option( 'um_member_directory_truncated', time() );
|
||||
}
|
||||
} elseif ( isset( $_POST['um_options']['account_hide_in_directory_default'] ) ) {
|
||||
|
||||
global $wpdb;
|
||||
|
||||
if ( $_POST['um_options']['account_hide_in_directory_default'] == 'No' ) {
|
||||
|
||||
$results = $wpdb->get_col(
|
||||
"SELECT u.ID FROM {$wpdb->users} AS u
|
||||
LEFT JOIN {$wpdb->usermeta} AS um ON ( um.user_id = u.ID AND um.meta_key = 'hide_in_members' )
|
||||
LEFT JOIN {$wpdb->usermeta} AS um2 ON ( um2.user_id = u.ID AND um2.meta_key = 'um_member_directory_data' )
|
||||
WHERE um.meta_value IS NULL AND
|
||||
um2.meta_value LIKE '%s:15:\"hide_in_members\";b:1;%'"
|
||||
);
|
||||
|
||||
} else {
|
||||
|
||||
$results = $wpdb->get_col(
|
||||
"SELECT u.ID FROM {$wpdb->users} AS u
|
||||
LEFT JOIN {$wpdb->usermeta} AS um ON ( um.user_id = u.ID AND um.meta_key = 'hide_in_members' )
|
||||
LEFT JOIN {$wpdb->usermeta} AS um2 ON ( um2.user_id = u.ID AND um2.meta_key = 'um_member_directory_data' )
|
||||
WHERE um.meta_value IS NULL AND
|
||||
um2.meta_value LIKE '%s:15:\"hide_in_members\";b:0;%'"
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
if ( ! empty( $results ) ) {
|
||||
foreach ( $results as $user_id ) {
|
||||
$md_data = get_user_meta( $user_id, 'um_member_directory_data', true );
|
||||
if ( ! empty( $md_data ) ) {
|
||||
$md_data['hide_in_members'] = ( $_POST['um_options']['account_hide_in_directory_default'] == 'No' ) ? false : true;
|
||||
update_user_meta( $user_id, 'um_member_directory_data', $md_data );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ function um_upgrade_metadata_per_user213beta3() {
|
||||
$hide_in_members = UM()->member_directory()->get_hide_in_members_default();
|
||||
if ( ! empty( $metadatarow['meta_value'] ) ) {
|
||||
if ( $metadatarow['meta_value'] == 'Yes' || $metadatarow['meta_value'] == __( 'Yes', 'ultimate-member' ) ||
|
||||
$metadatarow['meta_value'] == serialize( array( 'Yes' ) ) || $metadatarow['meta_value'] == serialize( array( __( 'Yes', 'ultimate-member' ) ) ) ) {
|
||||
array_intersect( array( 'Yes', __( 'Yes', 'ultimate-member' ) ), $metadatarow['meta_value'] ) ) {
|
||||
$hide_in_members = true;
|
||||
} else {
|
||||
$hide_in_members = false;
|
||||
|
||||
@@ -532,6 +532,7 @@ if ( ! class_exists( 'um\Config' ) ) {
|
||||
'account_email' => 1,
|
||||
'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 ),
|
||||
|
||||
@@ -102,7 +102,13 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
* @return bool
|
||||
*/
|
||||
function get_hide_in_members_default() {
|
||||
$default = apply_filters( 'um_member_directory_hide_in_members_default', false );
|
||||
$default = false;
|
||||
$option = UM()->options()->get( 'account_hide_in_directory_default' );
|
||||
if ( $option == 'Yes' ) {
|
||||
$default = true;
|
||||
}
|
||||
|
||||
$default = apply_filters( 'um_member_directory_hide_in_members_default', $default );
|
||||
return $default;
|
||||
}
|
||||
|
||||
|
||||
@@ -210,7 +210,7 @@ if ( ! class_exists( 'um\core\User' ) ) {
|
||||
$hide_in_members = UM()->member_directory()->get_hide_in_members_default();
|
||||
if ( ! empty( $_meta_value ) ) {
|
||||
if ( $_meta_value == 'Yes' || $_meta_value == __( 'Yes', 'ultimate-member' ) ||
|
||||
$_meta_value == serialize( array( 'Yes' ) ) || $_meta_value == serialize( array( __( 'Yes', 'ultimate-member' ) ) ) ) {
|
||||
array_intersect( array( 'Yes', __( 'Yes', 'ultimate-member' ) ), $_meta_value ) ) {
|
||||
$hide_in_members = true;
|
||||
} else {
|
||||
$hide_in_members = false;
|
||||
|
||||
@@ -267,9 +267,18 @@ function um_submit_account_details( $args ) {
|
||||
$changes[ $k ] = $v;
|
||||
}
|
||||
|
||||
if ( isset( $changes['hide_in_members'] ) && ( $changes['hide_in_members'] == __( 'No', 'ultimate-member' ) || $changes['hide_in_members'] == 'No' ) ) {
|
||||
delete_user_meta( $user_id, 'hide_in_members' );
|
||||
unset( $changes['hide_in_members'] );
|
||||
if ( isset( $changes['hide_in_members'] ) ) {
|
||||
if ( UM()->member_directory()->get_hide_in_members_default() ) {
|
||||
if ( $changes['hide_in_members'] == __( 'Yes', 'ultimate-member' ) || $changes['hide_in_members'] == 'Yes' || array_intersect( array( 'Yes', __( 'Yes', 'ultimate-member' ) ), $changes['hide_in_members'] ) ) {
|
||||
delete_user_meta( $user_id, 'hide_in_members' );
|
||||
unset( $changes['hide_in_members'] );
|
||||
}
|
||||
} else {
|
||||
if ( $changes['hide_in_members'] == __( 'No', 'ultimate-member' ) || $changes['hide_in_members'] == 'No' || array_intersect( array( 'No', __( 'No', 'ultimate-member' ) ), $changes['hide_in_members'] ) ) {
|
||||
delete_user_meta( $user_id, 'hide_in_members' );
|
||||
unset( $changes['hide_in_members'] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user