mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
* fixed running UM()->fields()->get_restricted_fields_for_edit() function in the fields loop;
This commit is contained in:
@@ -2110,7 +2110,6 @@ if ( ! class_exists( 'um\core\Fields' ) ) {
|
||||
return apply_filters( 'um_field_non_utf8_value', $option_value );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Getting the fields that need to be disabled in edit mode (profile)
|
||||
*
|
||||
|
||||
@@ -448,6 +448,11 @@ if ( ! class_exists( 'um\core\Form' ) ) {
|
||||
|
||||
$ignore_keys = array();
|
||||
|
||||
$arr_restricted_fields = array();
|
||||
if ( 'profile' === $this->form_data['mode'] ) {
|
||||
$arr_restricted_fields = UM()->fields()->get_restricted_fields_for_edit();
|
||||
}
|
||||
|
||||
$field_types_without_metakey = UM()->builtin()->get_fields_without_metakey();
|
||||
foreach ( $custom_fields as $cf_k => $cf_data ) {
|
||||
if ( ! array_key_exists( 'type', $cf_data ) || in_array( $cf_data['type'], $field_types_without_metakey, true ) ) {
|
||||
@@ -493,7 +498,7 @@ if ( ! class_exists( 'um\core\Form' ) ) {
|
||||
// Column names from wp_users table.
|
||||
$cf_metakeys = array_values( array_diff( $cf_metakeys, array( 'user_login' ) ) );
|
||||
// Hidden for edit fields
|
||||
$cf_metakeys = array_values( array_diff( $cf_metakeys, UM()->fields()->get_restricted_fields_for_edit() ) );
|
||||
$cf_metakeys = array_values( array_diff( $cf_metakeys, $arr_restricted_fields ) );
|
||||
|
||||
$cf_metakeys[] = 'profile_photo';
|
||||
$cf_metakeys[] = 'cover_photo';
|
||||
|
||||
@@ -417,13 +417,15 @@ function um_submit_form_errors_hook_( $submitted_data, $form_data ) {
|
||||
um_reset_user();
|
||||
}
|
||||
|
||||
$restricted_fields = array();
|
||||
if ( 'profile' === $mode ) {
|
||||
$restricted_fields = UM()->fields()->get_restricted_fields_for_edit();
|
||||
}
|
||||
|
||||
foreach ( $fields as $key => $array ) {
|
||||
|
||||
if ( 'profile' === $mode ) {
|
||||
$restricted_fields = UM()->fields()->get_restricted_fields_for_edit();
|
||||
if ( is_array( $restricted_fields ) && in_array( $key, $restricted_fields, true ) ) {
|
||||
continue;
|
||||
}
|
||||
if ( 'profile' === $mode && is_array( $restricted_fields ) && in_array( $key, $restricted_fields, true ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$can_view = true;
|
||||
|
||||
@@ -226,6 +226,8 @@ function um_user_edit_profile( $args, $form_data ) {
|
||||
|
||||
// loop through fields
|
||||
if ( ! empty( $fields ) ) {
|
||||
$arr_restricted_fields = UM()->fields()->get_restricted_fields_for_edit( $user_id );
|
||||
|
||||
foreach ( $fields as $key => $array ) {
|
||||
if ( ! isset( $array['type'] ) ) {
|
||||
continue;
|
||||
@@ -253,8 +255,7 @@ function um_user_edit_profile( $args, $form_data ) {
|
||||
}
|
||||
|
||||
// fields that need to be disabled in edit mode (profile) (email, username, etc.)
|
||||
$arr_restricted_fields = UM()->fields()->get_restricted_fields_for_edit( $user_id );
|
||||
if ( in_array( $key, $arr_restricted_fields, true ) ) {
|
||||
if ( is_array( $arr_restricted_fields ) && in_array( $key, $arr_restricted_fields, true ) ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user