wp/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php
changeset 18 be944660c56a
parent 16 a86126ab1dd4
child 19 3d72ae0968f4
equal deleted inserted replaced
17:34716fd837a4 18:be944660c56a
    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 &#8220;%s&#8221; 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>';