Skip to:
Content

bbPress.org

Changeset 3120


Ignore:
Timestamp:
05/09/2011 04:18:51 AM (15 years ago)
Author:
johnjamesjacoby
Message:

Switch author IP address from anonymous only to a meta value on every topic and reply. Includes additional template tags, theme compat adjustments, and admin meta box adjustments. Fixes #1505.

Location:
branches/plugin
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • branches/plugin/bbp-admin/bbp-metaboxes.php

    r3095 r3120  
    417417 * @since bbPress (r)
    418418 *
    419  * @uses get_post_meta() To get the anonymous user information
    420  */
    421 function bbp_anonymous_metabox () {
    422     global $post; ?>
    423 
    424     <p><strong><?php _e( 'Name', 'bbpress' ); ?></strong></p>
    425 
    426     <p>
    427         <label class="screen-reader-text" for="bbp_anonymous_name"><?php _e( 'Name', 'bbpress' ); ?></label>
    428         <input type="text" id="bbp_anonymous_name" name="bbp_anonymous_name" value="<?php echo get_post_meta( $post->ID, '_bbp_anonymous_name', true ); ?>" size="38" />
    429     </p>
    430 
    431     <p><strong><?php _e( 'Email', 'bbpress' ); ?></strong></p>
    432 
    433     <p>
    434         <label class="screen-reader-text" for="bbp_anonymous_email"><?php _e( 'Email', 'bbpress' ); ?></label>
    435         <input type="text" id="bbp_anonymous_email" name="bbp_anonymous_email" value="<?php echo get_post_meta( $post->ID, '_bbp_anonymous_email', true ); ?>" size="38" />
    436     </p>
    437 
    438     <p><strong><?php _e( 'Website', 'bbpress' ); ?></strong></p>
    439 
    440     <p>
    441         <label class="screen-reader-text" for="bbp_anonymous_website"><?php _e( 'Website', 'bbpress' ); ?></label>
    442         <input type="text" id="bbp_anonymous_website" name="bbp_anonymous_website" value="<?php echo get_post_meta( $post->ID, '_bbp_anonymous_website', true ); ?>" size="38" />
    443     </p>
     419 * @uses get_post_meta() To get the author user information
     420 */
     421function bbp_author_metabox () {
     422    global $post;
     423
     424    // Bail if topic/reply is not anonymous
     425    if ( bbp_is_reply_anonymous( get_the_ID() ) || bbp_is_topic_anonymous( get_the_ID() ) ) : ?>
     426
     427        <p><strong><?php _e( 'Name', 'bbpress' ); ?></strong></p>
     428
     429        <p>
     430            <label class="screen-reader-text" for="bbp_anonymous_name"><?php _e( 'Name', 'bbpress' ); ?></label>
     431            <input type="text" id="bbp_anonymous_name" name="bbp_anonymous_name" value="<?php echo get_post_meta( $post->ID, '_bbp_anonymous_name', true ); ?>" size="38" />
     432        </p>
     433
     434        <p><strong><?php _e( 'Email', 'bbpress' ); ?></strong></p>
     435
     436        <p>
     437            <label class="screen-reader-text" for="bbp_anonymous_email"><?php _e( 'Email', 'bbpress' ); ?></label>
     438            <input type="text" id="bbp_anonymous_email" name="bbp_anonymous_email" value="<?php echo get_post_meta( $post->ID, '_bbp_anonymous_email', true ); ?>" size="38" />
     439        </p>
     440
     441        <p><strong><?php _e( 'Website', 'bbpress' ); ?></strong></p>
     442
     443        <p>
     444            <label class="screen-reader-text" for="bbp_anonymous_website"><?php _e( 'Website', 'bbpress' ); ?></label>
     445            <input type="text" id="bbp_anonymous_website" name="bbp_anonymous_website" value="<?php echo get_post_meta( $post->ID, '_bbp_anonymous_website', true ); ?>" size="38" />
     446        </p>
     447
     448    <?php endif; ?>
    444449
    445450    <p><strong><?php _e( 'IP Address', 'bbpress' ); ?></strong></p>
    446451
    447452    <p>
    448         <label class="screen-reader-text" for="bbp_anonymous_ip_address"><?php _e( 'IP Address', 'bbpress' ); ?></label>
    449         <input type="text" id="bbp_anonymous_ip_address" name="bbp_anonymous_ip_address" value="<?php echo get_post_meta( $post->ID, '_bbp_anonymous_ip', true ); ?>" size="38" disabled="disabled" />
     453        <label class="screen-reader-text" for="bbp_author_ip_address"><?php _e( 'IP Address', 'bbpress' ); ?></label>
     454        <input type="text" id="bbp_author_ip_address" name="bbp_author_ip_address" value="<?php echo get_post_meta( $post->ID, '_bbp_author_ip', true ); ?>" size="38" disabled="disabled" />
    450455    </p>
    451456
    452457    <?php
    453458
    454     do_action( 'bbp_anonymous_metabox', $post->ID );
     459    do_action( 'bbp_author_metabox', $post->ID );
    455460}
    456461
  • branches/plugin/bbp-admin/bbp-replies.php

    r3119 r3120  
    9292
    9393        // Anonymous metabox actions
    94         add_action( 'add_meta_boxes', array( $this, 'anonymous_metabox'      ) );
    95         add_action( 'save_post',      array( $this, 'anonymous_metabox_save' ) );
     94        add_action( 'add_meta_boxes', array( $this, 'author_metabox'      ) );
     95        add_action( 'save_post',      array( $this, 'author_metabox_save' ) );
    9696
    9797        // Add ability to filter topics and replies per forum
     
    244244
    245245    /**
    246      * Add the anonymous user info metabox
    247      *
    248      * Allows editing of information about an anonymous user
     246     * Add the author info metabox
     247     *
     248     * Allows editing of information about an authr
    249249     *
    250250     * @since bbPress (r2828)
     
    252252     * @uses bbp_get_topic() To get the topic
    253253     * @uses bbp_get_reply() To get the reply
    254      * @uses bbp_is_topic_anonymous() To check if the topic is by an
    255      *                                 anonymous user
    256      * @uses bbp_is_reply_anonymous() To check if the reply is by an
    257      *                                 anonymous user
    258254     * @uses bbp_get_topic_post_type() To get the topic post type
    259255     * @uses bbp_get_reply_post_type() To get the reply post type
    260256     * @uses add_meta_box() To add the metabox
    261      * @uses do_action() Calls 'bbp_anonymous_metabox' with the topic/reply
     257     * @uses do_action() Calls 'bbp_author_metabox' with the topic/reply
    262258     *                    id
    263259     */
    264     function anonymous_metabox() {
    265 
    266         // Bail if post_type is not a topic or reply
    267         if ( get_post_type() != $this->post_type )
    268             return;
    269 
    270         // Bail if reply is not anonymous
    271         if ( !bbp_is_reply_anonymous( get_the_ID() ) )
     260    function author_metabox() {
     261        global $current_screen;
     262
     263        // Bail if post_type is not a reply
     264        if ( ( empty( $_GET['action'] ) || ( 'edit' != $_GET['action'] ) ) || ( get_post_type() != $this->post_type ) )
    272265            return;
    273266
    274267        // Add the metabox
    275268        add_meta_box(
    276             'bbp_anonymous_metabox',
    277             __( 'Anonymous User Information', 'bbpress' ),
    278             'bbp_anonymous_metabox',
     269            'bbp_author_metabox',
     270            __( 'Author Information', 'bbpress' ),
     271            'bbp_author_metabox',
    279272            $this->post_type,
    280273            'side',
     
    282275        );
    283276
    284         do_action( 'bbp_anonymous_metabox', get_the_ID() );
    285     }
    286 
    287     /**
    288      * Save the anonymous user information for the topic/reply
     277        do_action( 'bbp_author_metabox', get_the_ID() );
     278    }
     279
     280    /**
     281     * Save the author information for the topic/reply
    289282     *
    290283     * @since bbPress (r2828)
     
    295288     * @uses current_user_can() To check if the current user can edit the
    296289     *                           topic or reply
    297      * @uses bbp_is_topic_anonymous() To check if the topic is by an
    298      *                                 anonymous user
    299      * @uses bbp_is_reply_anonymous() To check if the reply is by an
    300      *                                 anonymous user
    301290     * @uses bbp_filter_anonymous_post_data() To filter the anonymous user data
    302291     * @uses update_post_meta() To update the anonymous user data
    303      * @uses do_action() Calls 'bbp_anonymous_metabox_save' with the topic/
    304      *                    reply id and anonymous data
     292     * @uses do_action() Calls 'bbp_author_metabox_save' with the reply id and
     293     *                    anonymous data
    305294     * @return int Topic or reply id
    306295     */
    307     function anonymous_metabox_save( $post_id ) {
     296    function author_metabox_save( $post_id ) {
    308297
    309298        // Bail if no post_id
     
    320309
    321310        // Bail if user cannot edit replies or reply is not anonymous
    322         if ( ( !current_user_can( 'edit_reply', $post_id ) || !bbp_is_reply_anonymous( $post_id ) ) )
     311        if ( !current_user_can( 'edit_reply', $post_id ) )
    323312            return $post_id;
    324313
     
    329318        update_post_meta( $post_id, '_bbp_anonymous_website', $anonymous_data['bbp_anonymous_website'] );
    330319
    331         do_action( 'bbp_anonymous_metabox_save', $post_id, $anonymous_data );
     320        do_action( 'bbp_author_metabox_save', $post_id, $anonymous_data );
    332321
    333322        return $post_id;
  • branches/plugin/bbp-admin/bbp-topics.php

    r3119 r3120  
    9292
    9393        // Anonymous metabox actions
    94         add_action( 'add_meta_boxes', array( $this, 'anonymous_metabox'      ) );
    95         add_action( 'save_post',      array( $this, 'anonymous_metabox_save' ) );
     94        add_action( 'add_meta_boxes', array( $this, 'author_metabox'      ) );
     95        add_action( 'save_post',      array( $this, 'author_metabox_save' ) );
    9696
    9797        // Add ability to filter topics and replies per forum
     
    272272
    273273    /**
    274      * Add the anonymous user info metabox
    275      *
    276      * Allows editing of information about an anonymous user
     274     * Add the author info metabox
    277275     *
    278276     * @since bbPress (r2828)
     
    280278     * @uses bbp_get_topic() To get the topic
    281279     * @uses bbp_get_reply() To get the reply
    282      * @uses bbp_is_topic_anonymous() To check if the topic is by an
    283      *                                 anonymous user
    284      * @uses bbp_is_reply_anonymous() To check if the reply is by an
    285      *                                 anonymous user
    286280     * @uses bbp_get_topic_post_type() To get the topic post type
    287281     * @uses bbp_get_reply_post_type() To get the reply post type
    288282     * @uses add_meta_box() To add the metabox
    289      * @uses do_action() Calls 'bbp_anonymous_metabox' with the topic/reply
     283     * @uses do_action() Calls 'bbp_author_metabox' with the topic/reply
    290284     *                    id
    291285     */
    292     function anonymous_metabox() {
    293 
    294         // Bail if post_type is not a topic or reply
    295         if ( get_post_type() != $this->post_type )
    296             return;
    297 
    298         // Bail if topic author is not anonymous
    299         if ( !bbp_is_topic_anonymous( get_the_ID() ) )
     286    function author_metabox() {
     287        global $current_screen;
     288
     289        // Bail if post_type is not a topic
     290        if ( ( empty( $_GET['action'] ) || ( 'edit' != $_GET['action'] ) ) || ( get_post_type() != $this->post_type ) )
    300291            return;
    301292
    302293        // Add the metabox
    303294        add_meta_box(
    304             'bbp_anonymous_metabox',
    305             __( 'Anonymous User Information', 'bbpress' ),
    306             'bbp_anonymous_metabox',
     295            'bbp_author_metabox',
     296            __( 'Author Information', 'bbpress' ),
     297            'bbp_author_metabox',
    307298            $this->post_type,
    308299            'side',
     
    310301        );
    311302
    312         do_action( 'bbp_anonymous_metabox', get_the_ID() );
    313     }
    314 
    315     /**
    316      * Save the anonymous user information for the topic/reply
     303        do_action( 'bbp_author_metabox', get_the_ID() );
     304    }
     305
     306    /**
     307     * Save the author information for the topic
    317308     *
    318309     * @since bbPress (r2828)
     
    323314     * @uses current_user_can() To check if the current user can edit the
    324315     *                           topic or reply
    325      * @uses bbp_is_topic_anonymous() To check if the topic is by an
    326      *                                 anonymous user
    327      * @uses bbp_is_reply_anonymous() To check if the reply is by an
    328      *                                 anonymous user
    329      * @uses bbp_filter_anonymous_post_data() To filter the anonymous user data
     316     * @uses bbp_filter_author_post_data() To filter the author data
    330317     * @uses update_post_meta() To update the anonymous user data
    331      * @uses do_action() Calls 'bbp_anonymous_metabox_save' with the topic/
    332      *                    reply id and anonymous data
     318     * @uses do_action() Calls 'bbp_author_metabox_save' with the topic id and
     319     *                    anonymous data
    333320     * @return int Topic or reply id
    334321     */
    335     function anonymous_metabox_save( $post_id ) {
     322    function author_metabox_save( $post_id ) {
    336323
    337324        // Bail if no post_id
     
    347334            return;
    348335
    349         // Bail if user cannot edit replies or reply is not anonymous
    350         if ( ( !current_user_can( 'edit_topic', $post_id ) || !bbp_is_topic_anonymous( $post_id ) ) )
     336        // Bail if user cannot edit replies
     337        if ( !current_user_can( 'edit_topic', $post_id ) )
    351338            return $post_id;
    352339
     
    357344        update_post_meta( $post_id, '_bbp_anonymous_website', $anonymous_data['bbp_anonymous_website'] );
    358345
    359         do_action( 'bbp_anonymous_metabox_save', $post_id, $anonymous_data );
     346        do_action( 'bbp_author_metabox_save', $post_id, $anonymous_data );
    360347
    361348        return $post_id;
  • branches/plugin/bbp-includes/bbp-general-functions.php

    r3104 r3120  
    574574        'bbp_anonymous_email'   => !empty( $_POST['bbp_anonymous_email']   ) ? $_POST['bbp_anonymous_email']   : false,
    575575        'bbp_anonymous_website' => !empty( $_POST['bbp_anonymous_website'] ) ? $_POST['bbp_anonymous_website'] : false,
    576         'bbp_anonymous_ip'      => !empty( $_SERVER['REMOTE_ADDR']         ) ? $_SERVER['REMOTE_ADDR']         : false
    577576    );
    578577
     
    588587
    589588    if ( empty( $is_edit ) ) {
    590         if ( !$bbp_anonymous_ip = apply_filters( 'bbp_pre_anonymous_post_author_ip', preg_replace( '/[^0-9a-fA-F:., ]/', '', $bbp_anonymous_ip ) ) )
     589        if ( !$bbp_anonymous_ip = apply_filters( 'bbp_pre_anonymous_post_author_ip', bbp_current_author_ip() ) )
    591590            $bbp->errors->add( 'bbp_anonymous_ip', __( '<strong>ERROR</strong>: Invalid IP address! Where are you from?', 'bbpress' ) );
    592591    } else {
     
    595594
    596595    // Website is optional
    597     $bbp_anonymous_website     = apply_filters( 'bbp_pre_anonymous_post_author_website', $bbp_anonymous_website );
     596    $bbp_anonymous_website = apply_filters( 'bbp_pre_anonymous_post_author_website', $bbp_anonymous_website );
    598597
    599598    if ( !is_wp_error( $bbp->errors ) || !$bbp->errors->get_error_codes() )
     
    615614 * @param array $post_data Contains information about the comment
    616615 * @uses current_user_can() To check if the current user can throttle
    617  * @uses _get_meta_sql() To generate the meta sql for checking anonymous email
     616 * @uses get_meta_sql() To generate the meta sql for checking anonymous email
    618617 * @uses apply_filters() Calls 'bbp_check_for_duplicate_query' with the
    619618 *                        duplicate check query and post data
     
    636635    // Check for anonymous post
    637636    if ( empty( $post_author ) && !empty( $anonymous_data['bbp_anonymous_email'] ) ) {
    638         $clauses = _get_meta_sql( array( array( 'key' => '_bbp_anonymous_email', 'value' => $anonymous_data['bbp_anonymous_email'] ) ), 'post', $wpdb->posts, 'ID' );
     637        $clauses = get_meta_sql( array( array( 'key' => '_bbp_anonymous_email', 'value' => $anonymous_data['bbp_anonymous_email'] ) ), 'post', $wpdb->posts, 'ID' );
    639638        $join    = $clauses['join'];
    640639        $where   = $clauses['where'];
     
    668667 * @param false|array $anonymous_data Optional - if it's an anonymous post. Do
    669668 *                                     not supply if supplying $author_id.
    670  *                                     Should have key 'bbp_anonymous_ip'.
     669 *                                     Should have key 'bbp_author_ip'.
    671670 *                                     Should be sanitized (see
    672671 *                                     {@link bbp_filter_anonymous_post_data()}
     
    686685        return true;
    687686
    688     if ( !empty( $anonymous_data ) && is_array( $anonymous_data ) && !empty( $anonymous_data['bbp_anonymous_ip'] ) ) {
    689         $last_posted = get_transient( '_bbp_' . $anonymous_data['bbp_anonymous_ip'] . '_last_posted' );
     687    if ( !empty( $anonymous_data ) && is_array( $anonymous_data ) ) {
     688        $last_posted = get_transient( '_bbp_' . bbp_current_author_ip() . '_last_posted' );
    690689        if ( !empty( $last_posted ) && time() < $last_posted + $throttle_time )
    691690            return false;
  • branches/plugin/bbp-includes/bbp-hooks.php

    r3119 r3120  
    308308 */
    309309function bbp_pre_anonymous_filters () {
     310
    310311    // Post author name
    311312    $filters = array(
  • branches/plugin/bbp-includes/bbp-reply-functions.php

    r3102 r3120  
    446446        update_post_meta( $reply_id, '_bbp_anonymous_email', $bbp_anonymous_email, false );
    447447
    448         // Set transient for throttle check and update ip address meta
    449         // (only when the reply is not being edited)
    450         if ( empty( $is_edit ) ) {
    451             update_post_meta( $reply_id, '_bbp_anonymous_ip', $bbp_anonymous_ip, false );
    452             set_transient( '_bbp_' . $bbp_anonymous_ip . '_last_posted', time() );
    453         }
     448        // Set transient for throttle check (only on new, not edit)
     449        if ( empty( $is_edit ) )
     450            set_transient( '_bbp_' . bbp_current_author_ip() . '_last_posted', time() );
    454451
    455452        // Website is optional
    456453        if ( !empty( $bbp_anonymous_website ) )
    457454            update_post_meta( $reply_id, '_bbp_anonymous_website', $bbp_anonymous_website, false );
     455
    458456    } else {
    459457        if ( empty( $is_edit ) && !current_user_can( 'throttle' ) )
     
    477475    // Update associated topic values if this is a new reply
    478476    if ( empty( $is_edit ) ) {
     477
     478        // Update poster IP if not editing
     479        update_post_meta( $reply_id, '_bbp_author_ip', bbp_current_author_ip(), false );
     480
    479481        // Last active time
    480482        $last_active_time = current_time( 'mysql' );
  • branches/plugin/bbp-includes/bbp-topic-functions.php

    r3101 r3120  
    453453        update_post_meta( $topic_id, '_bbp_anonymous_email', $bbp_anonymous_email, false );
    454454
    455         // Set transient for throttle check and update ip address meta
    456         // (only when the topic is not being edited)
    457         if ( empty( $is_edit ) ) {
    458             update_post_meta( $topic_id, '_bbp_anonymous_ip', $bbp_anonymous_ip, false );
    459             set_transient( '_bbp_' . $bbp_anonymous_ip . '_last_posted', time() );
    460         }
     455        // Set transient for throttle check (only on new, not edit)
     456        if ( empty( $is_edit ) )
     457            set_transient( '_bbp_' . bbp_current_author_ip() . '_last_posted', time() );
    461458
    462459        // Website is optional
     
    488485    // Update associated topic values if this is a new topic
    489486    if ( empty( $is_edit ) ) {
     487
     488        // Update poster IP if not editing
     489        update_post_meta( $topic_id, '_bbp_author_ip', bbp_current_author_ip(), false );
    490490
    491491        // Last active time
  • branches/plugin/bbp-includes/bbp-user-functions.php

    r3116 r3120  
    127127    setcookie( 'comment_author_email_' . COOKIEHASH, $anonymous_data['bbp_anonymous_email'],   time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN );
    128128    setcookie( 'comment_author_url_'   . COOKIEHASH, $anonymous_data['bbp_anonymous_website'], time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN );
     129}
     130
     131/**
     132 * Get the poster IP address
     133 *
     134 * @since bbPress (r3120)
     135 *
     136 * @return string
     137 */
     138function bbp_current_author_ip() {
     139    $retval = preg_replace( '/[^0-9a-fA-F:., ]/', '', $_SERVER['REMOTE_ADDR'] );
     140
     141    return apply_filters( 'bbp_current_author_ip', $retval );
    129142}
    130143
  • branches/plugin/bbp-includes/bbp-user-template.php

    r3095 r3120  
    413413
    414414        return apply_filters( 'bbp_get_admin_link', $before . '<a href="' . $uri . '">' . $text . '</a>' . $after, $args );
     415    }
     416
     417/** User IP *******************************************************************/
     418
     419/**
     420 * Output the author IP address of a post
     421 *
     422 * @since bbPress (r3120)
     423 *
     424 * @param mixed $args Optional. If it is an integer, it is used as post id.
     425 * @uses bbp_get_author_ip() To get the post author link
     426 */
     427function bbp_author_ip( $args = '' ) {
     428    echo bbp_get_author_ip( $args );
     429}
     430    /**
     431     * Return the author IP address of a post
     432     *
     433     * @since bbPress (r3120)
     434     *
     435     * @param mixed $args Optional. If an integer, it is used as reply id.
     436     * @uses get_post_meta() To check if it's a topic page
     437     * @return string Author link of reply
     438     */
     439    function bbp_get_author_ip( $args = '' ) {
     440
     441        // Default arguments
     442        $defaults = array(
     443            'post_id' => 0,
     444            'before'  => '<span class="bbp-author-ip">(',
     445            'after'   => ')</span>'
     446        );
     447
     448        $r = wp_parse_args( $args, $defaults );
     449        extract( $r );
     450
     451        // Used as post id
     452        if ( is_numeric( $args ) )
     453            $post_id = $args;
     454
     455        // Get the author IP meta value
     456        if ( $author_ip = get_post_meta( $post_id, '_bbp_author_ip', true ) )
     457            $author_ip = $before . $author_ip . $after;
     458
     459        // No IP address
     460        else
     461            $author_ip = '';
     462
     463        return apply_filters( 'bbp_get_author_ip', $author_ip, $args );
    415464    }
    416465
  • branches/plugin/bbp-themes/bbp-twentyten/bbpress/loop-replies.php

    r3031 r3120  
    7575                <tr id="post-<?php bbp_reply_id(); ?>" <?php bbp_reply_class(); ?>>
    7676
    77                     <td class="bbp-reply-author"><?php bbp_reply_author_link( array( 'type' => 'avatar' ) ); ?></td>
     77                    <td class="bbp-reply-author">
     78
     79                        <?php bbp_reply_author_link( array( 'type' => 'avatar' ) ); ?>
     80
     81                        <?php if ( is_super_admin() ) bbp_author_ip( bbp_get_reply_id() ); ?>
     82
     83                    </td>
    7884
    7985                    <td class="bbp-reply-content">
  • branches/plugin/bbp-themes/bbp-twentyten/bbpress/single-topic.php

    r3031 r3120  
    4141
    4242            <tr class="bbp-topic-header">
    43                 <td class="bbp-topic-author"><?php bbp_topic_author_link( array( 'type' => 'name' ) ); ?></td>
     43                <td class="bbp-topic-author">
     44
     45                    <?php bbp_topic_author_link( array( 'type' => 'name' ) ); ?>
     46
     47                    <?php if ( is_super_admin() ) bbp_author_ip( bbp_get_reply_id() ); ?>
     48
     49                </td>
    4450
    4551                <td class="bbp-topic-content">
  • branches/plugin/bbp-themes/bbp-twentyten/css/bbpress.css

    r3109 r3120  
    5555/* =Tables
    5656-------------------------------------------------------------- */
     57
     58#content table tbody td {
     59    padding: 20px;
     60}
    5761
    5862#content table tbody tr.even td {
     
    107111}
    108112
     113span.bbp-author-ip {
     114    font-family: 'Helvetica Neue', Arial, Helvetica, 'Nimbus Sans L', sans-serif;
     115    font-size: 11px;
     116    font-weight: bold;
     117    color: #aaa;
     118}
     119
    109120#content .bbp-forum-topic-count,
    110121#content .bbp-forum-reply-count,
     
    121132    width: 20%;
    122133}
    123 .bbp-topic-author,
    124 .bbp-reply-author {
    125     width: 90px;
     134td.bbp-topic-author,
     135td.bbp-reply-author {
     136    width: 80px;
    126137    text-align: center;
    127     padding: 0 10px;
    128138}
    129139
     
    131141#content tbody .bbp-reply-content {
    132142    vertical-align: top;
    133     padding: 9px 10px;
     143    padding: 15px 20px 10px 10px;
    134144}
    135145
Note: See TracChangeset for help on using the changeset viewer.