Skip to:
Content

bbPress.org

Changeset 6692


Ignore:
Timestamp:
09/13/2017 05:14:59 PM (3 years ago)
Author:
johnjamesjacoby
Message:

Classes: add more author & moderator related CSS classes to helper functions.

This change adds classes to forums, topics, and replies where the respective author is also a moderator of the nearest parent forum.

See #459.

Location:
trunk/src/includes
Files:
3 edited

Legend:

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

    r6683 r6692  
    729729        $subforum_classes      = array( 'bbp-forum-link' );
    730730        $subforum_classes      = apply_filters( 'bbp_list_forums_subforum_classes', $subforum_classes, $sub_forum->ID );
     731
     732        // This could use bbp_get_forum_class() eventually...
    731733        $subforum_classes_attr = 'class="' . implode( ' ', array_map( 'esc_attr', $subforum_classes ) ) . '"';
    732734
     
    17951797     */
    17961798    function bbp_get_forum_class( $forum_id = 0, $classes = array() ) {
    1797         $bbp       = bbpress();
    1798         $forum_id  = bbp_get_forum_id( $forum_id );
    1799         $parent_id = bbp_get_forum_parent_id( $forum_id );
    1800         $classes   = array_filter( (array) $classes );
    1801         $count     = isset( $bbp->forum_query->current_post )
     1799        $bbp        = bbpress();
     1800        $forum_id   = bbp_get_forum_id( $forum_id );
     1801        $parent_id  = bbp_get_forum_parent_id( $forum_id );
     1802        $author_id  = bbp_get_forum_author_id( $forum_id );
     1803        $status     = bbp_get_forum_status( $forum_id );
     1804        $visibility = bbp_get_forum_visibility( $forum_id );
     1805        $classes    = array_filter( (array) $classes );
     1806        $count      = isset( $bbp->forum_query->current_post )
    18021807            ? (int) $bbp->forum_query->current_post
    18031808            : 1;
    18041809
     1810        //  Stripes
     1811        $even_odd = ( $count % 2 )
     1812            ? 'even'
     1813            : 'odd';
     1814
     1815        // User is moderator of forum
     1816        $forum_moderator = ( bbp_is_user_forum_moderator( $author_id, $forum_id ) === $author_id )
     1817            ? 'forum-mod'
     1818            : '';
     1819
     1820        // Is forum a non-postable category?
     1821        $category = bbp_is_forum_category( $forum_id )
     1822            ? 'status-category'
     1823            : '';
     1824
     1825        // Forum has children?
     1826        $subs = bbp_get_forum_subforum_count( $forum_id )
     1827            ? 'bbp-has-subforums'
     1828            : '';
     1829
     1830        // Forum has parent?
     1831        $parent = ! empty( $parent_id )
     1832            ? 'bbp-parent-forum-' . $parent_id
     1833            : '';
     1834
    18051835        // Get forum classes
    18061836        $forum_classes = array(
    1807             'loop-item-' . $count,
    1808             ( $count % 2 )                            ? 'even'              : 'odd',
    1809             bbp_is_forum_category( $forum_id )        ? 'status-category'   : '',
    1810             bbp_get_forum_subforum_count( $forum_id ) ? 'bbp-has-subforums' : '',
    1811             ! empty( $parent_id )                     ? 'bbp-parent-forum-' . $parent_id : '',
    1812             'bbp-forum-status-'     . bbp_get_forum_status( $forum_id ),
    1813             'bbp-forum-visibility-' . bbp_get_forum_visibility( $forum_id )
     1837            'loop-item-'            . $count,
     1838            'bbp-forum-status-'     . $status,
     1839            'bbp-forum-visibility-' . $visibility,
     1840            $even_odd,
     1841            $forum_moderator,
     1842            $category,
     1843            $subs,
     1844            $parent
    18141845        );
    18151846
  • trunk/src/includes/replies/template.php

    r6683 r6692  
    21772177        $reply_id  = bbp_get_reply_id( $reply_id );
    21782178        $topic_id  = bbp_get_reply_topic_id( $reply_id );
     2179        $forum_id  = bbp_get_reply_forum_id( $reply_id );
    21792180        $author_id = bbp_get_reply_author_id( $reply_id );
     2181        $reply_pos = bbp_get_reply_position( $reply_id, true );
    21802182        $classes   = array_filter( (array) $classes );
    21812183        $count     = isset( $bbp->reply_query->current_post )
     
    21832185            : 1;
    21842186
     2187        //  Stripes
     2188        $even_odd = ( $count % 2 )
     2189            ? 'even'
     2190            : 'odd';
     2191
     2192        // Forum moderator replied to topic
     2193        $forum_moderator = ( bbp_is_user_forum_moderator( $author_id, $forum_id ) === $author_id )
     2194            ? 'forum-mod'
     2195            : '';
     2196
     2197        // Topic author replied to others
     2198        $topic_author = ( bbp_get_topic_author_id( $topic_id ) === $author_id )
     2199            ? 'topic-author'
     2200            : '';
     2201
    21852202        // Get reply classes
    21862203        $reply_classes = array(
    2187             'loop-item-' . $count,
    2188             ( $count % 2                                        )   ? 'even'         : 'odd',
    2189             ( $author_id === bbp_get_topic_author_id( $topic_id ) ) ? 'topic-author' : '',
    2190             'user-id-' . $author_id,
    2191             'bbp-parent-forum-'   . bbp_get_reply_forum_id( $reply_id ),
     2204            'loop-item-'          . $count,
     2205            'user-id-'            . $author_id,
     2206            'bbp-parent-forum-'   . $forum_id,
    21922207            'bbp-parent-topic-'   . $topic_id,
    2193             'bbp-reply-position-' . bbp_get_reply_position( $reply_id, true )
     2208            'bbp-reply-position-' . $reply_pos,
     2209            $even_odd,
     2210            $topic_author,
     2211            $forum_moderator
    21942212        );
    21952213
  • trunk/src/includes/topics/template.php

    r6683 r6692  
    22542254     */
    22552255    function bbp_get_topic_class( $topic_id = 0, $classes = array() ) {
    2256         $bbp      = bbpress();
    2257         $topic_id = bbp_get_topic_id( $topic_id );
    2258         $classes  = array_filter( (array) $classes );
    2259         $count    = isset( $bbp->topic_query->current_post )
     2256        $bbp       = bbpress();
     2257        $topic_id  = bbp_get_topic_id( $topic_id );
     2258        $forum_id  = bbp_get_topic_forum_id( $topic_id );
     2259        $author_id = bbp_get_topic_author_id( $topic_id );
     2260        $classes   = array_filter( (array) $classes );
     2261        $count     = isset( $bbp->topic_query->current_post )
    22602262            ? (int) $bbp->topic_query->current_post
    22612263            : 1;
    22622264
     2265        //  Stripes
     2266        $even_odd = ( $count % 2 )
     2267            ? 'even'
     2268            : 'odd';
     2269
     2270        // Forum moderator replied to topic
     2271        $forum_moderator = ( bbp_is_user_forum_moderator( $author_id, $forum_id ) === $author_id )
     2272            ? 'forum-mod'
     2273            : '';
     2274
     2275        // Is this topic a sticky?
     2276        $sticky = bbp_is_topic_sticky( $topic_id, false )
     2277            ? 'sticky'
     2278            : '';
     2279
     2280        // Is this topic a super-sticky?
     2281        $super_sticky = bbp_is_topic_super_sticky( $topic_id  )
     2282            ? 'super-sticky'
     2283            : '';
     2284
    22632285        // Get topic classes
    22642286        $topic_classes = array(
    2265             'loop-item-' . $count,
    2266             ( $count % 2 )                          ? 'even'         : 'odd',
    2267             bbp_is_topic_sticky( $topic_id, false ) ? 'sticky'       : '',
    2268             bbp_is_topic_super_sticky( $topic_id  ) ? 'super-sticky' : '',
    2269             'bbp-parent-forum-' . bbp_get_topic_forum_id( $topic_id ),
    2270             'user-id-' . bbp_get_topic_author_id( $topic_id )
     2287            'loop-item-'        . $count,
     2288            'user-id-'          . $author_id,
     2289            'bbp-parent-forum-' . $forum_id,
     2290            $even_odd,
     2291            $forum_moderator,
     2292            $sticky,
     2293            $super_sticky
    22712294        );
    22722295
Note: See TracChangeset for help on using the changeset viewer.