45 */ |
45 */ |
46 public function column_email( $item ) { |
46 public function column_email( $item ) { |
47 /** This filter is documented in wp-admin/includes/ajax-actions.php */ |
47 /** This filter is documented in wp-admin/includes/ajax-actions.php */ |
48 $exporters = apply_filters( 'wp_privacy_personal_data_exporters', array() ); |
48 $exporters = apply_filters( 'wp_privacy_personal_data_exporters', array() ); |
49 $exporters_count = count( $exporters ); |
49 $exporters_count = count( $exporters ); |
|
50 $status = $item->status; |
50 $request_id = $item->ID; |
51 $request_id = $item->ID; |
51 $nonce = wp_create_nonce( 'wp-privacy-export-personal-data-' . $request_id ); |
52 $nonce = wp_create_nonce( 'wp-privacy-export-personal-data-' . $request_id ); |
52 |
53 |
53 $download_data_markup = '<div class="export-personal-data" ' . |
54 $download_data_markup = '<span class="export-personal-data" ' . |
54 'data-exporters-count="' . esc_attr( $exporters_count ) . '" ' . |
55 'data-exporters-count="' . esc_attr( $exporters_count ) . '" ' . |
55 'data-request-id="' . esc_attr( $request_id ) . '" ' . |
56 'data-request-id="' . esc_attr( $request_id ) . '" ' . |
56 'data-nonce="' . esc_attr( $nonce ) . |
57 'data-nonce="' . esc_attr( $nonce ) . |
57 '">'; |
58 '">'; |
58 |
59 |
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 $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-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 '<span class="export-personal-data-success hidden"><button type="button" class="button-link export-personal-data-handle">' . __( 'Download personal data again' ) . '</button></span>' . |
62 '<span class="export-personal-data-failed hidden">' . __( 'Download failed.' ) . ' <button type="button" class="button-link">' . __( 'Retry' ) . '</button></span>'; |
63 '<span class="export-personal-data-failed hidden">' . __( 'Download failed.' ) . ' <button type="button" class="button-link">' . __( 'Retry' ) . '</button></span>'; |
63 |
64 |
64 $download_data_markup .= '</div>'; |
65 $download_data_markup .= '</span>'; |
65 |
66 |
66 $row_actions = array( |
67 $row_actions['download-data'] = $download_data_markup; |
67 'download-data' => $download_data_markup, |
68 |
68 ); |
69 if ( 'request-completed' !== $status ) { |
|
70 $complete_request_markup = '<span>'; |
|
71 $complete_request_markup .= sprintf( |
|
72 '<a href="%s" class="complete-request" aria-label="%s">%s</a>', |
|
73 esc_url( |
|
74 wp_nonce_url( |
|
75 add_query_arg( |
|
76 array( |
|
77 'action' => 'complete', |
|
78 'request_id' => array( $request_id ), |
|
79 ), |
|
80 admin_url( 'export-personal-data.php' ) |
|
81 ), |
|
82 'bulk-privacy_requests' |
|
83 ) |
|
84 ), |
|
85 esc_attr( |
|
86 sprintf( |
|
87 /* translators: %s: Request email. */ |
|
88 __( 'Mark export request for “%s” as completed.' ), |
|
89 $item->email |
|
90 ) |
|
91 ), |
|
92 __( 'Complete request' ) |
|
93 ); |
|
94 $complete_request_markup .= '</span>'; |
|
95 } |
|
96 |
|
97 if ( ! empty( $complete_request_markup ) ) { |
|
98 $row_actions['complete-request'] = $complete_request_markup; |
|
99 } |
69 |
100 |
70 return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( $row_actions ) ); |
101 return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( $row_actions ) ); |
71 } |
102 } |
72 |
103 |
73 /** |
104 /** |
97 'data-request-id="' . esc_attr( $request_id ) . '" ' . |
128 'data-request-id="' . esc_attr( $request_id ) . '" ' . |
98 'data-nonce="' . esc_attr( $nonce ) . |
129 'data-nonce="' . esc_attr( $nonce ) . |
99 '">'; |
130 '">'; |
100 |
131 |
101 ?> |
132 ?> |
102 <span class="export-personal-data-idle"><button type="button" class="button-link export-personal-data-handle"><?php _e( 'Send Export Link' ); ?></button></span> |
133 <span class="export-personal-data-idle"><button type="button" class="button-link export-personal-data-handle"><?php _e( 'Send export link' ); ?></button></span> |
103 <span class="export-personal-data-processing hidden"><?php _e( 'Sending Email...' ); ?> <span class="export-progress"></span></span> |
134 <span class="export-personal-data-processing hidden"><?php _e( 'Sending email...' ); ?> <span class="export-progress"></span></span> |
104 <span class="export-personal-data-success success-message hidden"><?php _e( 'Email sent.' ); ?></span> |
135 <span class="export-personal-data-success success-message hidden"><?php _e( 'Email sent.' ); ?></span> |
105 <span class="export-personal-data-failed hidden"><?php _e( 'Email could not be sent.' ); ?> <button type="button" class="button-link export-personal-data-handle"><?php _e( 'Retry' ); ?></button></span> |
136 <span class="export-personal-data-failed hidden"><?php _e( 'Email could not be sent.' ); ?> <button type="button" class="button-link export-personal-data-handle"><?php _e( 'Retry' ); ?></button></span> |
106 <?php |
137 <?php |
107 |
138 |
108 echo '</div>'; |
139 echo '</div>'; |