- fixed WP Capabilities for Gravity Forms plugin;

- fixed ability to view other users profiles;
This commit is contained in:
nikitozzzzzzz
2018-08-05 14:30:17 +03:00
parent 39291042b3
commit 16356d59a4
3 changed files with 38 additions and 11 deletions
@@ -62,8 +62,13 @@
}
}
//gravity forms compatibility filter
$all_caps = apply_filters( 'members_get_capabilities', array_keys( $all_caps ) );
$fields = array();
foreach ( array_keys( $all_caps ) as $cap ) {
foreach ( $all_caps as $cap ) {
if ( is_numeric( $cap ) ) {
continue;
}
$fields[ $cap ] = $cap;
}
+13
View File
@@ -280,6 +280,7 @@ if ( ! class_exists( 'UM' ) ) {
// include UM classes
$this->includes();
$this->plugins_loaded();
// include hook files
add_action( 'plugins_loaded', array( &$this, 'init' ), 0 );
@@ -300,6 +301,18 @@ if ( ! class_exists( 'UM' ) ) {
}
public function plugins_loaded() {
//gravity forms
if ( ! function_exists('members_get_capabilities' ) ) {
function members_get_capabilities() {
}
}
}
function old_update_patch() {
global $um_woocommerce, $um_bbpress, $um_followers, $um_friends, $um_mailchimp, $um_messaging, $um_mycred, $um_notices, $um_notifications, $um_online, $um_private_content, $um_profile_completeness, $um_recaptcha, $um_reviews, $um_activity, $um_social_login, $um_user_tags, $um_verified;
+19 -10
View File
@@ -590,16 +590,25 @@ if ( ! class_exists( 'um\core\Roles_Capabilities' ) ) {
switch( $cap ) {
case 'edit':
if ( get_current_user_id() == $user_id && um_user( 'can_edit_profile' ) )
$return = 1;
elseif ( get_current_user_id() == $user_id && ! um_user( 'can_edit_profile' ) )
$return = 0;
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;
if ( get_current_user_id() == $user_id ) {
if ( um_user( 'can_edit_profile' ) ) {
$return = 1;
} else {
$return = 0;
}
} else {
if ( ! um_user( 'can_edit_everyone' ) ) {
$return = 0;
} else {
if ( um_user( 'can_edit_roles' ) && ( empty( $current_user_roles ) || count( array_intersect( $current_user_roles, um_user( 'can_edit_roles' ) ) ) <= 0 ) ) {
$return = 0;
} else {
$return = 1;
}
}
}
break;
case 'delete':