- fixed roles capabilities for edit and delete users (Profile Page actions);

This commit is contained in:
nikitozzzzzzz
2018-06-03 17:45:21 +03:00
parent 23f693b93a
commit 011b6d6013
6 changed files with 187 additions and 159 deletions
+7 -3
View File
@@ -571,21 +571,25 @@ if ( ! class_exists( 'um\core\Roles_Capabilities' ) ) {
* @return bool|int
*/
function um_current_user_can( $cap, $user_id ) {
if ( ! is_user_logged_in() )
if ( ! is_user_logged_in() ) {
return false;
}
$return = 1;
um_fetch_user( get_current_user_id() );
$current_user_roles = UM()->roles()->get_all_user_roles( $user_id );
switch( $cap ) {
case 'edit':
if ( get_current_user_id() == $user_id && um_user( 'can_edit_profile' ) )
$return = 1;
elseif ( ! um_user( 'can_edit_everyone' ) )
elseif ( get_current_user_id() == $user_id && ! um_user( 'can_edit_profile' ) )
$return = 0;
elseif ( get_current_user_id() == $user_id && ! um_user( 'can_edit_profile') )
elseif ( um_user( 'can_edit_everyone' ) )
$return = 1;
elseif ( ! um_user( 'can_edit_everyone' ) )
$return = 0;
elseif ( um_user( 'can_edit_roles' ) && ( empty( $current_user_roles ) || count( array_intersect( $current_user_roles, um_user( 'can_edit_roles' ) ) ) <= 0 ) )
$return = 0;