Skip to:
Content

bbPress.org

Ticket #2958: 2958.diff

File 2958.diff, 5.3 KB (added by netweb, 10 years ago)
  • src/includes/common/functions.php

     
    416416 * Get the forum statistics
    417417 *
    418418 * @since 2.0.0 bbPress (r2769)
     419 * @since 2.6.0 bbPress (rXXXX) Introduced the `count_pending_topics` and
     420 *                               `count_pending_replies` arguments.
    419421 *
    420422 * @param array $args Optional. The function supports these arguments (all
    421423 *                     default to true):
     
    423425 *  - count_forums: Count forums?
    424426 *  - count_topics: Count topics? If set to false, private, spammed and trashed
    425427 *                   topics are also not counted.
     428 *  - count_pending_topics: Count pending topics? (only counted if the current
     429 *                           user has edit_others_topics cap)
    426430 *  - count_private_topics: Count private topics? (only counted if the current
    427431 *                           user has read_private_topics cap)
    428432 *  - count_spammed_topics: Count spammed topics? (only counted if the current
     
    431435 *                           user has view_trash cap)
    432436 *  - count_replies: Count replies? If set to false, private, spammed and
    433437 *                   trashed replies are also not counted.
     438 *  - count_pending_replies: Count pending replies? (only counted if the current
     439 *                           user has edit_others_replies cap)
    434440 *  - count_private_replies: Count private replies? (only counted if the current
    435441 *                           user has read_private_replies cap)
    436442 *  - count_spammed_replies: Count spammed replies? (only counted if the current
     
    457463                'count_users'           => true,
    458464                'count_forums'          => true,
    459465                'count_topics'          => true,
     466                'count_pending_topics'  => true,
    460467                'count_private_topics'  => true,
    461468                'count_spammed_topics'  => true,
    462469                'count_trashed_topics'  => true,
    463470                'count_replies'         => true,
     471                'count_pending_replies' => true,
    464472                'count_private_replies' => true,
    465473                'count_spammed_replies' => true,
    466474                'count_trashed_replies' => true,
     
    489497        }
    490498
    491499        // Post statuses
     500        $pending = bbp_get_pending_status_id();
    492501        $private = bbp_get_private_status_id();
    493502        $spam    = bbp_get_spam_status_id();
    494503        $trash   = bbp_get_trash_status_id();
     
    503512
    504513                if ( current_user_can( 'read_private_topics' ) || current_user_can( 'edit_others_topics' ) || current_user_can( 'view_trash' ) ) {
    505514
     515                        // Pending
     516                        $topics['pending'] = ( ! empty( $r['count_pending_topics'] ) && current_user_can( 'edit_others_topics' ) ) ? (int) $all_topics->{$pending} : 0;
     517
    506518                        // Private
    507519                        $topics['private'] = ( ! empty( $r['count_private_topics'] ) && current_user_can( 'read_private_topics' ) ) ? (int) $all_topics->{$private} : 0;
    508520
     
    513525                        $topics['trashed'] = ( ! empty( $r['count_trashed_topics'] ) && current_user_can( 'view_trash'          ) ) ? (int) $all_topics->{$trash}   : 0;
    514526
    515527                        // Total hidden (private + spam + trash)
    516                         $topic_count_hidden = $topics['private'] + $topics['spammed'] + $topics['trashed'];
     528                        $topic_count_hidden = $topics['pending'] + $topics['private'] + $topics['spammed'] + $topics['trashed'];
    517529
    518530                        // Generate the hidden topic count's title attribute
     531                        $topic_titles[] = ! empty( $topics['pending'] ) ? sprintf( __( 'Pending: %s', 'bbpress' ), number_format_i18n( $topics['pending'] ) ) : '';
    519532                        $topic_titles[] = ! empty( $topics['private'] ) ? sprintf( __( 'Private: %s', 'bbpress' ), number_format_i18n( $topics['private'] ) ) : '';
    520533                        $topic_titles[] = ! empty( $topics['spammed'] ) ? sprintf( __( 'Spammed: %s', 'bbpress' ), number_format_i18n( $topics['spammed'] ) ) : '';
    521534                        $topic_titles[] = ! empty( $topics['trashed'] ) ? sprintf( __( 'Trashed: %s', 'bbpress' ), number_format_i18n( $topics['trashed'] ) ) : '';
     
    535548
    536549                if ( current_user_can( 'read_private_replies' ) || current_user_can( 'edit_others_replies' ) || current_user_can( 'view_trash' ) ) {
    537550
     551                        // Pending
     552                        $replies['pending'] = ( ! empty( $r['count_pending_replies'] ) && current_user_can( 'edit_others_replies' ) ) ? (int) $all_replies->{$pending} : 0;
     553
    538554                        // Private
    539555                        $replies['private'] = ( ! empty( $r['count_private_replies'] ) && current_user_can( 'read_private_replies' ) ) ? (int) $all_replies->{$private} : 0;
    540556
     
    545561                        $replies['trashed'] = ( ! empty( $r['count_trashed_replies'] ) && current_user_can( 'view_trash'           ) ) ? (int) $all_replies->{$trash}   : 0;
    546562
    547563                        // Total hidden (private + spam + trash)
    548                         $reply_count_hidden = $replies['private'] + $replies['spammed'] + $replies['trashed'];
     564                        $reply_count_hidden = $replies['pending'] + $replies['private'] + $replies['spammed'] + $replies['trashed'];
    549565
    550566                        // Generate the hidden topic count's title attribute
     567                        $reply_titles[] = ! empty( $replies['pending'] ) ? sprintf( __( 'Pending: %s', 'bbpress' ), number_format_i18n( $replies['pending'] ) ) : '';
    551568                        $reply_titles[] = ! empty( $replies['private'] ) ? sprintf( __( 'Private: %s', 'bbpress' ), number_format_i18n( $replies['private'] ) ) : '';
    552569                        $reply_titles[] = ! empty( $replies['spammed'] ) ? sprintf( __( 'Spammed: %s', 'bbpress' ), number_format_i18n( $replies['spammed'] ) ) : '';
    553570                        $reply_titles[] = ! empty( $replies['trashed'] ) ? sprintf( __( 'Trashed: %s', 'bbpress' ), number_format_i18n( $replies['trashed'] ) ) : '';