Make WordPress Core


Ignore:
Timestamp:
04/27/2018 07:53:37 PM (8 years ago)
Author:
azaozz
Message:

Privacy: add means to export personal data by username or email address. Generate a zipped export file containing all data. First run.

Props allendav.
See #43546.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/user.php

    r43011 r43012  
    661661                                'privacy_action_email_retry',
    662662                                __( 'Confirmation request re-resent successfully.' ),
    663                                 'updated'
    664                         );
    665                 }
    666 
    667         } elseif ( isset( $_POST['export_personal_data_email_send'] ) ) { // WPCS: input var ok.
    668                 check_admin_referer( 'bulk-privacy_requests' );
    669 
    670                 $request_id = absint( current( array_keys( (array) wp_unslash( $_POST['export_personal_data_email_send'] ) ) ) ); // WPCS: input var ok, sanitization ok.
    671                 $result     = false;
    672 
    673                 /**
    674                  * TODO: Email the data to the user here.
    675                  */
    676 
    677                 if ( is_wp_error( $result ) ) {
    678                         add_settings_error(
    679                                 'export_personal_data_email_send',
    680                                 'export_personal_data_email_send',
    681                                 $result->get_error_message(),
    682                                 'error'
    683                         );
    684                 } else {
    685                         _wp_privacy_completed_request( $request_id );
    686                         add_settings_error(
    687                                 'export_personal_data_email_send',
    688                                 'export_personal_data_email_send',
    689                                 __( 'Personal data was sent to the user successfully.' ),
    690663                                'updated'
    691664                        );
     
    820793        _wp_personal_data_cleanup_requests();
    821794
     795        // "Borrow" xfn.js for now so we don't have to create new files.
     796        wp_enqueue_script( 'xfn' );
     797
    822798        $requests_table = new WP_Privacy_Data_Export_Requests_Table( array(
    823799                'plural'   => 'privacy_requests',
     
    13621338                $nonce           = wp_create_nonce( 'wp-privacy-export-personal-data-' . $request_id );
    13631339
    1364                 $download_data_markup = '<div class="download_personal_data" ' .
     1340                $download_data_markup = '<div class="export_personal_data" ' .
    13651341                        'data-exporters-count="' . esc_attr( $exporters_count ) . '" ' .
    13661342                        'data-request-id="' . esc_attr( $request_id ) . '" ' .
     
    13681344                        '">';
    13691345
    1370                 $download_data_markup .= '<span class="download_personal_data_idle"><a href="#" >' . __( 'Download Personal Data' ) . '</a></span>' .
    1371                         '<span style="display:none" class="download_personal_data_processing" >' . __( 'Downloading Data...' ) . '</span>' .
    1372                         '<span style="display:none" class="download_personal_data_failed">' . __( 'Download Failed!' ) . ' <a href="#" >' . __( 'Retry' ) . '</a></span>';
     1346                $download_data_markup .= '<span class="export_personal_data_idle"><a href="#" >' . __( 'Download Personal Data' ) . '</a></span>' .
     1347                        '<span style="display:none" class="export_personal_data_processing" >' . __( 'Downloading Data...' ) . '</span>' .
     1348                        '<span style="display:none" class="export_personal_data_success"><a href="#" >' . __( 'Download Personal Data Again' ) . '</a></span>' .
     1349                        '<span style="display:none" class="export_personal_data_failed">' . __( 'Download Failed!' ) . ' <a href="#" >' . __( 'Retry' ) . '</a></span>';
     1350
     1351                $download_data_markup .= '</div>';
    13731352
    13741353                $row_actions = array(
     
    13941373                                break;
    13951374                        case 'request-confirmed':
    1396                                 // TODO Complete in follow on patch.
     1375                                $exporters       = apply_filters( 'wp_privacy_personal_data_exporters', array() );
     1376                                $exporters_count = count( $exporters );
     1377                                $request_id      = $item->ID;
     1378                                $nonce           = wp_create_nonce( 'wp-privacy-export-personal-data-' . $request_id );
     1379
     1380                                echo '<div class="export_personal_data" ' .
     1381                                        'data-send-as-email="1" ' .
     1382                                        'data-exporters-count="' . esc_attr( $exporters_count ) . '" ' .
     1383                                        'data-request-id="' . esc_attr( $request_id ) . '" ' .
     1384                                        'data-nonce="' . esc_attr( $nonce ) .
     1385                                        '">';
     1386
     1387                                ?>
     1388                                <span class="export_personal_data_idle"><a class="button" href="#" ><?php _e( 'Email Data' ); ?></a></span>
     1389                                <span style="display:none" class="export_personal_data_processing button updating-message" ><?php _e( 'Sending Email...' ); ?></span>
     1390                                <span style="display:none" class="export_personal_data_success success-message" ><?php _e( 'Email Sent!' ); ?></span>
     1391                                <span style="display:none" class="export_personal_data_failed"><?php _e( 'Email Failed!' ); ?> <a class="button" href="#" ><?php _e( 'Retry' ); ?></a></span>
     1392                                <?php
     1393
     1394                                echo '</div>';
    13971395                                break;
    13981396                        case 'request-failed':
     
    14621460                                '<span style="display:none" class="remove_personal_data_failed">' . __( 'Force Remove Failed!' ) . ' <a href="#" >' . __( 'Retry' ) . '</a></span>';
    14631461
     1462                        $remove_data_markup .= '</div>';
     1463
    14641464                        $row_actions = array(
    14651465                                'remove_data' => $remove_data_markup,
     
    15021502                                <span style="display:none" class="remove_personal_data_failed"><?php _e( 'Removing Data Failed!' ); ?> <a class="button" href="#" ><?php _e( 'Retry' ); ?></a></span>
    15031503                                <?php
     1504
     1505                                echo '</div>';
    15041506
    15051507                                break;
Note: See TracChangeset for help on using the changeset viewer.