Skip to:
Content

BuddyPress.org

Changeset 3372


Ignore:
Timestamp:
11/07/2010 11:25:07 AM (14 years ago)
Author:
boonebgorges
Message:

Adds exclude parameter for bp_group_has_members(). Fixes #2641

Location:
trunk/bp-groups
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-groups/bp-groups-classes.php

    r3371 r3372  
    998998    }
    999999
    1000     function get_all_for_group( $group_id, $limit = false, $page = false, $exclude_admins_mods = true, $exclude_banned = true ) {
     1000    function get_all_for_group( $group_id, $limit = false, $page = false, $exclude_admins_mods = true, $exclude_banned = true, $exclude = false ) {
    10011001        global $bp, $wpdb;
    10021002
     
    10051005
    10061006        if ( $exclude_admins_mods )
    1007             $exclude_sql = $wpdb->prepare( "AND is_admin = 0 AND is_mod = 0" );
     1007            $exclude_admins_sql = $wpdb->prepare( "AND is_admin = 0 AND is_mod = 0" );
    10081008
    10091009        if ( $exclude_banned )
    10101010            $banned_sql = $wpdb->prepare( " AND is_banned = 0" );
    10111011
     1012        if ( $exclude )
     1013            $exclude_sql = $wpdb->prepare( " AND m.user_id NOT IN ({$exclude})" );
     1014
    10121015        if ( bp_is_active( 'xprofile' ) )
    1013             $members = $wpdb->get_results( $wpdb->prepare( "SELECT m.user_id, m.date_modified, m.is_banned, u.user_login, u.user_nicename, u.user_email, pd.value as display_name FROM {$bp->groups->table_name_members} m, {$wpdb->users} u, {$bp->profile->table_name_data} pd WHERE u.ID = m.user_id AND u.ID = pd.user_id AND pd.field_id = 1 AND group_id = %d AND is_confirmed = 1 {$banned_sql} {$exclude_sql} ORDER BY m.date_modified DESC {$pag_sql}", $group_id ) );
     1016            $members = $wpdb->get_results( $wpdb->prepare( "SELECT m.user_id, m.date_modified, m.is_banned, u.user_login, u.user_nicename, u.user_email, pd.value as display_name FROM {$bp->groups->table_name_members} m, {$wpdb->users} u, {$bp->profile->table_name_data} pd WHERE u.ID = m.user_id AND u.ID = pd.user_id AND pd.field_id = 1 AND group_id = %d AND is_confirmed = 1 {$banned_sql} {$exclude_admins_sql} {$exclude_sql} ORDER BY m.date_modified DESC {$pag_sql}", $group_id ) );
    10141017        else
    1015             $members = $wpdb->get_results( $wpdb->prepare( "SELECT m.user_id, m.date_modified, m.is_banned, u.user_login, u.user_nicename, u.user_email, u.display_name FROM {$bp->groups->table_name_members} m, {$wpdb->users} u WHERE u.ID = m.user_id AND group_id = %d AND is_confirmed = 1 {$banned_sql} {$exclude_sql} ORDER BY m.date_modified DESC {$pag_sql}", $group_id ) );
     1018            $members = $wpdb->get_results( $wpdb->prepare( "SELECT m.user_id, m.date_modified, m.is_banned, u.user_login, u.user_nicename, u.user_email, u.display_name FROM {$bp->groups->table_name_members} m, {$wpdb->users} u WHERE u.ID = m.user_id AND group_id = %d AND is_confirmed = 1 {$banned_sql} {$exclude_admins_sql} {$exclude_sql} ORDER BY m.date_modified DESC {$pag_sql}", $group_id ) );
    10161019
    10171020        if ( !$members )
     
    10211024            $total_member_count = count($members);
    10221025        else
    1023             $total_member_count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(user_id) FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_confirmed = 1 {$banned_sql} {$exclude_sql}", $group_id ) );
     1026            $total_member_count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(user_id) FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_confirmed = 1 {$banned_sql} {$exclude_admins_sql} {$exclude_sql}", $group_id ) );
    10241027
    10251028        /* Fetch whether or not the user is a friend */
  • trunk/bp-groups/bp-groups-templatetags.php

    r3371 r3372  
    12811281    var $total_group_count;
    12821282
    1283     function bp_groups_group_members_template( $group_id, $per_page, $max, $exclude_admins_mods, $exclude_banned ) {
     1283    function bp_groups_group_members_template( $group_id, $per_page, $max, $exclude_admins_mods, $exclude_banned, $exclude ) {
    12841284        global $bp;
    12851285
     
    12871287        $this->pag_num = isset( $_REQUEST['num'] ) ? intval( $_REQUEST['num'] ) : $per_page;
    12881288
    1289         $this->members = BP_Groups_Member::get_all_for_group( $group_id, $this->pag_num, $this->pag_page, $exclude_admins_mods, $exclude_banned );
     1289        $this->members = BP_Groups_Member::get_all_for_group( $group_id, $this->pag_num, $this->pag_page, $exclude_admins_mods, $exclude_banned, $exclude );
    12901290
    12911291        if ( !$max || $max >= (int)$this->members['count'] )
     
    13681368        'per_page' => 20,
    13691369        'max' => false,
     1370        'exclude' => false,
    13701371        'exclude_admins_mods' => 1,
    13711372        'exclude_banned' => 1
     
    13751376    extract( $r, EXTR_SKIP );
    13761377
    1377     $members_template = new BP_Groups_Group_Members_Template( $group_id, $per_page, $max, (int)$exclude_admins_mods, (int)$exclude_banned );
     1378    $members_template = new BP_Groups_Group_Members_Template( $group_id, $per_page, $max, (int)$exclude_admins_mods, (int)$exclude_banned, $exclude );
    13781379    return apply_filters( 'bp_group_has_members', $members_template->has_members(), &$members_template );
    13791380}
Note: See TracChangeset for help on using the changeset viewer.