_wp_personal_data_handle_actions

The timeline below displays how wordpress function _wp_personal_data_handle_actions has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.7

/**
 * Handle list table actions.
 *
 * @since 4.9.6
 * @access private
 */
function _wp_personal_data_handle_actions()
{
    if (isset($_POST['privacy_action_email_retry'])) {
        check_admin_referer('bulk-privacy_requests');
        $request_id = absint(current(array_keys((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->get_error_message(), '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'])) ? sanitize_key(wp_unslash($_POST['action'])) : '';
        switch ($action) {
            case 'add_export_personal_data_request':
            case 'add_remove_personal_data_request':
                check_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 = sanitize_text_field(wp_unslash($_POST['type_of_action']));
                $username_or_email_address = sanitize_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 = get_user_by('login', $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)) {
                    break;
                }
                $request_id = wp_create_user_request($email_address, $action_type, array(), $status);
                $message = '';
                if (is_wp_error($request_id)) {
                    $message = $request_id->get_error_message();
                } elseif (!$request_id) {
                    $message = __('Unable to initiate confirmation request.');
                }
                if ($message) {
                    add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', $message, 'error');
                    break;
                }
                if ('pending' === $status) {
                    wp_send_user_request($request_id);
                    $message = __('Confirmation request initiated successfully.');
                } elseif ('confirmed' === $status) {
                    $message = __('Request added successfully.');
                }
                if ($message) {
                    add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', $message, 'success');
                    break;
                }
        }
    }
}

WordPress Version: 5.6

/**
 * Handle list table actions.
 *
 * @since 4.9.6
 * @access private
 */
function _wp_personal_data_handle_actions()
{
    if (isset($_POST['privacy_action_email_retry'])) {
        check_admin_referer('bulk-privacy_requests');
        $request_id = absint(current(array_keys((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->get_error_message(), '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'])) ? sanitize_key(wp_unslash($_POST['action'])) : '';
        switch ($action) {
            case 'add_export_personal_data_request':
            case 'add_remove_personal_data_request':
                check_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 user privacy action.'), 'error');
                }
                $action_type = sanitize_text_field(wp_unslash($_POST['type_of_action']));
                $username_or_email_address = sanitize_text_field(wp_unslash($_POST['username_or_email_for_privacy_request']));
                $email_address = '';
                if (!in_array($action_type, _wp_privacy_action_request_types(), true)) {
                    add_settings_error('action_type', 'action_type', __('Invalid user privacy action.'), 'error');
                }
                if (!is_email($username_or_email_address)) {
                    $user = get_user_by('login', $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)) {
                    break;
                }
                $request_id = wp_create_user_request($email_address, $action_type);
                if (is_wp_error($request_id)) {
                    add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', $request_id->get_error_message(), 'error');
                    break;
                } elseif (!$request_id) {
                    add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', __('Unable to initiate confirmation request.'), 'error');
                    break;
                }
                wp_send_user_request($request_id);
                add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', __('Confirmation request initiated successfully.'), 'success');
                break;
        }
    }
}

WordPress Version: 5.3

/**
 * Handle list table actions.
 *
 * @since 4.9.6
 * @access private
 */
function _wp_personal_data_handle_actions()
{
    if (isset($_POST['privacy_action_email_retry'])) {
        check_admin_referer('bulk-privacy_requests');
        $request_id = absint(current(array_keys((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->get_error_message(), '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'])) ? sanitize_key(wp_unslash($_POST['action'])) : '';
        switch ($action) {
            case 'add_export_personal_data_request':
            case 'add_remove_personal_data_request':
                check_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 action.'), 'error');
                }
                $action_type = sanitize_text_field(wp_unslash($_POST['type_of_action']));
                $username_or_email_address = sanitize_text_field(wp_unslash($_POST['username_or_email_for_privacy_request']));
                $email_address = '';
                if (!in_array($action_type, _wp_privacy_action_request_types(), true)) {
                    add_settings_error('action_type', 'action_type', __('Invalid action.'), 'error');
                }
                if (!is_email($username_or_email_address)) {
                    $user = get_user_by('login', $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)) {
                    break;
                }
                $request_id = wp_create_user_request($email_address, $action_type);
                if (is_wp_error($request_id)) {
                    add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', $request_id->get_error_message(), 'error');
                    break;
                } elseif (!$request_id) {
                    add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', __('Unable to initiate confirmation request.'), 'error');
                    break;
                }
                wp_send_user_request($request_id);
                add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', __('Confirmation request initiated successfully.'), 'success');
                break;
        }
    }
}

WordPress Version: 9.8

/**
 * Handle list table actions.
 *
 * @since 4.9.6
 * @access private
 */
