diff --git src/includes/extend/buddypress/groups.php src/includes/extend/buddypress/groups.php
index 7940160..9aeee32 100644
|
|
class BBP_Forums_Group_Extension extends BP_Group_Extension { |
87 | 87 | // Remove group forum cap map when view is done |
88 | 88 | add_action( 'bbp_after_group_forum_display', array( $this, 'remove_group_forum_meta_cap_map' ) ); |
89 | 89 | |
| 90 | // When a group is updated, check to see whether group forum status should be changed as well. |
| 91 | add_action( 'groups_group_after_save', array( $this, 'mirror_group_forum_status' ) ); |
| 92 | |
90 | 93 | // bbPress needs to listen to BuddyPress group deletion. |
91 | 94 | add_action( 'groups_before_delete_group', array( $this, 'disconnect_forum_from_group' ) ); |
92 | 95 | |
… |
… |
class BBP_Forums_Group_Extension extends BP_Group_Extension { |
683 | 686 | } |
684 | 687 | |
685 | 688 | /** |
| 689 | * Set forums' status to match the privacy status of the associated group. |
| 690 | * |
| 691 | * Fired whenever a group is saved. |
| 692 | * |
| 693 | * @param BP_Groups_Group $group Group object. |
| 694 | */ |
| 695 | public static function mirror_group_forum_status( BP_Groups_Group $group ) { |
| 696 | $forum_ids = bbp_get_group_forum_ids( $group->id ); |
| 697 | |
| 698 | if ( empty( $forum_ids ) ) { |
| 699 | return; |
| 700 | } |
| 701 | |
| 702 | foreach ( $forum_ids as $forum_id ) { |
| 703 | $forum = bbp_get_forum( $forum_id ); |
| 704 | if ( $group->status !== $forum->post_status ) { |
| 705 | switch ( $group->status ) { |
| 706 | case 'hidden' : |
| 707 | bbp_hide_forum( $forum_id, $forum->post_status ); |
| 708 | break; |
| 709 | case 'private' : |
| 710 | bbp_privatize_forum( $forum_id, $forum->post_status ); |
| 711 | break; |
| 712 | case 'public' : |
| 713 | default : |
| 714 | bbp_publicize_forum( $forum_id, $forum->post_status ); |
| 715 | break; |
| 716 | } |
| 717 | } |
| 718 | } |
| 719 | } |
| 720 | |
| 721 | /** |
686 | 722 | * Toggle the enable_forum group setting on or off |
687 | 723 | * |
688 | 724 | * @since bbPress (r4612) |