WordPress.org

Make WordPress Core

Ticket #15530: 15530.4.diff

File 15530.4.diff, 4.4 KB (added by nacin, 7 years ago)
  • wp-admin/admin-ajax.php

     
    201201        if ( --$total < 0 ) // Take the total from POST and decrement it (since we just deleted one)
    202202                $total = 0;
    203203
    204         if ( 0 != $total % $per_page && 1 != mt_rand( 1, $per_page ) ) // Only do the expensive stuff on a page-break, and about 1 other time per page
    205                 die( (string) time() );
     204        // Only do the expensive stuff on a page-break, and about 1 other time per page
     205        if ( 0 == $total % $per_page || 1 == mt_rand( 1, $per_page ) ) {
     206                $post_id = 0;
     207                $status = 'total_comments'; // What type of comment count are we looking for?
     208                $parsed = parse_url( $url );
     209                if ( isset( $parsed['query'] ) ) {
     210                        parse_str( $parsed['query'], $query_vars );
     211                        if ( !empty( $query_vars['comment_status'] ) )
     212                                $status = $query_vars['comment_status'];
     213                        if ( !empty( $query_vars['p'] ) )
     214                                $post_id = (int) $query_vars['p'];
     215                }
    206216
    207         $post_id = 0;
    208         $status = 'total_comments'; // What type of comment count are we looking for?
    209         $parsed = parse_url( $url );
    210         if ( isset( $parsed['query'] ) ) {
    211                 parse_str( $parsed['query'], $query_vars );
    212                 if ( !empty( $query_vars['comment_status'] ) )
    213                         $status = $query_vars['comment_status'];
    214                 if ( !empty( $query_vars['p'] ) )
    215                         $post_id = (int) $query_vars['p'];
     217                $comment_count = wp_count_comments($post_id);
     218
     219                if ( isset( $comment_count->$status ) ) // We're looking for a known type of comment count
     220                        $total = $comment_count->$status;
     221                        // else use the decremented value from above
    216222        }
    217223
    218         $comment_count = wp_count_comments($post_id);
    219224        $time = time(); // The time since the last comment count
    220225
    221         if ( isset( $comment_count->$status ) ) // We're looking for a known type of comment count
    222                 $total = $comment_count->$status;
    223         // else use the decremented value from above
    224 
    225         $page_links = paginate_links( array(
    226                 'base' => add_query_arg( 'apage', '%#%', $url ),
    227                 'format' => '',
    228                 'prev_text' => __('&laquo;'),
    229                 'next_text' => __('&raquo;'),
    230                 'total' => ceil($total / $per_page),
    231                 'current' => $page
    232         ) );
    233226        $x = new WP_Ajax_Response( array(
    234227                'what' => 'comment',
    235228                'id' => $comment_id, // here for completeness - not used
    236229                'supplemental' => array(
    237                         'pageLinks' => $page_links,
     230                        'total_items_i18n' => sprintf( _n( '1 item', '%s items', $total ), number_format_i18n( $total ) ),
     231                        'total_pages_i18n' => number_format_i18n( ceil( $total / $per_page ) ),
    238232                        'total' => $total,
    239233                        'time' => $time
    240234                )
  • wp-admin/js/edit-comments.dev.js

     
    44setCommentsList = function() {
    55        var totalInput, perPageInput, pageInput, lastConfidentTime = 0, dimAfter, delBefore, updateTotalCount, delAfter;
    66
    7         totalInput = $('.tablenav input[name="_total"]', '#comments-form');
    8         perPageInput = $('.tablenav input[name="_per_page"]', '#comments-form');
    9         pageInput = $('.tablenav input[name="_page"]', '#comments-form');
     7        totalInput = $('input[name="_total"]', '#comments-form');
     8        perPageInput = $('input[name="_per_page"]', '#comments-form');
     9        pageInput = $('input[name="_page"]', '#comments-form');
    1010
    1111        dimAfter = function( r, settings ) {
    1212                var c = $('#' + settings.element);
     
    190190                        total = total - spam - trash;
    191191                        if ( total < 0 )
    192192                                total = 0;
    193 
    194                         if ( ( 'object' == typeof r ) && lastConfidentTime < settings.parsed.responses[0].supplemental.time ) {
    195                                 pageLinks = settings.parsed.responses[0].supplemental.pageLinks || '';
    196                                 if ( $.trim( pageLinks ) )
    197                                         $('.tablenav-pages').find( '.page-numbers' ).remove().end().append( $( pageLinks ) );
    198                                 else
    199                                         $('.tablenav-pages').find( '.page-numbers' ).remove();
    200 
     193                        console.log( r );
     194                        if ( lastConfidentTime < settings.parsed.responses[0].supplemental.time ) {
     195                                total_items_i18n = settings.parsed.responses[0].supplemental.total_items_i18n || '';
     196                                console.log( total_items_i18n );
     197                                if ( total_items_i18n ) {
     198                                        $('.displaying-num').text( total_items_i18n );
     199                                        $('.total-pages').text( settings.parsed.responses[0].supplemental.total_pages_i18n );
     200                                }
    201201                                updateTotalCount( total, settings.parsed.responses[0].supplemental.time, true );
    202202                        } else {
    203203                                updateTotalCount( total, r, false );