Skip to:
Content

bbPress.org

Changeset 5835


Ignore:
Timestamp:
07/15/2015 04:30:34 PM (5 years ago)
Author:
johnjamesjacoby
Message:

Moderators: Introduce none argument for topic-tags & forum-mods list functions.

This change allows for passing text or HTML to output if no taxonomy terms are found, and uses this new functionality in wp-admin to show per-forum moderators in the list-table column, also reducing code duplication.

See #459.

Location:
trunk/src/includes
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/includes/admin/forums.php

    r5834 r5835  
    696696
    697697            case 'bbp_forum_mods' :
    698                 $moderators = wp_get_object_terms( $forum_id, bbp_get_forum_mod_tax_id() );
    699                 if ( empty( $moderators ) ) {
    700                     esc_html__( 'None', 'bbpress' );
    701                 } else {
    702                     echo implode( ', ', wp_list_pluck( $moderators, 'name' ) );
    703                 }
     698                bbp_forum_mod_list( $forum_id, array(
     699                    'before' => '',
     700                    'after'  => '',
     701                    'none'   => esc_html__( '—', 'bbpress' )
     702                ) );
    704703                break;
    705704
  • trunk/src/includes/forums/template.php

    r5834 r5835  
    22312231 * Output a the moderators of a forum
    22322232 *
     2233 * @since bbPress (r5834)
     2234 *
    22332235 * @param int   $forum_id Optional. Topic id
    22342236 * @param array $args     See {@link bbp_get_forum_mod_list()}
     
    22402242    /**
    22412243     * Return the moderators of a forum
     2244     *
     2245     * @since bbPress (r5834)
    22422246     *
    22432247     * @param int   $forum_id Optional. Forum id
     
    22552259        // Bail if forum-mods are off
    22562260        if ( ! bbp_allow_forum_mods() ) {
    2257             return;
     2261            return '';
    22582262        }
    22592263
     
    22622266            'before' => '<div class="bbp-forum-mods"><p>' . esc_html__( 'Moderators:', 'bbpress' ) . '&nbsp;',
    22632267            'sep'    => ', ',
    2264             'after'  => '</p></div>'
     2268            'after'  => '</p></div>',
     2269            'none'   => ''
    22652270        ), 'get_forum_mod_list' );
    22662271
     2272        // Bail if forum ID is invalid
    22672273        $forum_id = bbp_get_forum_id( $forum_id );
    2268 
    2269         $retval   = get_the_term_list( $forum_id, bbp_get_forum_mod_id(), $r['before'], $r['sep'], $r['after'] );
     2274        if ( empty( $forum_id ) ) {
     2275            return '';
     2276        }
     2277
     2278        // Get forum moderators
     2279        $moderators = wp_get_object_terms( $forum_id, bbp_get_forum_mod_tax_id() );
     2280        if ( ! empty( $moderators ) ) {
     2281
     2282            // In admin, use nicenames
     2283            if ( is_admin() ) {
     2284
     2285                // @todo link to filtering forums by moderator
     2286                $users = wp_list_pluck( $moderators, 'name' );
     2287
     2288            // In theme, use display names & profile links
     2289            } else {
     2290                $users    = array();
     2291                $term_ids = wp_list_pluck( $moderators, 'term_id' );
     2292                foreach ( $term_ids as $term_id ) {
     2293                    $user_id = bbp_get_term_taxonomy_user_id( $term_id );
     2294                    $users[] = bbp_get_user_profile_link( $user_id );
     2295                }
     2296            }
     2297
     2298            $retval = $r['before'] . implode( $r['sep'], $users ) . $r['after'];
     2299
     2300        // No forum moderators
     2301        } else {
     2302            $retval = $r['none'];
     2303        }
    22702304
    22712305        return $retval;
  • trunk/src/includes/topics/template.php

    r5827 r5835  
    23582358 * Output a the tags of a topic
    23592359 *
     2360 * @since bbPress (r2688)
     2361 *
    23602362 * @param int $topic_id Optional. Topic id
    23612363 * @param array $args See {@link bbp_get_topic_tag_list()}
     
    23672369    /**
    23682370     * Return the tags of a topic
     2371     *
     2372     * @since bbPress (r2688)
    23692373     *
    23702374     * @param int $topic_id Optional. Topic id
     
    23812385        // Bail if topic-tags are off
    23822386        if ( ! bbp_allow_topic_tags() ) {
    2383             return;
     2387            return '';
    23842388        }
    23852389
     
    23882392            'before' => '<div class="bbp-topic-tags"><p>' . esc_html__( 'Tagged:', 'bbpress' ) . '&nbsp;',
    23892393            'sep'    => ', ',
    2390             'after'  => '</p></div>'
     2394            'after'  => '</p></div>',
     2395            'none'   => ''
    23912396        ), 'get_topic_tag_list' );
    23922397
     
    23992404            $terms = get_post_meta( $topic_id, '_bbp_spam_topic_tags', true );
    24002405
    2401             // If terms exist, explode them and compile the return value
     2406            // If terms exist, implode them and compile the return value
    24022407            if ( ! empty( $terms ) ) {
    24032408                $terms  = implode( $r['sep'], $terms );
    24042409                $retval = $r['before'] . $terms . $r['after'];
    2405 
    2406             // No terms so return emty string
    2407             } else {
    2408                 $retval = '';
    24092410            }
    24102411
    24112412        // Topic is not spam so display a clickable term list
    24122413        } else {
    2413             $retval = get_the_term_list( $topic_id, bbp_get_topic_tag_tax_id(), $r['before'], $r['sep'], $r['after'] );
     2414            $terms = get_the_term_list( $topic_id, bbp_get_topic_tag_tax_id(), $r['before'], $r['sep'], $r['after'] );
     2415        }
     2416
     2417        // No terms so return none string
     2418        if ( empty( $terms ) ) {
     2419            $retval = $r['none'];
    24142420        }
    24152421
Note: See TracChangeset for help on using the changeset viewer.