diff --git a/admin/core/um-admin-metabox.php b/admin/core/um-admin-metabox.php index c4c2390c..26f1de05 100644 --- a/admin/core/um-admin-metabox.php +++ b/admin/core/um-admin-metabox.php @@ -277,6 +277,7 @@ class UM_Admin_Metabox { delete_post_meta( $post_id, '_um_tagline_fields' ); delete_post_meta( $post_id, '_um_reveal_fields' ); delete_post_meta( $post_id, '_um_search_fields' ); + delete_post_meta( $post_id, '_um_roles_can_search' ); foreach( $_POST as $k => $v ) { if (strstr($k, '_um_')){ update_post_meta( $post_id, $k, $v); diff --git a/admin/templates/directory/general.php b/admin/templates/directory/general.php index 4106a8fa..48cbb2dd 100644 --- a/admin/templates/directory/general.php +++ b/admin/templates/directory/general.php @@ -42,7 +42,6 @@
++ + + + + + +
+@@ -25,7 +38,7 @@ @@ -46,7 +59,7 @@ @@ -59,32 +72,6 @@
-- - - - - - -
- -- - - - - - -
-diff --git a/admin/templates/form/profile_settings.php b/admin/templates/form/profile_settings.php index 7dc2c492..feb32709 100644 --- a/admin/templates/form/profile_settings.php +++ b/admin/templates/form/profile_settings.php @@ -14,7 +14,7 @@ @@ -35,7 +35,7 @@ diff --git a/assets/css/um-members.css b/assets/css/um-members.css index 20a503c5..846e4047 100644 --- a/assets/css/um-members.css +++ b/assets/css/um-members.css @@ -53,8 +53,8 @@ } .um-search.um-search-1 { - padding-left: 34%; - padding-right: 34%; + padding-left: 32%; + padding-right: 32%; width: 100%; box-sizing: border-box; } diff --git a/assets/css/um-responsive.css b/assets/css/um-responsive.css index 7eac857a..b363201d 100644 --- a/assets/css/um-responsive.css +++ b/assets/css/um-responsive.css @@ -454,6 +454,32 @@ div.uimob800 .um-cover-overlay padding: 0; } +div.uimob800 .um-search { + padding: 20px 0 !important; + width: 100% !important; + box-sizing: border-box; +} + +div.uimob800 .um-search .um-search-filter { + width: 48% !important; + float: left !important; + padding: 0 0 15px 0 !important; +} + +div.uimob800 .um-search .um-search-filter-2 { + margin-left: 4%; +} + +div.uimob800 .um-search .um-search-submit .um-button { + display: block !important; + width: 48% !important; + margin: 0 0 15px 0 !important; + box-sizing: border-box; + float: left; +} + +div.uimob800 .um-search .um-search-submit .um-button.um-alt {float: right} + div.uimob800 .um-member {width: 48%} div.uimob800 .um-gutter-sizer {width: 4%} diff --git a/assets/dynamic_css/dynamic_directory.php b/assets/dynamic_css/dynamic_directory.php index 223989f7..baeecfd6 100644 --- a/assets/dynamic_css/dynamic_directory.php +++ b/assets/dynamic_css/dynamic_directory.php @@ -33,40 +33,5 @@ print ".um-$form_id .um-member-photo img { } -if ($css_stats_bg) { - -print ".um-$form_id .um-member-stats { - background: $css_stats_bg!important; -}"; - -} - -if ($css_stats_bordercolor) { - -print ".um-$form_id .um-member-stats { - border-color: $css_stats_bordercolor!important; -}"; -print ".um-$form_id .um-member-stat { - border-color: $css_stats_bordercolor!important; -}"; - -} - -if ($css_stats_num_color) { - -print ".um-$form_id .um-member-stat, .um-$form_id .um-member-stat a { - color: $css_stats_num_color!important; -}"; - -} - -if ($css_stats_lbl_color) { - -print ".um-$form_id .um-member-statname { - color: $css_stats_lbl_color!important; -}"; - -} - ?> \ No newline at end of file diff --git a/core/um-actions-members.php b/core/um-actions-members.php index b607692b..fd47bcdc 100644 --- a/core/um-actions-members.php +++ b/core/um-actions-members.php @@ -20,7 +20,11 @@ $search_filters = apply_filters('um_frontend_member_search_filters',$search_filters); if ( $args['search'] == 1 && is_array( $search_filters ) ) { // search on - + + if ( isset( $args['roles_can_search'] ) && !empty( $args['roles_can_search'] ) && !in_array( um_user('role'), $args['roles_can_search'] ) ){ + return; + } + $count = count( $search_filters ); ?> diff --git a/core/um-builtin.php b/core/um-builtin.php index ba232dc0..ecae406a 100644 --- a/core/um-builtin.php +++ b/core/um-builtin.php @@ -874,13 +874,19 @@ class UM_Builtin { /*** *** @predefined + custom fields ( Global, not form wide ) ***/ - function all_user_fields( $exclude_types = array() ) { + function all_user_fields( $exclude_types = null ) { global $ultimatemember; + $this->fields_dropdown = array('image','file','password','textarea','rating','block','shortcode','spacing','divider','group'); + $custom = $this->custom_fields; $predefined = $this->predefined_fields; + if ( $exclude_types ) { + $exclude_types = explode(',', $exclude_types); + } + $all = array( '' => '' ); if ( is_array( $custom ) ){ @@ -896,7 +902,7 @@ class UM_Builtin { if ( isset( $arr['account_only'] ) || isset( $arr['private_use'] ) ) { unset( $all[$k] ); } - if ( isset( $arr['type'] ) && in_array( $arr['type'], array('image','file','password') ) ) { + if ( isset( $arr['type'] ) && in_array( $arr['type'], $this->fields_dropdown ) ) { unset( $all[$k] ); } } diff --git a/core/um-fields.php b/core/um-fields.php index ff2e8bbf..2001dd3d 100644 --- a/core/um-fields.php +++ b/core/um-fields.php @@ -473,6 +473,17 @@ class UM_Fields { return ''; } + /*** + *** @Get Field Type + ***/ + function get_field_type( $key ) { + global $ultimatemember; + $fields = $ultimatemember->builtin->all_user_fields; + if ( isset( $fields[$key]['type'] ) ) + return $fields[$key]['type']; + return ''; + } + /*** *** @Get form fields ***/ diff --git a/core/um-filters-members.php b/core/um-filters-members.php index 1c5b5c30..1280ac55 100644 --- a/core/um-filters-members.php +++ b/core/um-filters-members.php @@ -21,7 +21,7 @@ 'value' => 'approved', 'compare' => '=' ); - + return $query_args; } @@ -38,12 +38,17 @@ foreach( $query as $field => $value ) { + $operator = '='; + if ( in_array( $ultimatemember->fields->get_field_type( $field ), array('checkbox','multiselect') ) ) { + $operator = 'LIKE'; + } + if ( $value && $field != 'um_search' ) { $query_args['meta_query'][] = array( 'key' => $field, 'value' => $value, - 'compare' => '=' + 'compare' => $operator, ); } @@ -85,8 +90,6 @@ // add roles to appear in directory if ( !empty( $roles ) ) { - $roles = unserialize( $roles ); - $query_args['meta_query'][] = array( 'key' => 'role', 'value' => $roles, diff --git a/core/um-members.php b/core/um-members.php index dd978e98..a64cb868 100644 --- a/core/um-members.php +++ b/core/um-members.php @@ -118,8 +118,8 @@ class UM_Members { $array['users'] = $users->results; - $array['total_users'] = $users->total_users; - + $array['total_users'] = (isset( $max_users ) && $max_users && $max_users <= $users->total_users ) ? $max_users : $users->total_users; + $array['page'] = get_query_var('members_page') ? get_query_var('members_page') : 1; $array['total_pages'] = ceil( $array['total_users'] / $profiles_per_page );