Ticket #46619: 46619.2.diff
File 46619.2.diff, 7.5 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 ) . … … 61 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 if ( 'request-completed' !== $status ) { 67 $complete_request_markup = '<span>'; 68 $complete_request_markup .= sprintf( 69 '<a href="%s" class="complete-request" aria-label="%s">%s</a>', 70 esc_url( 71 wp_nonce_url( 72 add_query_arg( 73 array( 74 'action' => 'complete', 75 'request_id' => array( $request_id ), 76 ), 77 admin_url( 'export-personal-data.php' ) 78 ), 79 'bulk-privacy_requests' 80 ) 81 ), 82 esc_attr( 83 sprintf( 84 /* translators: %s: Request email. */ 85 __( 'Mark export request for “%s” as completed.' ), 86 $item->email 87 ) 88 ), 89 __( 'Complete Request' ) 90 ); 91 $complete_request_markup .= '</span>'; 92 } 93 66 94 $row_actions = array( 67 'download-data' => $download_data_markup, 95 'download-data' => $download_data_markup, 96 'complete-request' => $complete_request_markup, 68 97 ); 69 98 70 99 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(); 51 52 if ( 'request-confirmed' !== $status ) { 52 53 /** This filter is documented in wp-admin/includes/ajax-actions.php */ 53 54 $erasers = apply_filters( 'wp_privacy_personal_data_erasers', array() ); … … 55 56 $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 ) . … … 66 67 '<span class="remove-personal-data-success hidden">' . __( 'Erasure completed.' ) . '</span>' . 67 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 if ( 'request-completed' !== $status ) { 76 $complete_request_markup = '<span>'; 77 $complete_request_markup .= sprintf( 78 '<a href="%s" class="complete-request" aria-label="%s">%s</a>', 79 esc_url( 80 wp_nonce_url( 81 add_query_arg( 82 array( 83 'action' => 'complete', 84 'request_id' => array( $request_id ), 85 ), 86 admin_url( 'erase-personal-data.php' ) 87 ), 88 'bulk-privacy_requests' 89 ) 90 ), 91 esc_attr( 92 sprintf( 93 /* translators: %s: Request email. */ 94 __( 'Mark export request for “%s” as completed.' ), 95 $item->email 96 ) 97 ), 98 __( 'Complete Request' ) 73 99 ); 100 $complete_request_markup .= '</span>'; 74 101 } 75 102 103 $row_actions['complete-request'] = $complete_request_markup; 104 76 105 return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( $row_actions ) ); 77 106 } 78 107 -
src/wp-admin/includes/class-wp-privacy-requests-table.php
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