Ticket #2740: 2740.patch
| File 2740.patch, 3.3 KB (added by , 11 years ago) |
|---|
-
src/includes/core/actions.php
180 180 add_action( 'bbp_edit_forum_post_extras', 'bbp_save_forum_extras', 2 ); 181 181 add_action( 'bbp_forum_attributes_metabox_save', 'bbp_save_forum_extras', 2 ); 182 182 183 // Forum visibility save actions 184 add_action( 'bbp_register_post_statuses', 'bbp_register_default_forum_visibility_save_actions', 10 ); 185 186 No newline at end of file 183 187 // New/Edit Reply 184 188 add_action( 'bbp_new_reply', 'bbp_update_reply', 10, 7 ); 185 189 add_action( 'bbp_edit_reply', 'bbp_update_reply', 10, 7 ); -
src/includes/forums/functions.php
651 651 652 652 /** Forum Visibility **************************************************/ 653 653 654 if ( !empty( $_POST['bbp_forum_visibility'] ) && in_array( $_POST['bbp_forum_visibility'], array ( bbp_get_public_status_id(), bbp_get_private_status_id(), bbp_get_hidden_status_id() ) ) ) {654 if ( !empty( $_POST['bbp_forum_visibility'] ) && in_array( $_POST['bbp_forum_visibility'], array_keys( bbp_get_forum_visibilities() ) ) ) { 655 655 656 // Get forums currentvisibility657 $ visibility = bbp_get_forum_visibility( $forum_id);656 // Sanitize new visibility 657 $new_visibility = sanitize_key( $_POST['bbp_forum_visibility'] ); 658 658 659 // What is the new forum visibility setting? 660 switch ( $_POST['bbp_forum_visibility'] ) { 661 662 // Hidden 663 case bbp_get_hidden_status_id() : 664 bbp_hide_forum( $forum_id, $visibility ); 665 break; 666 667 // Private 668 case bbp_get_private_status_id() : 669 bbp_privatize_forum( $forum_id, $visibility ); 670 break; 671 672 // Publish (default) 673 case bbp_get_public_status_id() : 674 default : 675 bbp_publicize_forum( $forum_id, $visibility ); 676 break; 677 } 659 /** 660 * Handles forum visibility changes. 661 * 662 * Hook in here if you have a custom visibility. 663 * 664 * @since bbPress (r5586) 665 * @see bbp_get_forum_visibilities() 666 * @see bbp_register_default_forum_visibility_save_actions() 667 */ 668 do_action( "bbp_save_forum_visibility_{$new_visibility}", $forum_id, bbp_get_forum_visibility( $forum_id ) ); 678 669 } 679 670 } 680 671 681 /** Forum Actions *************************************************************/672 /** Forum Open/Close **********************************************************/ 682 673 683 674 /** 684 675 * Closes a forum … … 729 720 return $forum_id; 730 721 } 731 722 723 /** Forum Type ****************************************************************/ 724 732 725 /** 733 726 * Make the forum a category 734 727 * … … 773 766 return $forum_id; 774 767 } 775 768 769 /** Forum Visibility **********************************************************/ 770 776 771 /** 772 * Register default forum visibility save actions 773 * 774 * This helper function ensures public, private, and hidden forum visibilities 775 * are made available by default. 776 * 777 * @since bbPress (r5586) 778 */ 779 function bbp_register_default_forum_visibility_save_actions() { 780 781 // Public 782 add_action( 'bbp_save_forum_visibility_' . bbp_get_public_status_id(), 'bbp_publicize_forum', 10, 2 ); 783 784 // Private 785 add_action( 'bbp_save_forum_visibility_' . bbp_get_private_status_id(), 'bbp_privatize_forum', 10, 2 ); 786 787 // Hidden 788 add_action( 'bbp_save_forum_visibility_' . bbp_get_hidden_status_id(), 'bbp_hide_forum', 10, 2 ); 789 } 790 791 /** 777 792 * Mark the forum as public 778 793 * 779 794 * @since bbPress (r2746)