Skip to:
Content

bbPress.org

Changeset 3571


Ignore:
Timestamp:
11/02/2011 06:21:14 PM (10 years ago)
Author:
johnjamesjacoby
Message:

Use get_post_class() to fix premature echo of forum/topic/reply post classes. See #1650, r3543. (2.1)

Location:
branches/plugin/bbp-includes
Files:
3 edited

Legend:

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

    r3563 r3571  
    16131613 * @since bbPress (r2667)
    16141614 *
     1615 * @param int $forum_id Optional. Forum ID.
    16151616 * @uses bbp_get_forum_class() To get the row class of the forum
    16161617 */
    1617 function bbp_forum_class() {
    1618     echo bbp_get_forum_class();
     1618function bbp_forum_class( $forum_id = 0 ) {
     1619    echo bbp_get_forum_class( $forum_id );
    16191620}
    16201621    /**
     
    16231624     * @since bbPress (r2667)
    16241625     *
    1625      * @uses post_class() To get all the classes including ours
     1626     * @param int $forum_id Optional. Forum ID
     1627     * @uses get_post_class() To get all the classes including ours
    16261628     * @uses apply_filters() Calls 'bbp_get_forum_class' with the classes
    16271629     * @return string Row class of the forum
    16281630     */
    1629     function bbp_get_forum_class() {
     1631    function bbp_get_forum_class( $forum_id = 0 ) {
    16301632        global $bbp;
    16311633
     1634        $forum_id  = bbp_get_forum_id( $forum_id );
     1635        $count     = isset( $bbp->forum_query->current_post ) ? $bbp->forum_query->current_post : 1;
    16321636        $classes   = array();
    1633         $classes[] = $bbp->forum_query->current_post % 2 ? 'even' : 'odd';
    1634         $classes[] = bbp_is_forum_category() ? 'status-category' : '';
    1635         $classes[] = bbp_is_forum_private()  ? 'status-private'  : '';
     1637        $classes[] = ( (int) $count % 2 )               ? 'even'            : 'odd';
     1638        $classes[] = bbp_is_forum_category( $forum_id ) ? 'status-category' : '';
     1639        $classes[] = bbp_is_forum_private( $forum_id )  ? 'status-private'  : '';
    16361640        $classes   = array_filter( $classes );
    1637 
    1638         $post      = post_class( $classes );
    1639 
    1640         return apply_filters( 'bbp_get_forum_class', $post );
     1641        $retval    = get_post_class( $classes, $forum_id );
     1642        $retval    = 'class="' . join( ' ', $retval ) . '"';
     1643
     1644        return apply_filters( 'bbp_get_forum_class', $retval, $forum_id );
    16411645    }
    16421646
  • branches/plugin/bbp-includes/bbp-reply-template.php

    r3506 r3571  
    17051705 *
    17061706 * @since bbPress (r2678)
    1707  */
    1708 function bbp_reply_class() {
    1709     echo bbp_get_reply_class();
     1707 *
     1708 * @param int $reply_id Optional. Reply ID
     1709 * @uses bbp_get_reply_class() To get the reply class
     1710 */
     1711function bbp_reply_class( $reply_id = 0 ) {
     1712    echo bbp_get_reply_class( $reply_id );
    17101713}
    17111714    /**
     
    17141717     * @since bbPress (r2678)
    17151718     *
    1716      * @uses post_class() To get all the classes including ours
     1719     * @param int $reply_id Optional. Reply ID
     1720     * @uses get_post_class() To get all the classes including ours
    17171721     * @uses apply_filters() Calls 'bbp_get_reply_class' with the classes
    17181722     * @return string Row class of the reply
    17191723     */
    1720     function bbp_get_reply_class() {
     1724    function bbp_get_reply_class( $reply_id = 0 ) {
    17211725        global $bbp;
    17221726
     1727        $reply_id  = bbp_get_reply_id( $reply_id );
    17231728        $count     = isset( $bbp->reply_query->current_post ) ? $bbp->reply_query->current_post : 1;
    1724         $alternate = (int) $count % 2 ? 'even' : 'odd';
    1725         $post      = post_class( array( $alternate ) );
    1726 
    1727         return apply_filters( 'bbp_reply_class', $post );
     1729        $classes   = array();
     1730        $classes[] = ( (int) $count % 2 ) ? 'even' : 'odd';
     1731        $retval    = get_post_class( $classes, $reply_id );
     1732        $retval    = 'class="' . join( ' ', $retval ) . '"';
     1733
     1734        return apply_filters( 'bbp_get_reply_class', $retval, $reply_id );
    17281735    }
    17291736
  • branches/plugin/bbp-includes/bbp-topic-template.php

    r3558 r3571  
    19311931     * @uses bbp_is_topic_super_sticky() To check if the topic is a super
    19321932     *                                    sticky
    1933      * @uses post_class() To get the topic classes
     1933     * @uses get_post_class() To get the topic classes
    19341934     * @uses apply_filters() Calls 'bbp_get_topic_class' with the classes
    19351935     *                        and topic id
     
    19391939        global $bbp;
    19401940
     1941        $topic_id  = bbp_get_topic_id( $topic_id );
     1942        $count     = isset( $bbp->topic_query->current_post ) ? $bbp->topic_query->current_post : 1;
    19411943        $classes   = array();
    1942         $classes[] = $bbp->topic_query->current_post % 2     ? 'even'         : 'odd';
     1944        $classes[] = ( (int) $count % 2 )                    ? 'even'         : 'odd';
    19431945        $classes[] = bbp_is_topic_sticky( $topic_id, false ) ? 'sticky'       : '';
    19441946        $classes[] = bbp_is_topic_super_sticky( $topic_id  ) ? 'super-sticky' : '';
    19451947        $classes   = array_filter( $classes );
    1946         $post      = post_class( $classes, $topic_id );
    1947 
    1948         return apply_filters( 'bbp_get_topic_class', $post, $topic_id );
     1948        $retval    = get_post_class( $classes, $topic_id );
     1949        $retval    = 'class="' . join( ' ', $retval ) . '"';
     1950
     1951        return apply_filters( 'bbp_get_topic_class', $retval, $topic_id );
    19491952    }
    19501953
Note: See TracChangeset for help on using the changeset viewer.