Ticket #2641: 2641.patch
File 2641.patch, 5.3 KB (added by , 15 years ago) |
---|
-
bp-groups/bp-groups-classes.php
918 918 return $wpdb->get_col( $wpdb->prepare( "SELECT user_id FROM {$bp->groups->table_name_members} WHERE group_id = %d AND is_confirmed = 0 AND inviter_id = 0", $group_id ) ); 919 919 } 920 920 921 function get_all_for_group( $group_id, $limit = false, $page = false, $exclude_admins_mods = true, $exclude_banned = true ) {921 function get_all_for_group( $group_id, $limit = false, $page = false, $exclude_admins_mods = true, $exclude_banned = true, $exclude = false ) { 922 922 global $bp, $wpdb; 923 923 924 924 if ( $limit && $page ) 925 925 $pag_sql = $wpdb->prepare( "LIMIT %d, %d", intval( ( $page - 1 ) * $limit), intval( $limit ) ); 926 926 927 927 if ( $exclude_admins_mods ) 928 $exclude_ sql = $wpdb->prepare( "AND is_admin = 0 AND is_mod = 0" );928 $exclude_admins_sql = $wpdb->prepare( "AND is_admin = 0 AND is_mod = 0" ); 929 929 930 930 if ( $exclude_banned ) 931 931 $banned_sql = $wpdb->prepare( " AND is_banned = 0" ); 932 932 933 if ( $exclude ) 934 $exclude_sql = $wpdb->prepare( " AND m.user_id NOT IN ({$exclude})" ); 935 933 936 if ( bp_is_active( 'xprofile' ) ) 934 $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 ) );937 $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 ) ); 935 938 else 936 $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 ) );939 $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 ) ); 937 940 938 941 if ( !$members ) 939 942 return false; … … 941 944 if ( !isset($pag_sql) ) 942 945 $total_member_count = count($members); 943 946 else 944 $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 ) );947 $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 ) ); 945 948 946 949 /* Fetch whether or not the user is a friend */ 947 950 foreach ( (array)$members as $user ) $user_ids[] = $user->user_id; -
bp-groups/bp-groups-templatetags.php
1233 1233 var $pag_links; 1234 1234 var $total_group_count; 1235 1235 1236 function bp_groups_group_members_template( $group_id, $per_page, $max, $exclude_admins_mods, $exclude_banned ) {1236 function bp_groups_group_members_template( $group_id, $per_page, $max, $exclude_admins_mods, $exclude_banned, $exclude ) { 1237 1237 global $bp; 1238 1238 1239 1239 $this->pag_page = isset( $_REQUEST['mlpage'] ) ? intval( $_REQUEST['mlpage'] ) : 1; 1240 1240 $this->pag_num = isset( $_REQUEST['num'] ) ? intval( $_REQUEST['num'] ) : $per_page; 1241 1241 1242 $this->members = BP_Groups_Member::get_all_for_group( $group_id, $this->pag_num, $this->pag_page, $exclude_admins_mods, $exclude_banned );1242 $this->members = BP_Groups_Member::get_all_for_group( $group_id, $this->pag_num, $this->pag_page, $exclude_admins_mods, $exclude_banned, $exclude ); 1243 1243 1244 1244 if ( !$max || $max >= (int)$this->members['count'] ) 1245 1245 $this->total_member_count = (int)$this->members['count']; … … 1320 1320 'group_id' => $bp->groups->current_group->id, 1321 1321 'per_page' => 20, 1322 1322 'max' => false, 1323 'exclude' => false, 1323 1324 'exclude_admins_mods' => 1, 1324 1325 'exclude_banned' => 1 1325 1326 ); … … 1327 1328 $r = wp_parse_args( $args, $defaults ); 1328 1329 extract( $r, EXTR_SKIP ); 1329 1330 1330 $members_template = new BP_Groups_Group_Members_Template( $group_id, $per_page, $max, (int)$exclude_admins_mods, (int)$exclude_banned );1331 $members_template = new BP_Groups_Group_Members_Template( $group_id, $per_page, $max, (int)$exclude_admins_mods, (int)$exclude_banned, $exclude ); 1331 1332 return apply_filters( 'bp_group_has_members', $members_template->has_members(), &$members_template ); 1332 1333 } 1333 1334