Skip to:
Content

bbPress.org

Changeset 4963


Ignore:
Timestamp:
05/28/2013 05:55:08 PM (12 years ago)
Author:
johnjamesjacoby
Message:

Tweak threaded reply setting to more closely match threaded comments, and add the default settings to the options array. Fixes issue with 0/1 level deep not matching intended behavior. See #2340.

Location:
trunk/includes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/includes/admin/settings.php

    r4950 r4963  
    170170            ),
    171171
     172            // Allow threadde replies
     173            '_bbp_allow_threaded_replies' => array(
     174                'sanitize_callback' => 'intval',
     175                'args'              => array()
     176            ),
     177
    172178            // Set reply threading level
    173179            '_bbp_thread_replies_depth' => array(
    174                 'title'             => __( 'Thread replies to topics', 'bbpress' ),
     180                'title'             => __( 'Reply Threading', 'bbpress' ),
    175181                'callback'          => 'bbp_admin_setting_callback_thread_replies_depth',
    176182                'sanitize_callback' => 'intval',
     
    526532    // Set maximum depth for dropdown
    527533    $max_depth     = (int) apply_filters( 'bbp_thread_replies_depth_max', 10 );
    528     $current_depth = bbp_thread_replies_depth(); ?>
     534    $current_depth = bbp_thread_replies_depth();
     535
     536    // Start an output buffer for the select dropdown
     537    ob_start(); ?>
    529538
    530539    <select id="_bbp_thread_replies_depth" name="_bbp_thread_replies_depth">
    531     <?php for ( $i = 0; $i <= $max_depth; $i++ ) : ?>
     540    <?php for ( $i = 2; $i <= $max_depth; $i++ ) : ?>
    532541
    533542        <option value="<?php echo esc_attr( $i ); ?>" <?php selected( $i, $current_depth ); ?>><?php echo esc_html( $i ); ?></option>
     
    536545    </select>
    537546
    538     <label for="_bbp_thread_replies_depth"><?php esc_html_e( 'levels deep', 'bbpress' ); ?></label>
     547    <?php $select = ob_get_clean(); ?>
     548
     549    <label for="_bbp_allow_threaded_replies">
     550        <input name="_bbp_allow_threaded_replies" type="checkbox" id="_bbp_allow_threaded_replies" value="1" <?php checked( '1', bbp_allow_threaded_replies() ); ?> />
     551        <?php printf( esc_html__( 'Enable threaded (nested) replies %s levels deep', 'bbpress' ), $select ); ?>
     552    </label>
    539553
    540554<?php
  • trunk/includes/core/options.php

    r4947 r4963  
    3030        /** Settings **********************************************************/
    3131
    32         '_bbp_edit_lock'            => 5,                          // Lock post editing after 5 minutes
    33         '_bbp_throttle_time'        => 10,                         // Throttle post time to 10 seconds
    34         '_bbp_enable_favorites'     => 1,                          // Favorites
    35         '_bbp_enable_subscriptions' => 1,                          // Subscriptions
    36         '_bbp_allow_anonymous'      => 0,                          // Allow anonymous posting
    37         '_bbp_allow_global_access'  => 1,                          // Users from all sites can post
    38         '_bbp_allow_revisions'      => 1,                          // Allow revisions
    39         '_bbp_allow_topic_tags'     => 1,                          // Topic Tags
    40         '_bbp_thread_replies_depth' => 0,                          // Thread replies depth
    41         '_bbp_use_wp_editor'        => 1,                          // Use the WordPress editor if available
    42         '_bbp_use_autoembed'        => 0,                          // Allow oEmbed in topics and replies
    43         '_bbp_theme_package_id'     => 'default',                  // The ID for the current theme package
    44         '_bbp_default_role'         => bbp_get_participant_role(), // Default forums role
    45         '_bbp_settings_integration' => 0,                          // Put settings into existing admin pages
     32        '_bbp_edit_lock'              => 5,                          // Lock post editing after 5 minutes
     33        '_bbp_throttle_time'          => 10,                         // Throttle post time to 10 seconds
     34        '_bbp_enable_favorites'       => 1,                          // Favorites
     35        '_bbp_enable_subscriptions'   => 1,                          // Subscriptions
     36        '_bbp_allow_anonymous'        => 0,                          // Allow anonymous posting
     37        '_bbp_allow_global_access'    => 1,                          // Users from all sites can post
     38        '_bbp_allow_revisions'        => 1,                          // Allow revisions
     39        '_bbp_allow_topic_tags'       => 1,                          // Topic Tags
     40        '_bbp_allow_threaded_replies' => 0,                          // Allow threaded replies
     41        '_bbp_thread_replies_depth'   => 2,                          // Thread replies depth
     42        '_bbp_use_wp_editor'          => 1,                          // Use the WordPress editor if available
     43        '_bbp_use_autoembed'          => 0,                          // Allow oEmbed in topics and replies
     44        '_bbp_theme_package_id'       => 'default',                  // The ID for the current theme package
     45        '_bbp_default_role'           => bbp_get_participant_role(), // Default forums role
     46        '_bbp_settings_integration'   => 0,                          // Put settings into existing admin pages
    4647
    4748        /** Per Page **********************************************************/
     
    242243function bbp_thread_replies() {
    243244    $depth  = bbp_thread_replies_depth();
    244     $retval = (bool) ( $depth > 1 );
    245 
    246     return (bool) apply_filters( 'bbp_thread_replies', $retval, $depth );
     245    $allow  = bbp_allow_threaded_replies();
     246    $retval = (bool) ( ( $depth >= 2 ) && ( true === $allow ) );
     247
     248    return (bool) apply_filters( 'bbp_thread_replies', $retval, $depth, $allow );
     249}
     250
     251/**
     252 * Are threaded replies allowed
     253 *
     254 * @since bbPress (r4964)
     255 * @param $default bool Optional. Default value false
     256 * @uses get_option() To get the threaded replies setting
     257 * @return bool Are threaded replies allowed?
     258 */
     259function bbp_allow_threaded_replies( $default = 0 ) {
     260    return (bool) apply_filters( '_bbp_allow_threaded_replies', (bool) get_option( '_bbp_allow_threaded_replies', $default ) );
    247261}
    248262
     
    258272 * @return int Thread replies depth
    259273 */
    260 function bbp_thread_replies_depth( $default = 1 ) {
     274function bbp_thread_replies_depth( $default = 2 ) {
    261275    return (int) apply_filters( 'bbp_thread_replies_depth', (int) get_option( '_bbp_thread_replies_depth', $default ) );
    262276}
Note: See TracChangeset for help on using the changeset viewer.