function _wp_personal_data_handle_actions()
{
    if (isset($_POST['privacy_action_email_retry'])) {
        check_admin_referer('bulk-privacy_requests');
        $request_id = absint(current(array_keys((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->get_error_message(), 'error');
        } else {
            add_settings_error('privacy_action_email_retry', 'privacy_action_email_retry', __('Confirmation request sent again successfully.'), 'updated');
        }
    } elseif (isset($_POST['action'])) {
        $action = isset($_POST['action']) ? sanitize_key(wp_unslash($_POST['action'])) : '';
        switch ($action) {
            case 'add_export_personal_data_request':
            case 'add_remove_personal_data_request':
                check_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 action.'), 'error');
                }
                $action_type = sanitize_text_field(wp_unslash($_POST['type_of_action']));
                $username_or_email_address = sanitize_text_field(wp_unslash($_POST['username_or_email_for_privacy_request']));
                $email_address = '';
                if (!in_array($action_type, _wp_privacy_action_request_types(), true)) {
                    add_settings_error('action_type', 'action_type', __('Invalid action.'), 'error');
                }
                if (!is_email($username_or_email_address)) {
                    $user = get_user_by('login', $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)) {
                    break;
                }
                $request_id = wp_create_user_request($email_address, $action_type);
                if (is_wp_error($request_id)) {
                    add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', $request_id->get_error_message(), 'error');
                    break;
                } elseif (!$request_id) {
                    add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', __('Unable to initiate confirmation request.'), 'error');
                    break;
                }
                wp_send_user_request($request_id);
                add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', __('Confirmation request initiated successfully.'), 'updated');
                break;
        }
    }
}

WordPress Version: 9.6

/**
 * Handle list table actions.
 *
 * @since 4.9.6
 * @access private
 */
function _wp_personal_data_handle_actions()
{
    if (isset($_POST['privacy_action_email_retry'])) {
        // WPCS: input var ok.
        check_admin_referer('bulk-privacy_requests');
        $request_id = absint(current(array_keys((array) wp_unslash($_POST['privacy_action_email_retry']))));
        // WPCS: input var ok, sanitization ok.
        $result = _wp_privacy_resend_request($request_id);
        if (is_wp_error($result)) {
            add_settings_error('privacy_action_email_retry', 'privacy_action_email_retry', $result->get_error_message(), 'error');
        } else {
            add_settings_error('privacy_action_email_retry', 'privacy_action_email_retry', __('Confirmation request sent again successfully.'), 'updated');
        }
    } elseif (isset($_POST['action'])) {
        $action = isset($_POST['action']) ? sanitize_key(wp_unslash($_POST['action'])) : '';
        // WPCS: input var ok, CSRF ok.
        switch ($action) {
            case 'add_export_personal_data_request':
            case 'add_remove_personal_data_request':
                check_admin_referer('personal-data-request');
                if (!isset($_POST['type_of_action'], $_POST['username_or_email_to_export'])) {
                    // WPCS: input var ok.
                    add_settings_error('action_type', 'action_type', __('Invalid action.'), 'error');
                }
                $action_type = sanitize_text_field(wp_unslash($_POST['type_of_action']));
                // WPCS: input var ok.
                $username_or_email_address = sanitize_text_field(wp_unslash($_POST['username_or_email_to_export']));
                // WPCS: input var ok.
                $email_address = '';
                if (!in_array($action_type, _wp_privacy_action_request_types(), true)) {
                    add_settings_error('action_type', 'action_type', __('Invalid action.'), 'error');
                }
                if (!is_email($username_or_email_address)) {
                    $user = get_user_by('login', $username_or_email_address);
                    if (!$user instanceof WP_User) {
                        add_settings_error('username_or_email_to_export', 'username_or_email_to_export', __('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)) {
                    break;
                }
                $request_id = wp_create_user_request($email_address, $action_type);
                if (is_wp_error($request_id)) {
                    add_settings_error('username_or_email_to_export', 'username_or_email_to_export', $request_id->get_error_message(), 'error');
                    break;
                } elseif (!$request_id) {
                    add_settings_error('username_or_email_to_export', 'username_or_email_to_export', __('Unable to initiate confirmation request.'), 'error');
                    break;
                }
                wp_send_user_request($request_id);
                add_settings_error('username_or_email_to_export', 'username_or_email_to_export', __('Confirmation request initiated successfully.'), 'updated');
                break;
        }
    }
}

WordPress Version: .10

/**
 * Handle list table actions.
 *
 * @since 4.9.6
 * @access private
 */
function _wp_personal_data_handle_actions()
{
    if (isset($_POST['privacy_action_email_retry'])) {
        check_admin_referer('bulk-privacy_requests');
        $request_id = absint(current(array_keys((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->get_error_message(), 'error');
        } else {
            add_settings_error('privacy_action_email_retry', 'privacy_action_email_retry', __('Confirmation request sent again successfully.'), 'updated');
        }
    } elseif (isset($_POST['action'])) {
        $action = isset($_POST['action']) ? sanitize_key(wp_unslash($_POST['action'])) : '';
        switch ($action) {
            case 'add_export_personal_data_request':
            case 'add_remove_personal_data_request':
                check_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 action.'), 'error');
                }
                $action_type = sanitize_text_field(wp_unslash($_POST['type_of_action']));
                $username_or_email_address = sanitize_text_field(wp_unslash($_POST['username_or_email_for_privacy_request']));
                $email_address = '';
                if (!in_array($action_type, _wp_privacy_action_request_types(), true)) {
                    add_settings_error('action_type', 'action_type', __('Invalid action.'), 'error');
                }
                if (!is_email($username_or_email_address)) {
                    $user = get_user_by('login', $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)) {
                    break;
                }
                $request_id = wp_create_user_request($email_address, $action_type);
                if (is_wp_error($request_id)) {
                    add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', $request_id->get_error_message(), 'error');
                    break;
                } elseif (!$request_id) {
                    add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', __('Unable to initiate confirmation request.'), 'error');
                    break;
                }
                wp_send_user_request($request_id);
                add_settings_error('username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', __('Confirmation request initiated successfully.'), 'updated');
                break;
        }
    }
}