Ticket #46619: 46619.5.diff
File 46619.5.diff, 9.6 KB (added by , 5 years ago) |
---|
-
src/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php
50 50 $request_id = $item->ID; 51 51 $nonce = wp_create_nonce( 'wp-privacy-export-personal-data-' . $request_id ); 52 52 53 $download_data_markup = '< divclass="export-personal-data" ' .53 $download_data_markup = '<span class="export-personal-data" ' . 54 54 'data-exporters-count="' . esc_attr( $exporters_count ) . '" ' . 55 55 'data-request-id="' . esc_attr( $request_id ) . '" ' . 56 56 'data-nonce="' . esc_attr( $nonce ) . 57 57 '">'; 58 58 59 $download_data_markup .= '<span class="export-personal-data-idle"><button type="button" class="button-link export-personal-data-handle">' . __( 'Download Personal Data' ) . '</button></span>' .60 '<span class="export-personal-data-processing hidden">' . __( 'Downloading Data...' ) . ' <span class="export-progress"></span></span>' .61 '<span class="export-personal-data-success hidden"><button type="button" class="button-link export-personal-data-handle">' . __( 'Download Personal Data Again' ) . '</button></span>' .59 $download_data_markup .= '<span class="export-personal-data-idle"><button type="button" class="button-link export-personal-data-handle">' . __( 'Download personal data' ) . '</button></span>' . 60 '<span class="export-personal-data-processing hidden">' . __( 'Downloading data...' ) . ' <span class="export-progress"></span></span>' . 61 '<span class="export-personal-data-success hidden"><button type="button" class="button-link export-personal-data-handle">' . __( 'Download personal data again' ) . '</button></span>' . 62 62 '<span class="export-personal-data-failed hidden">' . __( 'Download failed.' ) . ' <button type="button" class="button-link">' . __( 'Retry' ) . '</button></span>'; 63 63 64 $download_data_markup .= '</ div>';64 $download_data_markup .= '</span>'; 65 65 66 $complete_request_markup = ''; 67 if ( 'request-completed' !== $status ) { 68 $complete_request_markup .= '<span>'; 69 $complete_request_markup .= sprintf( 70 '<a href="%s" class="complete-request" aria-label="%s">%s</a>', 71 esc_url( 72 wp_nonce_url( 73 add_query_arg( 74 array( 75 'action' => 'complete', 76 'request_id' => array( $request_id ), 77 ), 78 admin_url( 'export-personal-data.php' ) 79 ), 80 'bulk-privacy_requests' 81 ) 82 ), 83 esc_attr( 84 sprintf( 85 /* translators: %s: Request email. */ 86 __( 'Mark export request for “%s” as completed.' ), 87 $item->email 88 ) 89 ), 90 __( 'Complete request' ) 91 ); 92 $complete_request_markup .= '</span>'; 93 } 94 66 95 $row_actions = array( 67 'download-data' => $download_data_markup, 96 'download-data' => $download_data_markup, 97 'complete-request' => $complete_request_markup, 68 98 ); 69 99 70 100 return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( $row_actions ) ); -
src/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php
47 47 $row_actions = array(); 48 48 49 49 // Allow the administrator to "force remove" the personal data even if confirmation has not yet been received. 50 $status = $item->status; 50 $status = $item->status; 51 $row_actions = array(); 52 $request_id = $item->ID; 51 53 if ( 'request-confirmed' !== $status ) { 52 54 /** This filter is documented in wp-admin/includes/ajax-actions.php */ 53 55 $erasers = apply_filters( 'wp_privacy_personal_data_erasers', array() ); 54 56 $erasers_count = count( $erasers ); 55 $request_id = $item->ID;56 57 $nonce = wp_create_nonce( 'wp-privacy-erase-personal-data-' . $request_id ); 57 58 58 $remove_data_markup = '< divclass="remove-personal-data force-remove-personal-data" ' .59 $remove_data_markup = '<span class="remove-personal-data force-remove-personal-data" ' . 59 60 'data-erasers-count="' . esc_attr( $erasers_count ) . '" ' . 60 61 'data-request-id="' . esc_attr( $request_id ) . '" ' . 61 62 'data-nonce="' . esc_attr( $nonce ) . 62 63 '">'; 63 64 64 $remove_data_markup .= '<span class="remove-personal-data-idle"><button type="button" class="button-link remove-personal-data-handle">' . __( 'Force Erase Personal Data' ) . '</button></span>' .65 '<span class="remove-personal-data-processing hidden">' . __( 'Erasing Data...' ) . ' <span class="erasure-progress"></span></span>' .65 $remove_data_markup .= '<span class="remove-personal-data-idle"><button type="button" class="button-link remove-personal-data-handle">' . __( 'Force erase personal data' ) . '</button></span>' . 66 '<span class="remove-personal-data-processing hidden">' . __( 'Erasing data...' ) . ' <span class="erasure-progress"></span></span>' . 66 67 '<span class="remove-personal-data-success hidden">' . __( 'Erasure completed.' ) . '</span>' . 67 '<span class="remove-personal-data-failed hidden">' . __( 'Force Erasure has failed.' ) . ' <button type="button" class="button-link remove-personal-data-handle">' . __( 'Retry' ) . '</button></span>';68 '<span class="remove-personal-data-failed hidden">' . __( 'Force erasure has failed.' ) . ' <button type="button" class="button-link remove-personal-data-handle">' . __( 'Retry' ) . '</button></span>'; 68 69 69 $remove_data_markup .= '</ div>';70 $remove_data_markup .= '</span>'; 70 71 71 $row_actions = array( 72 'remove-data' => $remove_data_markup, 72 $row_actions['remove-data'] = $remove_data_markup; 73 } 74 75 $complete_request_markup = ''; 76 if ( 'request-completed' !== $status ) { 77 $complete_request_markup .= '<span>'; 78 $complete_request_markup .= sprintf( 79 '<a href="%s" class="complete-request" aria-label="%s">%s</a>', 80 esc_url( 81 wp_nonce_url( 82 add_query_arg( 83 array( 84 'action' => 'complete', 85 'request_id' => array( $request_id ), 86 ), 87 admin_url( 'erase-personal-data.php' ) 88 ), 89 'bulk-privacy_requests' 90 ) 91 ), 92 esc_attr( 93 sprintf( 94 /* translators: %s: Request email. */ 95 __( 'Mark export request for “%s” as completed.' ), 96 $item->email 97 ) 98 ), 99 __( 'Complete request' ) 73 100 ); 101 $complete_request_markup .= '</span>'; 74 102 } 75 103 104 $row_actions['complete-request'] = $complete_request_markup; 105 76 106 return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( $row_actions ) ); 77 107 } 78 108 -
src/wp-admin/includes/class-wp-privacy-requests-table.php
43 43 'email' => __( 'Requester' ), 44 44 'status' => __( 'Status' ), 45 45 'created_timestamp' => __( 'Requested' ), 46 'next_steps' => __( 'Next Steps' ),46 'next_steps' => __( 'Next steps' ), 47 47 ); 48 48 return $columns; 49 49 } … … 210 210 */ 211 211 protected function get_bulk_actions() { 212 212 return array( 213 'delete' => __( 'Delete Requests' ), 214 'resend' => __( 'Resend Confirmation Requests' ), 213 'resend' => __( 'Resend confirmation requests' ), 214 'complete' => __( 'Mark requests as completed' ), 215 'delete' => __( 'Delete requests' ), 215 216 ); 216 217 } 217 218 … … 219 220 * Process bulk actions. 220 221 * 221 222 * @since 4.9.6 223 * @since 5.6.0 Added support for the `complete` action. 222 224 */ 223 225 public function process_bulk_action() { 224 226 $action = $this->current_action(); … … 231 233 } 232 234 233 235 switch ( $action ) { 234 case ' delete':236 case 'resend': 235 237 foreach ( $request_ids as $request_id ) { 236 if ( wp_delete_post( $request_id, true ) ) { 237 $count ++; 238 $resend = _wp_privacy_resend_request( $request_id ); 239 240 if ( $resend && ! is_wp_error( $resend ) ) { 241 $count++; 238 242 } 239 243 } 240 244 … … 242 246 'bulk_action', 243 247 'bulk_action', 244 248 /* translators: %d: Number of requests. */ 245 sprintf( _n( ' Deleted %d request.', 'Deleted%d requests.', $count ), $count ),249 sprintf( _n( 'Re-sent %d request.', 'Re-sent %d requests.', $count ), $count ), 246 250 'success' 247 251 ); 248 252 break; 249 case ' resend':253 case 'complete': 250 254 foreach ( $request_ids as $request_id ) { 251 $res end = _wp_privacy_resend_request( $request_id );255 $result = _wp_privacy_completed_request( $request_id ); 252 256 253 if ( $res end && ! is_wp_error( $resend) ) {257 if ( $result && ! is_wp_error( $result ) ) { 254 258 $count++; 255 259 } 256 260 } … … 259 263 'bulk_action', 260 264 'bulk_action', 261 265 /* translators: %d: Number of requests. */ 262 sprintf( _n( ' Re-sent %d request.', 'Re-sent %d requests.', $count ), $count ),266 sprintf( _n( '%d request marked as complete.', '%d requests marked as complete.', $count ), $count ), 263 267 'success' 264 268 ); 265 269 break; 270 case 'delete': 271 foreach ( $request_ids as $request_id ) { 272 if ( wp_delete_post( $request_id, true ) ) { 273 $count ++; 274 } 275 } 276 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 ); 284 break; 266 285 } 267 286 } 268 287