WordPress.org

Make WordPress Core

Ticket #33030: 33030.2.diff

File 33030.2.diff, 14.5 KB (added by afercia, 3 years ago)
  • src/js/_enqueues/admin/edit-comments.js

     
    77
    88(function($) {
    99var getCount, updateCount, updateCountText, updatePending, updateApproved,
    10         updateHtmlTitle, updateDashboardText, adminTitle = document.title,
     10        updateHtmlTitle, updateDashboardText, updateInModerationText, adminTitle = document.title,
    1111        isDashboard = $('#dashboard_right_now').length,
    1212        titleDiv, titleRegEx;
    1313
     
    8686                });
    8787        };
    8888
    89         updateDashboardText = function ( response ) {
     89        updateDashboardText = function( response ) {
    9090                if ( ! isDashboard || ! response || ! response.i18n_comments_text ) {
    9191                        return;
    9292                }
    9393
    94                 var rightNow = $( '#dashboard_right_now' );
     94                $( '.comment-count a', '#dashboard_right_now' ).text( response.i18n_comments_text );
     95        };
    9596
    96                 $( '.comment-count a', rightNow ).text( response.i18n_comments_text );
    97                 $( '.comment-mod-count a', rightNow ).text( response.i18n_moderation_text )
    98                         .parent()
    99                         [ response.in_moderation > 0 ? 'removeClass' : 'addClass' ]( 'hidden' );
     97        /**
     98         * Updates the "comments in moderation" text across the UI.
     99         *
     100         * @since 5.2.0
     101         *
     102         * @param {object} response Ajax response from the server.
     103         *
     104         * @return {void}
     105         */
     106        updateInModerationText = function( response ) {
     107                if ( ! response || ! response.i18n_moderation_text ) {
     108                        return;
     109                }
     110
     111                // Update the "comment in moderation" text across the UI.
     112                $( '.comments-in-moderation-text' ).text( response.i18n_moderation_text );
     113                // Hide the "comment in moderation" text in the Dashboard "At a Glance" widget.
     114                if ( isDashboard && response.in_moderation ) {
     115                        $( '.comment-mod-count', '#dashboard_right_now' )
     116                                [ response.in_moderation > 0 ? 'removeClass' : 'addClass' ]( 'hidden' );
     117                }
    100118        };
    101119
    102         updateHtmlTitle = function ( diff ) {
     120        updateHtmlTitle = function( diff ) {
    103121                var newTitle, regExMatch, titleCount, commentFrag;
    104122
    105123                titleRegEx = titleRegEx || new RegExp( adminCommentsL10n.docTitleCommentsCount.replace( '%s', '\\([0-9' + thousandsSeparator + ']+\\)' ) + '?' );
     
    238256                diff = $('#' + settings.element).is('.' + settings.dimClass) ? 1 : -1;
    239257                if ( response ) {
    240258                        updateDashboardText( response.supplemental );
     259                        updateInModerationText( response.supplemental );
    241260                        updatePending( diff, response.supplemental.postId );
    242261                        updateApproved( -1 * diff, response.supplemental.postId );
    243262                } else {
     
    318337
    319338                        spamDiff, trashDiff, pendingDiff, approvedDiff,
    320339
    321                         approved = commentRow.hasClass( 'approved' ),
     340                        /*
     341                         * As `wpList` toggles only the `unapproved` class, the approved comment
     342                         * rows can have both the `approved` and `unapproved` classes.
     343                         */
     344                        approved = commentRow.hasClass( 'approved' ) && ! commentRow.hasClass( 'unapproved' ),
    322345                        unapproved = commentRow.hasClass( 'unapproved' ),
    323346                        spammed = commentRow.hasClass( 'spam' ),
    324347                        trashed = commentRow.hasClass( 'trash' ),
     
    325348                        undoing = false; // ticket #35904
    326349
    327350                updateDashboardText( newTotal );
     351                updateInModerationText( newTotal );
    328352
    329353                // the order of these checks is important
    330354                // .unspam can also have .approve or .unapprove
     
    508532                refillTheExtraList();
    509533
    510534                animated = $( ':animated', '#the-comment-list' );
    511                 animatedCallback = function () {
     535                animatedCallback = function() {
    512536                        if ( ! $( '#the-comment-list tr:visible' ).length ) {
    513537                                theList.get(0).wpList.add( theExtraList.find( '.no-items' ).clone() );
    514538                        }
     
    603627                });
    604628
    605629                this.comments_listing = $('#comments-form > input[name="comment_status"]').val() || '';
    606 
    607                 /* $(listTable).bind('beforeChangePage', function(){
    608                         commentReply.close();
    609                 }); */
    610630        },
    611631
    612632        addEvents : function(r) {
     
    843863                }
    844864
    845865                if ( r.supplemental.i18n_comments_text ) {
    846                         if ( isDashboard ) {
    847                                 updateDashboardText( r.supplemental );
    848                         } else {
    849                                 updateApproved( 1, r.supplemental.parent_post_id );
    850                                 updateCountText( 'span.all-count', 1 );
    851                         }
     866                        updateDashboardText( r.supplemental );
     867                        updateInModerationText( r.supplemental );
     868                        updateApproved( 1, r.supplemental.parent_post_id );
     869                        updateCountText( 'span.all-count', 1 );
    852870                }
    853871
    854872                c = $.trim(r.data); // Trim leading whitespaces
  • src/wp-admin/css/admin-menu.css

     
    515515#adminmenu .update-plugins {
    516516        display: inline-block;
    517517        vertical-align: top;
    518         margin: 1px 0 0 2px;
     518        box-sizing: border-box;
     519        margin: 1px 0 -1px 2px;
    519520        padding: 0 5px;
    520         min-width: 7px;
    521         height: 17px;
    522         border-radius: 11px;
     521        min-width: 18px;
     522        height: 18px;
     523        border-radius: 9px;
    523524        background-color: #ca4a1f;
    524525        color: #fff;
    525         font-size: 9px;
     526        font-size: 11px;
    526527        line-height: 17px;
    527528        text-align: center;
    528529        z-index: 26;
     
    530531
    531532#adminmenu li.current a .awaiting-mod,
    532533#adminmenu li a.wp-has-current-submenu .update-plugins {
    533         background-color: #00b9eb;
     534        background-color: #ca4a1f;
    534535        color: #fff;
    535536}
    536537
  • src/wp-admin/includes/ajax-actions.php

     
    460460                                        ),
    461461                                        'i18n_moderation_text' => sprintf(
    462462                                                /* translators: %s: number of comments in moderation */
    463                                                 _nx( '%s in moderation', '%s in moderation', $counts->moderated, 'comments' ),
     463                                                _n( '%s Comment in moderation', '%s Comments in moderation', $counts->moderated ),
    464464                                                number_format_i18n( $counts->moderated )
    465465                                        ),
    466466                                        'comment_link'         => $comment_link,
     
    509509        // The time since the last comment count.
    510510        $time    = time();
    511511        $comment = get_comment( $comment_id );
     512        $counts  = wp_count_comments();
    512513
    513514        $x = new WP_Ajax_Response(
    514515                array(
    515516                        'what'         => 'comment',
    516                         // Here for completeness - not used.
    517517                        'id'           => $comment_id,
    518518                        'supplemental' => array(
    519                                 'status'           => $comment ? $comment->comment_approved : '',
    520                                 'postId'           => $comment ? $comment->comment_post_ID : '',
     519                                'status'               => $comment ? $comment->comment_approved : '',
     520                                'postId'               => $comment ? $comment->comment_post_ID : '',
    521521                                /* translators: %s: number of comments */
    522                                 'total_items_i18n' => sprintf( _n( '%s item', '%s items', $total ), number_format_i18n( $total ) ),
    523                                 'total_pages'      => ceil( $total / $per_page ),
    524                                 'total_pages_i18n' => number_format_i18n( ceil( $total / $per_page ) ),
    525                                 'total'            => $total,
    526                                 'time'             => $time,
     522                                'total_items_i18n'     => sprintf( _n( '%s item', '%s items', $total ), number_format_i18n( $total ) ),
     523                                'total_pages'          => ceil( $total / $per_page ),
     524                                'total_pages_i18n'     => number_format_i18n( ceil( $total / $per_page ) ),
     525                                'total'                => $total,
     526                                'time'                 => $time,
     527                                'in_moderation'        => $counts->moderated,
     528                                'i18n_moderation_text' => sprintf(
     529                                        /* translators: %s: number of comments in moderation */
     530                                        _n( '%s Comment in moderation', '%s Comments in moderation', $counts->moderated ),
     531                                        number_format_i18n( $counts->moderated )
     532                                ),
    527533                        ),
    528534                )
    529535        );
     
    12911297                        number_format_i18n( $counts->approved )
    12921298                ),
    12931299                'i18n_moderation_text' => sprintf(
    1294                         /* translators: %s: number of comments moderated */
    1295                         _nx( '%s in moderation', '%s in moderation', $counts->moderated, 'comments' ),
     1300                        /* translators: %s: number of comments in moderation */
     1301                        _n( '%s Comment in moderation', '%s Comments in moderation', $counts->moderated ),
    12961302                        number_format_i18n( $counts->moderated )
    12971303                ),
    12981304        );
  • src/wp-admin/includes/dashboard.php

     
    291291                <?php
    292292                $moderated_comments_count_i18n = number_format_i18n( $num_comm->moderated );
    293293                /* translators: %s: number of comments in moderation */
    294                 $text = sprintf( _nx( '%s in moderation', '%s in moderation', $num_comm->moderated, 'comments' ), $moderated_comments_count_i18n );
    295                 /* translators: %s: number of comments in moderation */
    296                 $aria_label = sprintf( _nx( '%s comment in moderation', '%s comments in moderation', $num_comm->moderated, 'comments' ), $moderated_comments_count_i18n );
     294                $text = sprintf( _n( '%s Comment in moderation', '%s Comments in moderation', $num_comm->moderated ), $moderated_comments_count_i18n );
    297295                ?>
    298296                <li class="comment-mod-count
    299297                <?php
     
    301299                        echo ' hidden';
    302300                }
    303301                ?>
    304                 "><a href="edit-comments.php?comment_status=moderated" aria-label="<?php echo esc_attr( $aria_label ); ?>"><?php echo $text; ?></a></li>
     302                "><a href="edit-comments.php?comment_status=moderated" class="comments-in-moderation-text"><?php echo $text; ?></a></li>
    305303                <?php
    306304        }
    307305
  • src/wp-admin/menu.php

     
    4242        } else {
    4343                $cap = 'update_languages';
    4444        }
     45        /* translators: %s: number of pending updates */
    4546        $submenu['index.php'][10] = array( sprintf( __( 'Updates %s' ), "<span class='update-plugins count-{$update_data['counts']['total']}'><span class='update-count'>" . number_format_i18n( $update_data['counts']['total'] ) . '</span></span>' ), $cap, 'update-core.php' );
    4647        unset( $cap );
    4748}
     
    7475
    7576// Avoid the comment count query for users who cannot edit_posts.
    7677if ( current_user_can( 'edit_posts' ) ) {
    77         $awaiting_mod = wp_count_comments();
    78         $awaiting_mod = $awaiting_mod->moderated;
    79         $menu[25]     = array(
    80                 sprintf( __( 'Comments %s' ), '<span class="awaiting-mod count-' . absint( $awaiting_mod ) . '"><span class="pending-count">' . number_format_i18n( $awaiting_mod ) . '</span></span>' ),
     78        $awaiting_mod      = wp_count_comments();
     79        $awaiting_mod      = $awaiting_mod->moderated;
     80        $awaiting_mod_i18n = number_format_i18n( $awaiting_mod );
     81        /* translators: %s: number of comments in moderation */
     82        $awaiting_mod_text = sprintf( _n( '%s Comment in moderation', '%s Comments in moderation', $awaiting_mod ), $awaiting_mod_i18n );
     83
     84        $menu[25] = array(
     85                /* translators: %s: number of comments in moderation */
     86                sprintf( __( 'Comments %s' ), '<span class="awaiting-mod count-' . absint( $awaiting_mod ) . '"><span class="pending-count" aria-hidden="true">' . $awaiting_mod_i18n . '</span><span class="comments-in-moderation-text screen-reader-text">' . $awaiting_mod_text . '</span></span>' ),
    8187                'edit_posts',
    8288                'edit-comments.php',
    8389                '',
     
    214220        $count = "<span class='update-plugins count-{$update_data['counts']['plugins']}'><span class='plugin-count'>" . number_format_i18n( $update_data['counts']['plugins'] ) . '</span></span>';
    215221}
    216222
     223/* translators: %s: number of pending plugin updates */
    217224$menu[65] = array( sprintf( __( 'Plugins %s' ), $count ), 'activate_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'dashicons-admin-plugins' );
    218225
    219226$submenu['plugins.php'][5] = array( __( 'Installed Plugins' ), 'activate_plugins', 'plugins.php' );
     
    264271}
    265272
    266273$change_notice = '';
    267 if ( current_user_can( 'manage_privacy_options' ) && WP_Privacy_Policy_Content::text_change_check() ) {
    268         $change_notice = ' <span class="update-plugins 1"><span class="plugin-count">' . number_format_i18n( 1 ) . '</span></span>';
     274if ( current_user_can( 'manage_privacy_options' ) && ! WP_Privacy_Policy_Content::text_change_check() ) {
     275        $change_notice_number = number_format_i18n( 1 );
     276        /* translators: %s: number of Privacy Policy update is always 1 */
     277        $change_notice_text = sprintf( __( '%s Privacy Policy update' ), $change_notice_number );
     278        $change_notice      = '<span class="update-plugins 1"><span class="plugin-count" aria-hidden="true">' . $change_notice_number . '</span><span class="screen-reader-text">' . $change_notice_text . '</span></span>';
    269279}
    270280
    271 // translators: %s is the update notification bubble, if updates are available.
     281/* translators: %s: update notification bubble, if updates are available */
    272282$menu[80]                               = array( sprintf( __( 'Settings %s' ), $change_notice ), 'manage_options', 'options-general.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'dashicons-admin-settings' );
    273283        $submenu['options-general.php'][10] = array( _x( 'General', 'settings screen' ), 'manage_options', 'options-general.php' );
    274284        $submenu['options-general.php'][15] = array( __( 'Writing' ), 'manage_options', 'options-writing.php' );
     
    276286        $submenu['options-general.php'][25] = array( __( 'Discussion' ), 'manage_options', 'options-discussion.php' );
    277287        $submenu['options-general.php'][30] = array( __( 'Media' ), 'manage_options', 'options-media.php' );
    278288        $submenu['options-general.php'][40] = array( __( 'Permalinks' ), 'manage_options', 'options-permalink.php' );
    279         // translators: %s is the update notification bubble, if updates are available.
     289        /* translators: %s: update notification bubble, if updates are available */
    280290        $submenu['options-general.php'][45] = array( sprintf( __( 'Privacy %s' ), $change_notice ), 'manage_privacy_options', 'privacy.php' );
    281291
    282292$_wp_last_utility_menu = 80; // The index of the last top-level menu in the utility menu group
  • src/wp-includes/admin-bar.php

     
    885885
    886886        $awaiting_mod  = wp_count_comments();
    887887        $awaiting_mod  = $awaiting_mod->moderated;
    888         $awaiting_text = sprintf( _n( '%s comment awaiting moderation', '%s comments awaiting moderation', $awaiting_mod ), number_format_i18n( $awaiting_mod ) );
     888        $awaiting_text = sprintf(
     889                /* translators: %s: number of comments in moderation */
     890                _n( '%s Comment in moderation', '%s Comments in moderation', $awaiting_mod ),
     891                number_format_i18n( $awaiting_mod )
     892        );
    889893
    890894        $icon   = '<span class="ab-icon"></span>';
    891895        $title  = '<span class="ab-label awaiting-mod pending-count count-' . $awaiting_mod . '" aria-hidden="true">' . number_format_i18n( $awaiting_mod ) . '</span>';
    892         $title .= '<span class="screen-reader-text">' . $awaiting_text . '</span>';
     896        $title .= '<span class="screen-reader-text comments-in-moderation-text">' . $awaiting_text . '</span>';
    893897
    894898        $wp_admin_bar->add_menu(
    895899                array(