From c634bf235423454f0093b9b34c421ea8a559cf4c Mon Sep 17 00:00:00 2001 From: Django Doucet Date: Mon, 13 Nov 2023 10:29:53 -0700 Subject: [PATCH] Schedule actor delete comments --- includes/rest/class-server.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/includes/rest/class-server.php b/includes/rest/class-server.php index ec0779d..8e1b13d 100644 --- a/includes/rest/class-server.php +++ b/includes/rest/class-server.php @@ -117,6 +117,18 @@ class Server { $verified_request = Signature::verify_http_signature( $request ); if ( \is_wp_error( $verified_request ) ) { + $error_code = $verified_request->get_error_code(); + if ( Application::is_actor_delete_request( $request ) && '404' === $error_code ) { + $actor = Application::is_known_actor( $request ); + if ( wp_http_validate_url( $actor ) ) { + \wp_schedule_single_event( + \time(), + 'activitypub_delete_remote_actor_comments', + array( $actor ) + ); + return $response; + } + } return new WP_Error( 'activitypub_signature_verification', $verified_request->get_error_message(), array( 'status' => 401 ) ); } } elseif ( 'GET' === $request->get_method() ) { // GET-Requests are only signed in secure mode