Changeset 7442 for trunk/bp-groups/bp-groups-classes.php
- Timestamp:
- 10/17/2013 07:00:46 PM (12 years ago)
- File:
-
- 1 edited
-
trunk/bp-groups/bp-groups-classes.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-groups/bp-groups-classes.php
r7441 r7442 32 32 */ 33 33 public $is_member; 34 35 /** 36 * Does the current user have an outstanding invitation to this group? 37 * 38 * @since BuddyPress (1.9.0) 39 * @var bool 40 */ 41 public $is_invited; 42 43 /** 44 * Does the current user have a pending membership request to this group? 45 * 46 * @since BuddyPress (1.9.0) 47 * @var bool 48 */ 49 public $is_pending; 34 50 35 51 /** … … 73 89 $this->total_member_count = groups_get_groupmeta( $this->id, 'total_member_count' ); 74 90 $this->is_member = BP_Groups_Member::check_is_member( bp_loggedin_user_id(), $this->id ); 91 $this->is_invited = BP_Groups_Member::check_has_invite( bp_loggedin_user_id(), $this->id ); 92 $this->is_pending = BP_Groups_Member::check_for_membership_request( bp_loggedin_user_id(), $this->id ); 75 93 76 94 // If this is a private or hidden group, does the current user have access? … … 828 846 $group_ids = implode( ',', wp_parse_id_list( $group_ids ) ); 829 847 830 // Fetch the logged in users status within each group 831 $user_status = $wpdb->get_col( $wpdb->prepare( "SELECT group_id FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id IN ( {$group_ids} ) AND is_confirmed = 1 AND is_banned = 0", bp_loggedin_user_id() ) ); 848 // Fetch the logged-in user's status within each group 849 $user_status = $wpdb->get_results( $wpdb->prepare( "SELECT group_id, is_confirmed, invite_sent FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id IN ( {$group_ids} ) AND is_banned = 0", bp_loggedin_user_id() ) ); 850 832 851 for ( $i = 0, $count = count( $paged_groups ); $i < $count; ++$i ) { 833 852 $paged_groups[$i]->is_member = false; 834 853 835 foreach ( (array) $user_status as $group_id ) { 836 if ( $group_id == $paged_groups[$i]->id ) { 837 $paged_groups[$i]->is_member = true; 854 foreach ( (array) $user_status as $group ) { 855 $is_member = $is_invited = $is_pending = false; 856 if ( $group->group_id == $paged_groups[ $i ]->id ) { 857 // is_confirmed means the user is a member 858 if ( $group->is_confirmed ) { 859 $is_member = true; 860 861 // invite_sent means the user has been invited 862 } else if ( $group->invite_sent ) { 863 $is_invited = true; 864 865 // User has sent request, but has not been confirmed 866 } else { 867 $is_pending = true; 868 } 838 869 } 870 871 $paged_groups[ $i ]->is_member = $is_member; 872 $paged_groups[ $i ]->is_invited = $is_invited; 873 $paged_groups[ $i ]->is_pending = $is_pending; 839 874 } 840 875 }
Note: See TracChangeset
for help on using the changeset viewer.