Make WordPress Core


Ignore:
Timestamp:
10/27/2020 05:45:29 PM (6 years ago)
Author:
helen
Message:

Privacy: Show notices for both failed and successful bulk actions.

Props javorszky, garrett-eclipse, hellofromTonya.
Fixes #44081.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/class-wp-privacy-requests-table.php

    r49258 r49331  
    227227                $request_ids = isset( $_REQUEST['request_id'] ) ? wp_parse_id_list( wp_unslash( $_REQUEST['request_id'] ) ) : array();
    228228
    229                 $count = 0;
    230 
    231                 if ( $request_ids ) {
    232                         check_admin_referer( 'bulk-privacy_requests' );
    233                 }
     229                if ( empty( $request_ids ) ) {
     230                        return;
     231                }
     232
     233                $count    = 0;
     234                $failures = 0;
     235
     236                check_admin_referer( 'bulk-privacy_requests' );
    234237
    235238                switch ( $action ) {
     
    240243                                        if ( $resend && ! is_wp_error( $resend ) ) {
    241244                                                $count++;
     245                                        } else {
     246                                                $failures++;
     247                                        }
     248                                }
     249
     250                                if ( $count ) {
     251                                        add_settings_error(
     252                                                'bulk_action',
     253                                                'bulk_action',
     254                                                sprintf(
     255                                                        /* translators: %d: Number of requests. */
     256                                                        _n(
     257                                                                '%d confirmation request re-sent successfully.',
     258                                                                '%d confirmation requests re-sent successfully.',
     259                                                                $count
     260                                                        ),
     261                                                        $count
     262                                                ),
     263                                                'success'
     264                                        );
     265                                }
     266
     267                                if ( $failures ) {
     268                                        add_settings_error(
     269                                                'bulk_action',
     270                                                'bulk_action',
     271                                                sprintf(
     272                                                        /* translators: %d: Number of requests. */
     273                                                        _n(
     274                                                                '%d confirmation request failed to resend.',
     275                                                                '%d confirmation requests failed to resend.',
     276                                                                $failures
     277                                                        ),
     278                                                        $failures
     279                                                ),
     280                                                'error'
     281                                        );
     282                                }
     283
     284                                break;
     285
     286                        case 'complete':
     287                                foreach ( $request_ids as $request_id ) {
     288                                        $result = _wp_privacy_completed_request( $request_id );
     289
     290                                        if ( $result && ! is_wp_error( $result ) ) {
     291                                                $count++;
    242292                                        }
    243293                                }
     
    246296                                        'bulk_action',
    247297                                        'bulk_action',
    248                                         /* translators: %d: Number of requests. */
    249                                         sprintf( _n( 'Re-sent %d request.', 'Re-sent %d requests.', $count ), $count ),
     298                                        sprintf(
     299                                                /* translators: %d: Number of requests. */
     300                                                _n(
     301                                                        '%d request marked as complete.',
     302                                                        '%d requests marked as complete.',
     303                                                        $count
     304                                                ),
     305                                                $count
     306                                        ),
    250307                                        'success'
    251308                                );
    252309                                break;
    253                         case 'complete':
    254                                 foreach ( $request_ids as $request_id ) {
    255                                         $result = _wp_privacy_completed_request( $request_id );
    256 
    257                                         if ( $result && ! is_wp_error( $result ) ) {
    258                                                 $count++;
    259                                         }
    260                                 }
    261 
    262                                 add_settings_error(
    263                                         'bulk_action',
    264                                         'bulk_action',
    265                                         /* translators: %d: Number of requests. */
    266                                         sprintf( _n( '%d request marked as complete.', '%d requests marked as complete.', $count ), $count ),
    267                                         'success'
    268                                 );
    269                                 break;
     310
    270311                        case 'delete':
    271312                                foreach ( $request_ids as $request_id ) {
    272313                                        if ( wp_delete_post( $request_id, true ) ) {
    273                                                 $count ++;
     314                                                $count++;
     315                                        } else {
     316                                                $failures++;
    274317                                        }
    275318                                }
    276319
    277                                 add_settings_error(
    278                                         'bulk_action',
    279                                         'bulk_action',
    280                                         /* translators: %d: Number of requests. */
    281                                         sprintf( _n( 'Deleted %d request.', 'Deleted %d requests.', $count ), $count ),
    282                                         'success'
    283                                 );
     320                                if ( $failures ) {
     321                                        add_settings_error(
     322                                                'bulk_action',
     323                                                'bulk_action',
     324                                                sprintf(
     325                                                        /* translators: %d: Number of requests. */
     326                                                        _n(
     327                                                                '%d request failed to delete.',
     328                                                                '%d requests failed to delete.',
     329                                                                $failures
     330                                                        ),
     331                                                        $failures
     332                                                ),
     333                                                'error'
     334                                        );
     335                                }
     336
     337                                if ( $count ) {
     338                                        add_settings_error(
     339                                                'bulk_action',
     340                                                'bulk_action',
     341                                                sprintf(
     342                                                        /* translators: %d: Number of requests. */
     343                                                        _n(
     344                                                                '%d request deleted successfully.',
     345                                                                '%d requests deleted successfully.',
     346                                                                $count
     347                                                        ),
     348                                                        $count
     349                                                ),
     350                                                'success'
     351                                        );
     352                                }
     353
    284354                                break;
    285355                }
Note: See TracChangeset for help on using the changeset viewer.