Changeset 6485
- Timestamp:
- 06/04/2017 09:49:50 PM (8 years ago)
- Location:
- trunk/src/includes
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/includes/admin/settings.php
r6475 r6485 55 55 ), 56 56 'bbp_settings_single_slugs' => array( 57 'title' => esc_html__( ' Single ForumSlugs', 'bbpress' ),57 'title' => esc_html__( 'Forum Single Slugs', 'bbpress' ), 58 58 'callback' => 'bbp_admin_setting_callback_single_slug_section', 59 59 'page' => 'permalink', … … 65 65 ), 66 66 'bbp_settings_buddypress' => array( 67 'title' => esc_html__( ' BuddyPress Integration', 'bbpress' ),67 'title' => esc_html__( 'Forum Integration for BuddyPress', 'bbpress' ), 68 68 'callback' => 'bbp_admin_setting_callback_buddypress_section', 69 69 'page' => 'buddypress', 70 70 ), 71 71 'bbp_settings_akismet' => array( 72 'title' => esc_html__( ' Akismet Integration', 'bbpress' ),72 'title' => esc_html__( 'Forum Integration for Akismet', 'bbpress' ), 73 73 'callback' => 'bbp_admin_setting_callback_akismet_section', 74 74 'page' => 'discussion' … … 431 431 // Are group forums enabled? 432 432 '_bbp_enable_group_forums' => array( 433 'title' => esc_html__( ' EnableGroup Forums', 'bbpress' ),433 'title' => esc_html__( 'Group Forums', 'bbpress' ), 434 434 'callback' => 'bbp_admin_setting_callback_group_forums', 435 435 'sanitize_callback' => 'intval', … … 439 439 // Group forums parent forum ID 440 440 '_bbp_group_forums_root_id' => array( 441 'title' => esc_html__( ' Group Forums Parent', 'bbpress' ),441 'title' => esc_html__( 'Primary Forum', 'bbpress' ), 442 442 'callback' => 'bbp_admin_setting_callback_group_forums_root_id', 443 443 'sanitize_callback' => 'intval', … … 1301 1301 ?> 1302 1302 1303 <p><?php esc_html_e( ' Forum settings for BuddyPress', 'bbpress' ); ?></p>1303 <p><?php esc_html_e( 'Configure how Forum settings for BuddyPress', 'bbpress' ); ?></p> 1304 1304 1305 1305 <?php … … 1331 1331 function bbp_admin_setting_callback_group_forums_root_id() { 1332 1332 1333 // Group root ID 1334 $group_root = bbp_get_group_forums_root_id(); 1335 if ( ! bbp_get_forum( $group_root ) ) { 1336 delete_option( '_bbp_group_forums_root_id' ); 1337 $group_root = 0; 1338 } 1339 1333 1340 // Output the dropdown for all forums 1334 bbp_dropdown( array(1335 'selected' => bbp_get_group_forums_root_id(),1336 'show_none' => esc_ attr__( '— Forum root —', 'bbpress' ),1341 $select = bbp_get_dropdown( array( 1342 'selected' => $group_root, 1343 'show_none' => esc_html__( '— No parent —', 'bbpress' ), 1337 1344 'orderby' => 'title', 1338 1345 'order' => 'ASC', … … 1340 1347 'disable_categories' => false, 1341 1348 'disabled' => '_bbp_group_forums_root_id' 1342 ) ); ?> 1343 1344 <?php esc_html_e( 'is the parent for all group forums', 'bbpress' ); ?> 1345 <p class="description"><?php esc_html_e( 'Using the Forum Root is not recommended. Changing this does not move existing forums.', 'bbpress' ); ?></p> 1349 ) ); 1350 1351 // Check cap one time 1352 $can_add_new = current_user_can( 'publish_forums' ); 1353 $button = ''; 1354 1355 // Text variations based on configuration 1356 if ( empty( $group_root ) && ( true === $can_add_new ) ) { 1357 1358 // New URL 1359 $new_url = wp_nonce_url( add_query_arg( array( 1360 'page' => 'bbpress', 1361 'create' => 'bbp-group-forum-root' 1362 ), admin_url( 'options-general.php' ) ), '_bbp_group_forums_root_id' ); 1363 1364 // Button & text 1365 $button = '<a href="' . esc_url( $new_url ) . '">' . esc_html__( 'create a new one', 'bbpress' ) . '</a>'; 1366 $text = esc_html__( 'Use %s to contain your group forums, or %s', 'bbpress' ); 1367 } else { 1368 $text = esc_html__( 'Use %s to contain your group forums', 'bbpress' ); 1369 } 1370 1371 // Output 1372 printf( $text, $select, $button ); ?> 1373 <p class="description"><?php esc_html_e( 'Changing this will not move existing forums.', 'bbpress' ); ?></p> 1346 1374 1347 1375 <?php … … 1444 1472 } ?> 1445 1473 1446 <select name="_bbp_converter_platform" id="_bbp_converter_platform" /><?php echo $options ?></select>1474 <select name="_bbp_converter_platform" id="_bbp_converter_platform"><?php echo $options ?></select> 1447 1475 <label for="_bbp_converter_platform"><?php esc_html_e( 'is the previous forum software', 'bbpress' ); ?></label> 1448 1476 -
trunk/src/includes/extend/buddypress/functions.php
r6438 r6485 16 16 add_filter( 'bbp_is_single_user', 'bbp_filter_is_single_user', 10, 1 ); 17 17 add_filter( 'bbp_is_user_home', 'bbp_filter_is_user_home', 10, 1 ); 18 19 // Group Forum Root 20 add_action( 'load-settings_page_bbpress', 'bbp_maybe_create_group_forum_root' ); 21 add_action( 'bbp_delete_forum', 'bbp_maybe_delete_group_forum_root' ); 18 22 19 23 /** BuddyPress Helpers ********************************************************/ … … 306 310 } 307 311 312 /** Forum Group Root **********************************************************/ 313 314 /** 315 * Clean up the group root setting if the forum is being deleted 316 * 317 * @since 2.6.0 bbPress (r6479) 318 * 319 * @param int $forum_id The forum ID being deleted 320 */ 321 function bbp_maybe_delete_group_forum_root( $forum_id = 0 ) { 322 323 // Bail if no forum ID 324 $forum_id = bbp_get_forum_id(); 325 if ( empty( $forum_id ) ) { 326 return; 327 } 328 329 // Get the group root 330 $group_root = (int) get_option( '_bbp_group_forums_root_id', 0 ); 331 332 // Delete the group root if the forum just got deleted 333 if ( $group_root === $forum_id ) { 334 delete_option( '_bbp_group_forums_root_id' ); 335 } 336 } 337 338 /** 339 * Handle the new group forum root creation 340 * 341 * @since 2.6.0 bbPress (r6479) 342 * 343 * @return 344 */ 345 function bbp_maybe_create_group_forum_root() { 346 347 // Bail if no nonce 348 if ( empty( $_GET['_wpnonce'] ) || ( empty( $_GET['create'] ) || ( 'bbp-group-forum-root' !== $_GET['create'] ) ) ) { 349 return; 350 } 351 352 // Bail if user cannot publish forums 353 if ( ! current_user_can( 'publish_forums' ) ) { 354 return; 355 } 356 357 // Bail if nonce check fails 358 if ( ! wp_verify_nonce( $_GET['_wpnonce'], '_bbp_group_forums_root_id' ) ) { 359 return; 360 } 361 362 // Create new forum 363 $forum_id = bbp_insert_forum( 364 365 // Post 366 array( 'post_title' => esc_html__( 'Group Forums', 'bbpress' ) ), 367 368 // Meta 369 array( 'forum_type' => 'category' ) 370 ); 371 372 // Update & redirect 373 if ( ! empty( $forum_id ) ) { 374 375 // Create 376 update_option( '_bbp_group_forums_root_id', $forum_id ); 377 378 // Redirect 379 wp_safe_redirect( add_query_arg( array( 380 'page' => 'bbpress', 381 'updated' => true // Lame, but still supported 382 ), admin_url( 'options-general.php' ) ) ); 383 die; 384 } 385 } 386 308 387 /** Forum/Group Sync **********************************************************/ 309 388 310 389 /** 311 390 * These functions are used to keep the many-to-many relationships between 312 * groups and forums synchronized. Each forum and group stores po nters to each391 * groups and forums synchronized. Each forum and group stores pointers to each 313 392 * other in their respective meta. This way if a group or forum is deleted 314 * their associat tions can be updated without much effort.393 * their associations can be updated without much effort. 315 394 */ 316 395 … … 512 591 513 592 /** 514 * Remove a group from a all forums593 * Remove a group from all forums 515 594 * 516 595 * @param type $group_id
Note: See TracChangeset
for help on using the changeset viewer.