Ticket #2222: prevent_duplicate_memberships.diff
| File prevent_duplicate_memberships.diff, 2.8 KB (added by , 16 years ago) |
|---|
-
bp-groups.php
136 136 bp_core_new_subnav_item( array( 'name' => sprintf( __( 'Members (%s)', 'buddypress' ), number_format( $bp->groups->current_group->total_member_count ) ), 'slug' => 'members', 'parent_url' => $group_link, 'parent_slug' => $bp->groups->slug, 'screen_function' => 'groups_screen_group_members', 'position' => 60, 'user_has_access' => $bp->groups->current_group->user_has_access, 'item_css_id' => 'members' ) ); 137 137 138 138 if ( is_user_logged_in() && groups_is_user_member( $bp->loggedin_user->id, $bp->groups->current_group->id ) ) { 139 if ( function_exists('friends_install') )139 if ( bp_is_active( 'friends' ) ) 140 140 bp_core_new_subnav_item( array( 'name' => __( 'Send Invites', 'buddypress' ), 'slug' => 'send-invites', 'parent_url' => $group_link, 'parent_slug' => $bp->groups->slug, 'screen_function' => 'groups_screen_group_invite', 'item_css_id' => 'invite', 'position' => 70, 'user_has_access' => $bp->groups->current_group->user_has_access ) ); 141 141 } 142 142 } … … 2065 2065 if ( !$member->save() ) 2066 2066 return false; 2067 2067 2068 BP_Groups_Member::delete_request( $user_id, $group_id ); 2069 2068 2070 /* Modify group meta */ 2069 2071 groups_update_groupmeta( $group_id, 'total_member_count', (int) groups_get_groupmeta( $group_id, 'total_member_count') + 1 ); 2070 2072 groups_update_groupmeta( $group_id, 'last_activity', gmdate( "Y-m-d H:i:s" ) ); … … 2240 2242 if ( !$membership->save() ) 2241 2243 return false; 2242 2244 2245 /* Check if the user has an outstanding invite, if so delete it. */ 2246 if ( groups_check_user_has_invite( $membership->user_id, $membership->group_id ) ) 2247 groups_delete_invite( $membership->user_id, $membership->group_id ); 2248 2243 2249 /* Modify group member count */ 2244 2250 groups_update_groupmeta( $membership->group_id, 'total_member_count', (int) groups_get_groupmeta( $membership->group_id, 'total_member_count') + 1 ); 2245 2251 -
bp-groups/bp-groups-classes.php
832 832 833 833 return $wpdb->query( $wpdb->prepare( "SELECT id FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_confirmed = 0 AND is_banned = 0 AND inviter_id = 0", $user_id, $group_id ) ); 834 834 } 835 836 function delete_request( $user_id, $group_id ) { 837 global $wpdb, $bp; 835 838 839 if ( !$user_id || !$group_id ) 840 return false; 841 842 return $wpdb->query( $wpdb->prepare( "DELETE FROM {$bp->groups->table_name_members} WHERE user_id = %d AND group_id = %d AND is_confirmed = 0 AND inviter_id = 0 AND invite_sent = 0", $user_id, $group_id ) ); 843 } 844 836 845 function get_random_groups( $user_id, $total_groups = 5 ) { 837 846 global $wpdb, $bp; 838 847
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)