Skip to:
Content

BuddyPress.org

Changeset 862 for trunk/bp-groups.php


Ignore:
Timestamp:
01/17/2009 11:18:35 PM (16 years ago)
Author:
apeatling
Message:

Fixes #327 & #287

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-groups.php

    r854 r862  
    304304    global $bp;
    305305   
    306     if ( isset($bp['action_variables']) && in_array( 'accept', $bp['action_variables'] ) && is_numeric($bp['action_variables'][1]) ) {
    307         $member = new BP_Groups_Member( $bp['loggedin_userid'], $bp['action_variables'][1] );
    308         $member->accept_invite();
    309 
    310         if ( $member->save() ) {
     306    $group_id = $bp['action_variables'][1];
     307   
     308    if ( isset($bp['action_variables']) && in_array( 'accept', $bp['action_variables'] ) && is_numeric($group_id) ) {
     309       
     310        if ( !groups_accept_invite( $bp['loggedin_userid'], $group_id ) ) {
     311            bp_core_add_message( __('Group invite could not be accepted', 'buddypress'), 'error' );             
     312        } else {
    311313            bp_core_add_message( __('Group invite accepted', 'buddypress') );
    312         } else {
    313             bp_core_add_message( __('Group invite could not be accepted', 'buddypress'), 'error' );         
    314         }
     314           
     315            /* Record this in activity streams */
     316            groups_record_activity( array( 'item_id' => $group_id, 'component_name' => 'groups', 'component_action' => 'joined_group', 'is_private' => 0 ) );
     317        }
     318
    315319        bp_core_redirect( $bp['loggedin_domain'] . $bp['current_component'] . '/' . $bp['current_action'] );
    316320       
    317     } else if ( isset($bp['action_variables']) && in_array( 'reject', $bp['action_variables'] ) && is_numeric($bp['action_variables'][1]) ) {
    318         if ( BP_Groups_Member::delete( $bp['loggedin_userid'], $bp['action_variables'][1] ) ) {
    319             bp_core_add_message( __('Group invite rejected', 'buddypress') );
    320         } else {
    321             bp_core_add_message( __('Group invite could not be rejected', 'buddypress'), 'error' );         
    322         }
     321    } else if ( isset($bp['action_variables']) && in_array( 'reject', $bp['action_variables'] ) && is_numeric($group_id) ) {
     322       
     323        if ( !groups_reject_invite( $group_id, $bp['loggedin_userid'] ) ) {
     324            bp_core_add_message( __('Group invite could not be rejected', 'buddypress'), 'error' );                         
     325        } else {           
     326            bp_core_add_message( __('Group invite rejected', 'buddypress') );           
     327        }
     328
    323329        bp_core_redirect( $bp['loggedin_domain'] . $bp['current_component'] . '/' . $bp['current_action'] );
    324330    }
     
    835841    if ( function_exists('bp_activity_record') ) {
    836842        extract($args);
    837 
     843       
    838844        if ( $group_obj->status == 'public' )
    839845            bp_activity_record( $item_id, $component_name, $component_action, $is_private, $secondary_item_id, $user_id, $secondary_user_id );
     
    14241430    global $bp;
    14251431   
     1432    if ( groups_is_user_member( $user_id, $group_id ) )
     1433        return false;
     1434   
    14261435    $invite = new BP_Groups_Member;
    14271436    $invite->group_id = $group_id;
     
    14471456    do_action( 'groups_uninvite_user', $group_id, $user_id );
    14481457
     1458    return true;
     1459}
     1460
     1461function groups_accept_invite( $user_id, $group_id ) {
     1462    global $group_obj;
     1463   
     1464    if ( groups_is_user_member( $user_id, $group_id ) )
     1465        return false;
     1466   
     1467    $group_obj = new BP_Groups_Group( $group_id );
     1468   
     1469    $member = new BP_Groups_Member( $user_id, $group_id );
     1470    $member->accept_invite();
     1471
     1472    if ( !$member->save() )
     1473        return false;
     1474   
     1475    do_action( 'groups_accept_invite', $user_id, $group_id );
     1476    return true;
     1477}
     1478
     1479function groups_reject_invite( $user_id, $group_id ) {
     1480    if ( !BP_Groups_Member::delete( $user_id, $group_id ) )
     1481        return false;
     1482   
     1483    do_action( 'groups_reject_invite', $user_id, $group_id );
    14491484    return true;
    14501485}
     
    17221757    /* Modify group member count */
    17231758    groups_update_groupmeta( $membership->group_id, 'total_member_count', (int) groups_get_groupmeta( $membership->group_id, 'total_member_count') + 1 );
    1724 
    1725     // Send a notification to the user.
     1759   
     1760    /* Record this in activity streams */
     1761    groups_record_activity( array( 'item_id' => $membership->group_id, 'component_name' => 'groups', 'component_action' => 'joined_group', 'is_private' => 0 ) );
     1762
     1763    /* Send a notification to the user. */
    17261764    groups_notification_membership_request_completed( $membership->user_id, $membership->group_id, true );
    17271765   
Note: See TracChangeset for help on using the changeset viewer.