_wp_personal_data_handle_actions()

This function’s access is marqued private. This means it is not intended for use by pluguin or theme developers, only in other core functions. It is listed here for completeness.

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.