diff --git a/bp-groupblog.php b/bp-groupblog.php index 12363e3..1311e6d 100644 --- a/bp-groupblog.php +++ b/bp-groupblog.php @@ -450,11 +450,22 @@ function bp_groupblog_changed_status_group( $user_id, $group_id ) { * Called when user leaves. */ function bp_groupblog_remove_user( $group_id, $user_id = false ) { + // Only modify site membership if the plugin is configured to do so. + $settings = bp_groupblog_get_group_settings( $group_id ); + if ( ! $settings['groupblog_silent_add'] ) { + return; + } + $blog_id = get_groupblog_blog_id( $group_id ); if ( ! $user_id ) $user_id = bp_loggedin_user_id(); + // Users with no existing role should not be modified. + if ( ! is_user_member_of_blog( $user_id, $blog_id ) ) { + return; + } + $user = new WP_User( $user_id ); $user->for_blog( $blog_id ); $user->set_role( 'subscriber' );