Skip to:
Content

bbPress.org


Ignore:
Timestamp:
05/01/2012 10:08:50 PM (10 years ago)
Author:
johnjamesjacoby
Message:

Add template tags and supporting functions to display user role in topics and replies. Fixes #1815. Props cnorris23 for original patch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/plugin/bbp-includes/bbp-user-template.php

    r3840 r3860  
    376376        $user_id = bbp_get_user_id( $user_id );
    377377        if ( empty( $user_id ) )
    378             return;
     378            return false;
    379379
    380380        // Pretty permalinks
     
    400400        return apply_filters( 'bbp_get_user_edit_profile_url', $url, $user_id, $user_nicename );
    401401
     402    }
     403
     404/**
     405 * Output a user's main role for display
     406 *
     407 * @since bbPress (r3860)
     408 *
     409 * @param int $user_id
     410 * @uses bbp_get_user_display_role To get the user display role
     411 */
     412function bbp_user_display_role( $user_id = 0 ) {
     413    echo bbp_get_user_display_role( $user_id );
     414}
     415    /**
     416     * Return a user's main role for display
     417     *
     418     * @since bbPress (r3860)
     419     *
     420     * @param int $user_id
     421     * @uses bbp_get_user_role() To get the main user role
     422     * @uses bbp_get_moderator_role() To get the moderator role
     423     * @uses bbp_get_participant_role() To get the participant role
     424     * @uses bbp_get_moderator_role() To get the moderator role
     425     * @uses apply_filters() Calls 'bbp_get_user_display_role' with the
     426     *                        display role, user id, and user role
     427     * @return string
     428     */
     429    function bbp_get_user_display_role( $user_id = 0 ) {
     430
     431        // Validate user id
     432        $user_id   = bbp_get_user_id( $user_id, false, false );
     433        $user_role = bbp_get_user_role( $user_id );
     434
     435        // Capes earn Vinz Clortho status
     436        if ( is_super_admin( $user_id ) ) {
     437            $role = __( 'Key Master', 'bbpress' );
     438
     439        // Not the keymaster of Gozer
     440        } else {
     441
     442            // Get the user's main role for display
     443            switch ( $user_role ) {
     444
     445                /** bbPress Roles *********************************************/
     446
     447                // Anonymous
     448                case bbp_get_anonymous_role() :
     449                    $role = __( 'Guest', 'bbpress' );
     450                    break;
     451
     452                // Multisite Participant Role
     453                case bbp_get_participant_role() :
     454                    $role = __( 'Member', 'bbpress' );
     455                    break;
     456
     457                // Moderator
     458                case bbp_get_moderator_role() :
     459                    $role = __( 'Moderator', 'bbpress' );
     460                    break;
     461
     462                /** WordPress Core Roles **************************************/
     463
     464                case 'administrator' :
     465                case 'editor'        :
     466                case 'author'        :
     467                case 'contributor'   :
     468                case 'subscriber'    :
     469                default              : // Any other role (plugins, etc...)
     470                    global $wp_roles;
     471
     472                    // Load roles if not set
     473                    if ( !isset( $wp_roles ) )
     474                        $wp_roles = new WP_Roles();                 
     475
     476                    // Get a translated role name
     477                    if ( !empty( $wp_roles->role_names[$user_role] ) )
     478                        $role = translate_user_role( $wp_roles->role_names[$user_role] );
     479
     480                    // Fallback for registered user
     481                    else
     482                        $role = __( 'Member', 'bbpress' );
     483
     484                    break;
     485            }
     486        }
     487
     488        return apply_filters( 'bbp_get_user_display_role', $role, $user_id, $user_role );
    402489    }
    403490
     
    14471534/**
    14481535 * Output a users topic count
    1449  * 
     1536 *
    14501537 * @since bbPress (r3632)
    14511538 *
    14521539 * @param int $user_id
    14531540 * @uses bbp_get_user_topic_count()
    1454  * @return string 
     1541 * @return string
    14551542 */
    14561543function bbp_user_topic_count( $user_id = 0 ) {
     
    14591546    /**
    14601547     * Return a users reply count
    1461      * 
     1548     *
    14621549     * @since bbPress (r3632)
    14631550     *
     
    14661553     * @uses get_user_meta()
    14671554     * @uses apply_filters()
    1468      * @return string 
     1555     * @return string
    14691556     */
    14701557    function bbp_get_user_topic_count( $user_id = 0 ) {
     
    14821569/**
    14831570 * Output a users reply count
    1484  * 
     1571 *
    14851572 * @since bbPress (r3632)
    14861573 *
    14871574 * @param int $user_id
    14881575 * @uses bbp_get_user_reply_count()
    1489  * @return string 
     1576 * @return string
    14901577 */
    14911578function bbp_user_reply_count( $user_id = 0 ) {
     
    14941581    /**
    14951582     * Return a users reply count
    1496      * 
     1583     *
    14971584     * @since bbPress (r3632)
    14981585     *
     
    15011588     * @uses get_user_meta()
    15021589     * @uses apply_filters()
    1503      * @return string 
     1590     * @return string
    15041591     */
    15051592    function bbp_get_user_reply_count( $user_id = 0 ) {
     
    15171604/**
    15181605 * Output a users total post count
    1519  * 
     1606 *
    15201607 * @since bbPress (r3632)
    15211608 *
    15221609 * @param int $user_id
    15231610 * @uses bbp_get_user_post_count()
    1524  * @return string 
     1611 * @return string
    15251612 */
    15261613function bbp_user_post_count( $user_id = 0 ) {
     
    15291616    /**
    15301617     * Return a users total post count
    1531      * 
     1618     *
    15321619     * @since bbPress (r3632)
    15331620     *
     
    15361623     * @uses get_user_meta()
    15371624     * @uses apply_filters()
    1538      * @return string 
     1625     * @return string
    15391626     */
    15401627    function bbp_get_user_post_count( $user_id = 0 ) {
    1541        
     1628
    15421629        // Validate user id
    15431630        $user_id = bbp_get_user_id( $user_id );
Note: See TracChangeset for help on using the changeset viewer.