Skip to:
Content

BuddyPress.org

Ticket #2540: new_hooks_after_auto_group_join.patch

File new_hooks_after_auto_group_join.patch, 2.5 KB (added by boonebgorges, 16 years ago)
  • bp-groups.php

     
    364364                                check_admin_referer( 'bp_forums_new_reply' );
    365365
    366366                                /* Auto join this user if they are not yet a member of this group */
    367                                 if ( !is_site_admin() && 'public' == $bp->groups->current_group->status && !groups_is_user_member( $bp->loggedin_user->id, $bp->groups->current_group->id ) )
     367                                $is_auto_joined = false;
     368                                if ( !is_site_admin() && 'public' == $bp->groups->current_group->status && !groups_is_user_member( $bp->loggedin_user->id, $bp->groups->current_group->id ) ) {
    368369                                        groups_join_group( $bp->groups->current_group->id, $bp->loggedin_user->id );
     370                                        $is_auto_joined = true;
     371                                }
    369372
    370373                                if ( !$post_id = groups_new_group_forum_post( $_POST['reply_text'], $topic_id, $_GET['topic_page'] ) )
    371374                                        bp_core_add_message( __( 'There was an error when replying to that topic', 'buddypress'), 'error' );
    372375                                else
    373376                                        bp_core_add_message( __( 'Your reply was posted successfully', 'buddypress') );
    374377
     378                                do_action( 'bp_groups_after_forum_post', $bp->loggedin_user->id, $bp->groups->current_group->id, $is_auto_joined );
     379
    375380                                if ( $_SERVER['QUERY_STRING'] )
    376381                                        $query_vars = '?' . $_SERVER['QUERY_STRING'];
    377382
     
    542547                                check_admin_referer( 'bp_forums_new_topic' );
    543548
    544549                                /* Auto join this user if they are not yet a member of this group */
    545                                 if ( !is_site_admin() && 'public' == $bp->groups->current_group->status && !groups_is_user_member( $bp->loggedin_user->id, $bp->groups->current_group->id ) )
     550                                $is_auto_joined = false;
     551                                if ( !is_site_admin() && 'public' == $bp->groups->current_group->status && !groups_is_user_member( $bp->loggedin_user->id, $bp->groups->current_group->id ) ) {
    546552                                        groups_join_group( $bp->groups->current_group->id, $bp->loggedin_user->id );
     553                                        $is_auto_joined = true;
     554                                }
    547555
    548556                                if ( !$topic = groups_new_group_forum_topic( $_POST['topic_title'], $_POST['topic_text'], $_POST['topic_tags'], $forum_id ) )
    549557                                        bp_core_add_message( __( 'There was an error when creating the topic', 'buddypress'), 'error' );
    550558                                else
    551559                                        bp_core_add_message( __( 'The topic was created successfully', 'buddypress') );
    552560
     561                                do_action( 'bp_groups_after_forum_post', $bp->loggedin_user->id, $bp->groups->current_group->id, $is_auto_joined );
     562
    553563                                bp_core_redirect( bp_get_group_permalink( $bp->groups->current_group ) . 'forum/topic/' . $topic->topic_slug . '/' );
    554564                        }
    555565