Ticket #2599: 2599.diff
File 2599.diff, 3.2 KB (added by , 10 years ago) |
---|
-
src/includes/extend/buddypress/groups.php
98 98 99 99 // Adds a hidden input value to the "Group Settings" page 100 100 add_action( 'bp_before_group_settings_admin', array( $this, 'group_settings_hidden_field' ) ); 101 102 // Add a inline script to change forum visibility 103 add_action( 'bp_groups_admin_edit', array( $this, 'groups_admin_edit') ); 101 104 } 102 105 103 106 /** … … 269 272 // Get the first forum ID 270 273 if ( !empty( $forum_ids ) ) { 271 274 $forum_id = (int) is_array( $forum_ids ) ? $forum_ids[0] : $forum_ids; 275 276 $forum_visibility = bbp_get_forum_visibility( $forum_id ); 272 277 } 273 278 274 279 // Should box be checked already? … … 300 305 ?> 301 306 <p class="description"><?php esc_html_e( 'Network administrators can reconfigure which forum belongs to this group.', 'bbpress' ); ?></p> 302 307 </div> 308 309 <div class="field-group"> 310 <div class="checkbox"> 311 <label><?php esc_html_e( 'Forum Visibility:', 'bbpress' ); ?></label> 312 <?php bbp_form_forum_visibility_dropdown( array( 'selected' => $forum_visibility ) ); ?> 313 </div> 314 </div> 303 315 <?php endif; ?> 304 316 305 317 <?php if ( !is_admin() ) : ?> … … 370 382 if ( empty( $forum ) ) { 371 383 $this->remove_forum( array( 'forum_id' => $forum_id ) ); 372 384 unset( $forum_ids[$forum_id] ); 385 } else { 386 /** Forum Visibility **************************************************/ 387 388 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() ) ) ) { 389 390 // Get forums current visibility 391 $visibility = bbp_get_forum_visibility( $forum_id ); 392 393 // What is the new forum visibility setting? 394 switch ( $_POST['bbp_forum_visibility'] ) { 395 396 // Hidden 397 case bbp_get_hidden_status_id() : 398 bbp_hide_forum( $forum_id, $visibility ); 399 break; 400 401 // Private 402 case bbp_get_private_status_id() : 403 bbp_privatize_forum( $forum_id, $visibility ); 404 break; 405 406 // Publish (default) 407 case bbp_get_public_status_id() : 408 default : 409 bbp_publicize_forum( $forum_id, $visibility ); 410 break; 411 } 412 } 373 413 } 374 414 } 375 415 … … 1152 1192 <?php 1153 1193 } 1154 1194 1195 /** 1196 * Inline js for set forum visibility according to group privacy 1197 */ 1198 public function groups_admin_edit() { ?> 1199 <script type="text/javascript"> 1200 (function($) { 1201 var bbpGroupsForums = { 1202 1203 init: function() { 1204 $(document).on( 'change', 'input[name="group-status"]', bbpGroupsForums.setVisibility); 1205 }, 1206 1207 setVisibility: function() { 1208 var group_visibility = $(this).val(); 1209 1210 if( 'public' === group_visibility ) 1211 group_visibility = 'publish'; 1212 1213 $('select[name="bbp_forum_visibility"]').val( group_visibility ); 1214 } 1215 } 1216 $(document).ready( function () { 1217 bbpGroupsForums.init(); 1218 }); 1219 })(jQuery); 1220 </script> 1221 <?php } 1222 1155 1223 /** Permalink Mappers *****************************************************/ 1156 1224 1157 1225 /**