From c8a847f2d30f902e48acfdc99bf8a08ae1f2271a Mon Sep 17 00:00:00 2001 From: nikitasinelnikov Date: Wed, 29 Jan 2020 15:53:39 +0200 Subject: [PATCH] - fixed issue with not editable fields and their visibility; --- includes/core/class-fields.php | 12 ++++++++---- includes/core/class-member-directory-meta.php | 4 +++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/includes/core/class-fields.php b/includes/core/class-fields.php index aced009a..c1bdd96d 100644 --- a/includes/core/class-fields.php +++ b/includes/core/class-fields.php @@ -1936,10 +1936,6 @@ if ( ! class_exists( 'um\core\Fields' ) ) { return ''; } - if ( ! um_can_edit_field( $data ) ) { - return ''; - } - um_fetch_user( $_um_profile_id ); // Stop return empty values build field attributes: @@ -1960,6 +1956,14 @@ if ( ! class_exists( 'um\core\Fields' ) ) { } } + if ( ! empty( $this->editing ) && $this->set_mode == 'profile' ) { + if ( ! UM()->roles()->um_user_can( 'can_edit_everyone' ) ) { + if ( isset( $data['editable'] ) && $data['editable'] == 0 ) { + $disabled = ' disabled="disabled" '; + } + } + } + $disabled = apply_filters( 'um_is_field_disabled', $disabled, $data ); if ( ! isset( $data['autocomplete'] ) ) { diff --git a/includes/core/class-member-directory-meta.php b/includes/core/class-member-directory-meta.php index 4bbb0b06..1a8c16d5 100644 --- a/includes/core/class-member-directory-meta.php +++ b/includes/core/class-member-directory-meta.php @@ -537,7 +537,9 @@ if ( ! class_exists( 'um\core\Member_Directory_Meta' ) ) { $additional_search = apply_filters( 'um_member_directory_meta_general_search_meta_query', '', stripslashes( $_POST['search'] ) ); - $this->where_clauses[] = $wpdb->prepare( "( umm_search.um_value = %s OR umm_search.um_value LIKE %s OR umm_search.um_value LIKE %s OR {$core_search}{$additional_search})", $search_line, '%' . $search_line . '%', '%' . serialize( strval( $search_line ) ) . '%' ); + $search_like_string = apply_filters( 'um_member_directory_meta_search_like_type', '%' . $search_line . '%', $search_line ); + + $this->where_clauses[] = $wpdb->prepare( "( umm_search.um_value = %s OR umm_search.um_value LIKE %s OR umm_search.um_value LIKE %s OR {$core_search}{$additional_search})", $search_line, $search_like_string, '%' . serialize( strval( $search_line ) ) . '%' ); $this->is_search = true; }