mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
- fixed WP Capabilities for Gravity Forms plugin;
- fixed ability to view other users profiles;
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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':
|
||||
|
||||
Reference in New Issue
Block a user