Changeset 7624 for trunk/bp-groups/bp-groups-functions.php
- Timestamp:
- 11/30/2013 06:14:08 AM (13 years ago)
- File:
-
- 1 edited
-
trunk/bp-groups/bp-groups-functions.php (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-groups/bp-groups-functions.php
r7588 r7624 201 201 */ 202 202 function groups_delete_group( $group_id ) { 203 global $bp;204 203 205 204 do_action( 'groups_before_delete_group', $group_id ); … … 207 206 // Get the group object 208 207 $group = groups_get_group( array( 'group_id' => $group_id ) ); 209 if ( !$group->delete() ) 210 return false; 211 212 // Delete all group activity from activity streams 213 if ( bp_is_active( 'activity' ) ) 214 bp_activity_delete_by_item_id( array( 'item_id' => $group_id, 'component' => $bp->groups->id ) ); 208 209 // Bail if group cannot be deleted 210 if ( ! $group->delete() ) { 211 return false; 212 } 215 213 216 214 // Remove all outstanding invites for this group 217 215 groups_delete_all_group_invites( $group_id ); 218 216 219 // Remove all notifications for any user belonging to this group 220 bp_core_delete_all_notifications_by_type( $group_id, $bp->groups->id ); 221 222 do_action( 'groups_delete_group', $group_id); 217 do_action( 'groups_delete_group', $group_id ); 223 218 224 219 return true; … … 289 284 } 290 285 291 $membership = new BP_Groups_Member( $user_id, $group_id );292 293 286 // This is exactly the same as deleting an invite, just is_confirmed = 1 NOT 0. 294 if ( !groups_uninvite_user( $user_id, $group_id ) ) 295 return false; 296 297 /** 298 * If the user joined this group less than five minutes ago, remove the 299 * joined_group activity so users cannot flood the activity stream by 300 * joining/leaving the group in quick succession. 301 */ 302 if ( bp_is_active( 'activity' ) && time() <= strtotime( '+5 minutes', (int)strtotime( $membership->date_modified ) ) ) 303 bp_activity_delete( array( 'component' => $bp->groups->id, 'type' => 'joined_group', 'user_id' => $user_id, 'item_id' => $group_id ) ); 287 if ( !groups_uninvite_user( $user_id, $group_id ) ) { 288 return false; 289 } 304 290 305 291 bp_core_add_message( __( 'You successfully left the group.', 'buddypress' ) ); … … 697 683 // slip through), delete all existing invitations/requests and return true 698 684 if ( groups_is_user_member( $user_id, $group_id ) ) { 699 if ( groups_check_user_has_invite( $user_id, $group_id ) ) 685 if ( groups_check_user_has_invite( $user_id, $group_id ) ) { 700 686 groups_delete_invite( $user_id, $group_id ); 701 702 if ( groups_check_for_membership_request( $user_id, $group_id ) ) 687 } 688 689 if ( groups_check_for_membership_request( $user_id, $group_id ) ) { 703 690 groups_delete_membership_request( $user_id, $group_id ); 691 } 704 692 705 693 return true; … … 709 697 $member->accept_invite(); 710 698 711 if ( !$member->save() ) 712 return false; 699 if ( !$member->save() ) { 700 return false; 701 } 713 702 714 703 // Remove request to join 715 if ( $member->check_for_membership_request( $user_id, $group_id ) ) 704 if ( $member->check_for_membership_request( $user_id, $group_id ) ) { 716 705 $member->delete_request( $user_id, $group_id ); 706 } 717 707 718 708 // Modify group meta 719 709 groups_update_groupmeta( $group_id, 'last_activity', bp_core_current_time() ); 720 710 721 bp_core_mark_notifications_by_item_id( $user_id, $group_id, buddypress()->groups->id, 'group_invite' );722 723 711 do_action( 'groups_accept_invite', $user_id, $group_id ); 712 724 713 return true; 725 714 } 726 715 727 716 function groups_reject_invite( $user_id, $group_id ) { 728 if ( ! BP_Groups_Member::delete( $user_id, $group_id ) )717 if ( ! BP_Groups_Member::delete( $user_id, $group_id ) ) 729 718 return false; 730 719 … … 735 724 736 725 function groups_delete_invite( $user_id, $group_id ) { 737 738 $delete = BP_Groups_Member::delete_invite( $user_id, $group_id ); 739 740 if ( !empty( $delete ) ) { 741 bp_core_mark_notifications_by_item_id( $user_id, $group_id, buddypress()->groups->id, 'group_invite' ); 742 } 743 744 return $delete; 726 if ( ! BP_Groups_Member::delete_invite( $user_id, $group_id ) ) 727 return false; 728 729 do_action( 'groups_delete_invite', $user_id, $group_id ); 730 731 return true; 745 732 } 746 733 … … 906 893 function groups_accept_membership_request( $membership_id, $user_id = 0, $group_id = 0 ) { 907 894 908 if ( !empty( $user_id ) && !empty( $group_id ) ) 895 if ( !empty( $user_id ) && !empty( $group_id ) ) { 909 896 $membership = new BP_Groups_Member( $user_id, $group_id ); 910 else897 } else { 911 898 $membership = new BP_Groups_Member( false, false, $membership_id ); 899 } 912 900 913 901 $membership->accept_request(); 914 902 915 if ( !$membership->save() ) 916 return false; 903 if ( !$membership->save() ) { 904 return false; 905 } 917 906 918 907 // Check if the user has an outstanding invite, if so delete it. 919 if ( groups_check_user_has_invite( $membership->user_id, $membership->group_id ) ) 908 if ( groups_check_user_has_invite( $membership->user_id, $membership->group_id ) ) { 920 909 groups_delete_invite( $membership->user_id, $membership->group_id ); 921 922 // Record this in activity streams 923 $group = groups_get_group( array( 'group_id' => $membership->group_id ) ); 924 925 groups_record_activity( array( 926 'action' => apply_filters_ref_array( 'groups_activity_membership_accepted_action', array( sprintf( __( '%1$s joined the group %2$s', 'buddypress'), bp_core_get_userlink( $membership->user_id ), '<a href="' . bp_get_group_permalink( $group ) . '">' . esc_attr( $group->name ) . '</a>' ), $membership->user_id, &$group ) ), 927 'type' => 'joined_group', 928 'item_id' => $membership->group_id, 929 'user_id' => $membership->user_id 930 ) ); 931 932 // Send a notification to the user. 933 groups_notification_membership_request_completed( $membership->user_id, $membership->group_id, true ); 934 935 do_action( 'groups_membership_accepted', $membership->user_id, $membership->group_id ); 910 } 911 912 do_action( 'groups_membership_accepted', $membership->user_id, $membership->group_id, true ); 936 913 937 914 return true; … … 939 916 940 917 function groups_reject_membership_request( $membership_id, $user_id = 0, $group_id = 0 ) { 941 if ( !$membership = groups_delete_membership_request( $membership_id, $user_id, $group_id ) ) 942 return false; 943 944 // Send a notification to the user. 945 groups_notification_membership_request_completed( $membership->user_id, $membership->group_id, false ); 946 947 do_action( 'groups_membership_rejected', $membership->user_id, $membership->group_id ); 918 if ( !$membership = groups_delete_membership_request( $membership_id, $user_id, $group_id ) ) { 919 return false; 920 } 921 922 do_action( 'groups_membership_rejected', $membership->user_id, $membership->group_id, false ); 948 923 949 924 return true; … … 1075 1050 1076 1051 function groups_remove_data_for_user( $user_id ) { 1077 global $bp;1078 1079 1052 BP_Groups_Member::delete_all_for_user( $user_id ); 1080 1081 bp_core_delete_notifications_from_user( $user_id, $bp->groups->id, 'new_membership_request' );1082 1053 1083 1054 do_action( 'groups_remove_data_for_user', $user_id );
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)