diff --git a/src/wp-includes/class-wp-xmlrpc-server.php b/src/wp-includes/class-wp-xmlrpc-server.php index 8660bfdc5a..c331591dcf 100644 --- a/src/wp-includes/class-wp-xmlrpc-server.php +++ b/src/wp-includes/class-wp-xmlrpc-server.php @@ -6277,35 +6277,37 @@ class wp_xmlrpc_server extends IXR_Server { 'X-Pingback-Forwarded-For' => $remote_ip, ), ); - $request = wp_safe_remote_get( $pagelinkedfrom, $http_api_args ); - $linea = wp_remote_retrieve_body( $request ); - if ( !$linea ) + $request = wp_safe_remote_get( $pagelinkedfrom, $http_api_args ); + $remote_source = $remote_source_original = wp_remote_retrieve_body( $request ); + + if ( ! $remote_source ) { return $this->pingback_error( 16, __( 'The source URL does not exist.' ) ); + } /** * Filter the pingback remote source. * * @since 2.5.0 * - * @param string $linea Response object for the page linked from. - * @param string $pagelinkedto URL of the page linked to. + * @param string $remote_source Response source for the page linked from. + * @param string $pagelinkedto URL of the page linked to. */ - $linea = apply_filters( 'pre_remote_source', $linea, $pagelinkedto ); + $remote_source = apply_filters( 'pre_remote_source', $remote_source, $pagelinkedto ); // Work around bug in strip_tags(): - $linea = str_replace(']*>/", "\n\n", $linea ); + $remote_source = str_replace( ']*>/", "\n\n", $remote_source ); - preg_match('|([^<]*?)|is', $linea, $matchtitle); + preg_match( '|([^<]*?)|is', $remote_source, $matchtitle ); $title = $matchtitle[1]; if ( empty( $title ) ) return $this->pingback_error( 32, __('We cannot find a title on that page.' ) ); - $linea = strip_tags( $linea, '' ); // just keep the tag we need + $remote_source = strip_tags( $remote_source, '' ); // just keep the tag we need - $p = explode( "\n\n", $linea ); + $p = explode( "\n\n", $remote_source ); $preg_target = preg_quote($pagelinkedto, '|'); @@ -6353,7 +6355,10 @@ class wp_xmlrpc_server extends IXR_Server { $this->escape($comment_content); $comment_type = 'pingback'; - $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_url', 'comment_author_email', 'comment_content', 'comment_type'); + $commentdata = compact( + 'comment_post_ID', 'comment_author', 'comment_author_url', 'comment_author_email', + 'comment_content', 'comment_type', 'remote_source', 'remote_source_original' + ); $comment_ID = wp_new_comment($commentdata);