Skip to:
Content

BuddyPress.org

Ticket #7476: 7476.b.02.patch

File 7476.b.02.patch, 1.5 KB (added by DJPaul, 6 years ago)
  • src/bp-groups/classes/class-bp-groups-member.php

    diff --git a/src/bp-groups/classes/class-bp-groups-member.php b/src/bp-groups/classes/class-bp-groups-member.php
    index ba493fc3c..da5f27017 100644
    a b class BP_Groups_Member { 
    13681368                foreach ( $group_ids['groups'] as $group_id ) {
    13691369                        groups_update_groupmeta( $group_id, 'total_member_count', groups_get_total_member_count( $group_id ) - 1 );
    13701370
    1371                         // If current user is the creator of a group and is the sole admin, delete that group to avoid counts going out-of-sync.
    1372                         if ( groups_is_user_admin( $user_id, $group_id ) && count( groups_get_group_admins( $group_id ) ) < 2 && groups_is_user_creator( $user_id, $group_id ) )
    1373                                 groups_delete_group( $group_id );
     1371                        // If the specified user is the the sole admin, assign a site administrator as the
     1372                        if ( groups_is_user_admin( $user_id, $group_id ) && count( groups_get_group_admins( $group_id ) ) < 2 ) {
     1373                                $admin = get_users( [
     1374                                        'blog_id' => bp_is_network_activated() ? bp_get_root_blog_id() : get_current_blog_id(),
     1375                                        'orderby' => 'ID',
     1376                                        'role'    => bp_is_network_activated() ? 'manage_network_options' : 'manage_options',
     1377                                        'number'  => 1,
     1378                                ] );
     1379
     1380                                if ( ! isset( $admin[0] ) ) {
     1381                                        return;
     1382                                }
     1383
     1384                                groups_join_group( $group_id, $admin[0]->ID );
     1385                                groups_promote_member( $admin[0]->ID, $group_id, 'admin' );
     1386                        }
    13741387                }
    13751388
    13761389                return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE user_id = %d", $user_id ) );