From a5a601814d5e6e41c92eac019a793cefb6709536 Mon Sep 17 00:00:00 2001 From: Champ Camba Date: Fri, 27 Jan 2017 14:01:13 +0800 Subject: [PATCH] Fix profiles visibility and access permissions in member directories --- core/um-filters-members.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/core/um-filters-members.php b/core/um-filters-members.php index fb2c7ab7..9198b4d1 100644 --- a/core/um-filters-members.php +++ b/core/um-filters-members.php @@ -67,6 +67,28 @@ 'compare' => 'NOT LIKE' ) ); + } + + if( um_user_can('can_view_all') && um_user_can('can_view_roles') ){ + + $role = um_user('role'); + + $permissions = $ultimatemember->query->role_data( $role ); + + if ( isset( $permissions['can_view_roles'] ) && is_serialized( $permissions['can_view_roles'] ) ){ + $roles = unserialize( $permissions['can_view_roles'] ); + }else{ + $roles = $permissions['can_view_roles']; + } + + if( $roles && is_array( $roles ) ){ + $query_args['meta_query'][] = array( + 'key' => 'role', + 'value' => $roles, + 'compare' => 'IN' + ); + } + } return $query_args;