Automattic\WooCommerce\Internal\RestApi\Routes\V4\Orders

ActionController::action_reset_download_permissionsprivateWC 1.0

Regenerate the download permissions for the order.

Method of the class: ActionController{}

No Hooks.

Returns

true|false.

Usage

// private - for code of main (parent) class only
$result = $this->action_reset_download_permissions( $action_value, $order, $request );
$action_value(true|false) (required)
The action value.
$order(WC_Order) (required)
The order object.
$request(WP_REST_Request) (required)
The request object.

ActionController::action_reset_download_permissions() code WC 10.4.3

private function action_reset_download_permissions( $action_value, WC_Order $order, WP_REST_Request $request ) {
	if ( ! $action_value ) {
		return false;
	}

	$data_store = \WC_Data_Store::load( 'customer-download' );

	if ( $data_store ) {
		$data_store->delete_by_order_id( $order->get_id() );
	}

	wc_downloadable_product_permissions( $order->get_id(), true );

	$user_agent = esc_html( $request->get_header( 'User-Agent' ) );
	$order->add_order_note(
		esc_html__( 'Download permissions were reset manually.', 'woocommerce' ),
		false,
		true,
		array(
			'user_agent' => $user_agent ? $user_agent : 'REST API',
			'note_title' => __( 'Download permissions', 'woocommerce' ),
			'note_group' => OrderNoteGroup::ORDER_UPDATE,
		)
	);

	return true;
}