Skip to:
Content

BuddyPress.org

Ticket #7476: 7476.01.patch

File 7476.01.patch, 3.4 KB (added by r-a-y, 7 years ago)
  • src/bp-groups/bp-groups-admin.php

     
    13411341        }
    13421342}
    13431343add_action( bp_core_admin_hook(), 'bp_groups_admin_groups_type_change_notice' );
     1344
     1345/**
     1346 * Add a notice to the "Delete Users" page.
     1347 *
     1348 * If the pending deleted user has created some groups, add a warning prompt.
     1349 *
     1350 * @since 2.9.0
     1351 */
     1352function bp_groups_admin_add_delete_user_prompt() {
     1353        $groups = groups_get_groups( array(
     1354                'creator_id'  => (int) $_GET['user'],
     1355                'per_page'    => 1,
     1356                'show_hidden' => true
     1357        ) );
     1358
     1359        if ( ! empty( $groups['total'] ) ) {
     1360                printf( '<p>%s</p>', esc_html__( 'This user has created some BuddyPress groups. Deleting this user will also remove these groups. Are you sure you want to delete this user?', 'buddypress' ) );
     1361        }
     1362}
     1363add_action( 'delete_user_form', 'bp_groups_admin_add_delete_user_prompt' );
  • src/bp-groups/bp-groups-functions.php

     
    689689 * @since 1.2.0
    690690 * @since 2.6.0 Added `$group_type`, `$group_type__in`, and `$group_type__not_in` parameters.
    691691 * @since 2.7.0 Added `$update_admin_cache` and `$parent_id` parameters.
     692 * @since 2.9.0 Added `$creator_id` parameter.
    692693 *
    693694 * @param array|string $args {
    694695 *     Array of arguments. Supports all arguments of
     
    722723                'page'               => 1,              // The page to return if limiting per page.
    723724                'update_meta_cache'  => true,           // Pre-fetch groupmeta for queried groups.
    724725                'update_admin_cache' => false,
     726                'creator_id'         => null
    725727        );
    726728
    727729        $r = bp_parse_args( $args, $defaults, 'groups_get_groups' );
     
    747749                'update_admin_cache' => $r['update_admin_cache'],
    748750                'order'              => $r['order'],
    749751                'orderby'            => $r['orderby'],
     752                'creator_id'         => $r['creator_id']
    750753        ) );
    751754
    752755        /**
  • src/bp-groups/classes/class-bp-groups-group.php

     
    923923         *     @type array|string $status             Optional. Array or comma-separated list of group statuses to limit
    924924         *                                            results to. If specified, $show_hidden is ignored.
    925925         *                                            Default: empty array.
     926         *     @type array|string $creator_id         Optional. Array or comma-separated list of user IDs that created a group.
     927         *                                            Default: null.
    926928         * }
    927929         * @return array {
    928930         *     @type array $groups Array of group objects returned by the
     
    973975                        'update_admin_cache' => false,
    974976                        'exclude'            => false,
    975977                        'show_hidden'        => false,
    976                         'status'             => array()
     978                        'status'             => array(),
     979                        'creator_id'         => null
    977980                );
    978981
    979982                $r = wp_parse_args( $args, $defaults );
     
    10991102                        $where_conditions['exclude'] = "g.id NOT IN ({$exclude})";
    11001103                }
    11011104
     1105                if ( ! is_null( $r['creator_id'] ) ) {
     1106                        $creator_id = implode( ',', wp_parse_id_list( $r['creator_id'] ) );
     1107                        $where_conditions['creator_id'] = "g.creator_id IN ({$creator_id})";
     1108                }
     1109
    11021110                /* Order/orderby ********************************************/
    11031111
    11041112                $order   = $r['order'];