From 4f62b4eb66098aeda7e1af43531ab20b43e17333 Mon Sep 17 00:00:00 2001 From: Jonathan Desrosiers Date: Tue, 11 Oct 2022 01:44:09 +0000 Subject: [PATCH] XML-RPC: Avoid loopback request in `blogger.getUsersBlogs`. The `blogger.getUsersBlogs` endpoint does not currently work on Multisite environments which require HTTPS. This changes `wp_xmlrpc_server::_multisite_getUsersBlogs()` to call the method directly instead of relying on a new `IXR_Client` request, which only supports HTTP. Props dd32. Fixes #56492. git-svn-id: https://develop.svn.wordpress.org/trunk@54468 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/class-wp-xmlrpc-server.php | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/wp-includes/class-wp-xmlrpc-server.php b/src/wp-includes/class-wp-xmlrpc-server.php index 10fe6605cc..9723488083 100644 --- a/src/wp-includes/class-wp-xmlrpc-server.php +++ b/src/wp-includes/class-wp-xmlrpc-server.php @@ -4859,12 +4859,9 @@ class wp_xmlrpc_server extends IXR_Server { $domain = $current_blog->domain; $path = $current_blog->path . 'xmlrpc.php'; - $rpc = new IXR_Client( set_url_scheme( "http://{$domain}{$path}" ) ); - $rpc->query( 'wp.getUsersBlogs', $args[1], $args[2] ); - $blogs = $rpc->getResponse(); - - if ( isset( $blogs['faultCode'] ) ) { - return new IXR_Error( $blogs['faultCode'], $blogs['faultString'] ); + $blogs = $this->wp_getUsersBlogs( $args ); + if ( $blogs instanceof IXR_Error ) { + return $blogs; } if ( $_SERVER['HTTP_HOST'] == $domain && $_SERVER['REQUEST_URI'] == $path ) {