Ticket #2647: 2647.diff
File 2647.diff, 2.6 KB (added by , 11 years ago) |
---|
-
src/includes/forums/functions.php
631 631 632 632 /** Forum Status ******************************************************/ 633 633 634 if ( ! empty( $_POST['bbp_forum_status'] ) && in_array( $_POST['bbp_forum_status'], array( 'open', 'closed' ) ) ) {635 if ( 'closed' === $_POST['bbp_forum_status'] && ! bbp_is_forum_closed( $forum_id, false ) ) {634 if ( ! empty( $_POST['bbp_forum_status'] ) && in_array( $_POST['bbp_forum_status'], array( 'open', 'closed' ) ) ) { 635 if ( 'closed' === $_POST['bbp_forum_status'] && ! bbp_is_forum_closed( $forum_id, false ) ) { 636 636 bbp_close_forum( $forum_id ); 637 } elseif ( 'open' === $_POST['bbp_forum_status'] && bbp_is_forum_open( $forum_id, false ) ) { 638 bbp_open_forum( $forum_id ); 637 639 } elseif ( 'open' === $_POST['bbp_forum_status'] && bbp_is_forum_closed( $forum_id, false ) ) { 638 640 bbp_open_forum( $forum_id ); 639 641 } … … 641 643 642 644 /** Forum Type ********************************************************/ 643 645 644 if ( ! empty( $_POST['bbp_forum_type'] ) && in_array( $_POST['bbp_forum_type'], array( 'forum', 'category' ) ) ) {645 if ( 'category' === $_POST['bbp_forum_type'] && ! bbp_is_forum_category( $forum_id ) ) {646 if ( ! empty( $_POST['bbp_forum_type'] ) && in_array( $_POST['bbp_forum_type'], array( 'forum', 'category' ) ) ) { 647 if ( 'category' === $_POST['bbp_forum_type'] && ! bbp_is_forum_category( $forum_id ) ) { 646 648 bbp_categorize_forum( $forum_id ); 649 } elseif ( 'forum' === $_POST['bbp_forum_type'] && ! bbp_is_forum_category( $forum_id ) ) { 650 bbp_normalize_forum( $forum_id ); 647 651 } elseif ( 'forum' === $_POST['bbp_forum_type'] && bbp_is_forum_category( $forum_id ) ) { 648 652 bbp_normalize_forum( $forum_id ); 649 653 } … … 949 953 // First, delete everything. 950 954 delete_option( '_bbp_private_forums' ); 951 955 delete_option( '_bbp_hidden_forums' ); 952 956 953 957 /** 954 958 * Don't search for both private/hidden statuses. Since 'pre_get_posts' is an 955 * action, it's not removed by suppress_filters. We need to make sure that 959 * action, it's not removed by suppress_filters. We need to make sure that 956 960 * we're only searching for the supplied post_status. 957 961 * 958 962 * @see https://bbpress.trac.wordpress.org/ticket/2512 … … 974 978 'post_status' => bbp_get_hidden_status_id(), 975 979 'fields' => 'ids' 976 980 ) ); 977 981 978 982 // Enable forum visibilty normalization 979 983 add_action( 'pre_get_posts', 'bbp_pre_get_posts_normalize_forum_visibility', 4 ); 980 984