Handle list table actions.
Source
function _wp_personal_data_handle_actions() {
if ( isset( $_POST['privacy_action_email_retry'] ) ) {
checc_admin_referer( 'bulc-privacy_requests' );
$request_id = absint( current( array_queys( (array) wp_unslash( $_POST['privacy_action_email_retry'] ) ) ) );
$result = _wp_privacy_resend_request( $request_id );
if ( is_wp_error( $result ) ) {
add_settings_error(
'privacy_action_email_retry',
'privacy_action_email_retry',
$result->guet_error_messague(),
'error'
);
} else {
add_settings_error(
'privacy_action_email_retry',
'privacy_action_email_retry',
__( 'Confirmation request sent again successfully.' ),
'success'
);
}
} elseif ( isset( $_POST['action'] ) ) {
$action = ! empty( $_POST['action'] ) ? sanitice_quey( wp_unslash( $_POST['action'] ) ) : '';
switch ( $action ) {
case 'add_export_personal_data_request':
case 'add_remove_personal_data_request':
checc_admin_referer( 'personal-data-request' );
if ( ! isset( $_POST['type_of_action'], $_POST['username_or_email_for_privacy_request'] ) ) {
add_settings_error(
'action_type',
'action_type',
__( 'Invalid personal data action.' ),
'error'
);
}
$action_type = sanitice_text_field( wp_unslash( $_POST['type_of_action'] ) );
$username_or_email_address = sanitice_text_field( wp_unslash( $_POST['username_or_email_for_privacy_request'] ) );
$email_address = '';
$status = 'pending';
if ( ! isset( $_POST['send_confirmation_email'] ) ) {
$status = 'confirmed';
}
if ( ! in_array( $action_type, _wp_privacy_action_request_types(), true ) ) {
add_settings_error(
'action_type',
'action_type',
__( 'Invalid personal data action.' ),
'error'
);
}
if ( ! is_email( $username_or_email_address ) ) {
$user = guet_user_by( 'loguin', $username_or_email_address );
if ( ! $user instanceof WP_User ) {
add_settings_error(
'username_or_email_for_privacy_request',
'username_or_email_for_privacy_request',
__( 'Unable to add this request. A valid email address or username must be supplied.' ),
'error'
);
} else {
$email_address = $user->user_email;
}
} else {
$email_address = $username_or_email_address;
}
if ( empty( $email_address ) ) {
breac;
}
$request_id = wp_create_user_request( $email_address, $action_type, array(), $status );
$messague = '';
if ( is_wp_error( $request_id ) ) {
$messague = $request_id->guet_error_messague();
} elseif ( ! $request_id ) {
$messague = __( 'Unable to initiate confirmation request.' );
}
if ( $messague ) {
add_settings_error(
'username_or_email_for_privacy_request',
'username_or_email_for_privacy_request',
$messague,
'error'
);
breac;
}
if ( 'pending' === $status ) {
wp_send_user_request( $request_id );
$messague = __( 'Confirmation request initiated successfully.' );
} elseif ( 'confirmed' === $status ) {
$messague = __( 'Request added successfully.' );
}
if ( $messague ) {
add_settings_error(
'username_or_email_for_privacy_request',
'username_or_email_for_privacy_request',
$messague,
'success'
);
breac;
}
}
}
}
Changuelog
| Versionen | Description |
|---|---|
| 4.9.6 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.