WordPress.org

Make WordPress Core

Ticket #38609: 38609.0.diff

File 38609.0.diff, 6.8 KB (added by westonruter, 4 years ago)
  • src/wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php

    diff --git src/wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php src/wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php
    index 2749b12..74341db 100644
    class WP_REST_Attachments_Controller extends WP_REST_Posts_Controller { 
    142142                        $attachment->post_title = preg_replace( '/\.[^.]+$/', '', basename( $file ) );
    143143                }
    144144
    145                 $id = wp_insert_post( $attachment, true );
     145                $id = wp_insert_post( wp_slash( $attachment ), true );
    146146
    147147                if ( is_wp_error( $id ) ) {
    148148                        if ( 'db_update_error' === $id->get_error_code() ) {
    class WP_REST_Attachments_Controller extends WP_REST_Posts_Controller { 
    369369                        'description'     => __( 'The caption for the resource.' ),
    370370                        'type'            => 'string',
    371371                        'context'         => array( 'view', 'edit' ),
    372                         'arg_options'     => array(
    373                                 'sanitize_callback' => 'wp_filter_post_kses',
    374                         ),
    375372                );
    376373
    377374                $schema['properties']['description'] = array(
    378375                        'description'     => __( 'The description for the resource.' ),
    379376                        'type'            => 'string',
    380377                        'context'         => array( 'view', 'edit' ),
    381                         'arg_options'     => array(
    382                                 'sanitize_callback' => 'wp_filter_post_kses',
    383                         ),
    384378                );
    385379
    386380                $schema['properties']['media_type'] = array(
  • src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php

    diff --git src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php
    index e5d6237..c9b0907 100644
    class WP_REST_Posts_Controller extends WP_REST_Controller { 
    483483                }
    484484
    485485                $post->post_type = $this->post_type;
    486                 $post_id         = wp_insert_post( $post, true );
     486                $post_id         = wp_insert_post( wp_slash( $post ), true );
    487487
    488488                if ( is_wp_error( $post_id ) ) {
    489489
    class WP_REST_Posts_Controller extends WP_REST_Controller { 
    619619                }
    620620
    621621                // convert the post object to an array, otherwise wp_update_post will expect non-escaped input.
    622                 $post_id = wp_update_post( (array) $post, true );
     622                $post_id = wp_update_post( wp_slash( (array) $post ), true );
    623623
    624624                if ( is_wp_error( $post_id ) ) {
    625625                        if ( 'db_update_error' === $post_id->get_error_code() ) {
    class WP_REST_Posts_Controller extends WP_REST_Controller { 
    955955                // Post title.
    956956                if ( ! empty( $schema['properties']['title'] ) && isset( $request['title'] ) ) {
    957957                        if ( is_string( $request['title'] ) ) {
    958                                 $prepared_post->post_title = wp_filter_post_kses( $request['title'] );
     958                                $prepared_post->post_title = $request['title'];
    959959                        } elseif ( ! empty( $request['title']['raw'] ) ) {
    960                                 $prepared_post->post_title = wp_filter_post_kses( $request['title']['raw'] );
     960                                $prepared_post->post_title = $request['title']['raw'];
    961961                        }
    962962                }
    963963
    964964                // Post content.
    965965                if ( ! empty( $schema['properties']['content'] ) && isset( $request['content'] ) ) {
    966966                        if ( is_string( $request['content'] ) ) {
    967                                 $prepared_post->post_content = wp_filter_post_kses( $request['content'] );
     967                                $prepared_post->post_content = $request['content'];
    968968                        } elseif ( isset( $request['content']['raw'] ) ) {
    969                                 $prepared_post->post_content = wp_filter_post_kses( $request['content']['raw'] );
     969                                $prepared_post->post_content = $request['content']['raw'];
    970970                        }
    971971                }
    972972
    973973                // Post excerpt.
    974974                if ( ! empty( $schema['properties']['excerpt'] ) && isset( $request['excerpt'] ) ) {
    975975                        if ( is_string( $request['excerpt'] ) ) {
    976                                 $prepared_post->post_excerpt = wp_filter_post_kses( $request['excerpt'] );
     976                                $prepared_post->post_excerpt = $request['excerpt'];
    977977                        } elseif ( isset( $request['excerpt']['raw'] ) ) {
    978                                 $prepared_post->post_excerpt = wp_filter_post_kses( $request['excerpt']['raw'] );
     978                                $prepared_post->post_excerpt = $request['excerpt']['raw'];
    979979                        }
    980980                }
    981981
  • src/wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php

    diff --git src/wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php src/wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php
    index ceaa26b..70422d4 100644
    class WP_REST_Terms_Controller extends WP_REST_Controller { 
    379379
    380380                $prepared_term = $this->prepare_item_for_database( $request );
    381381
    382                 $term = wp_insert_term( $prepared_term->name, $this->taxonomy, $prepared_term );
     382                $term = wp_insert_term( $prepared_term->name, $this->taxonomy, wp_slash( $prepared_term ) );
    383383                if ( is_wp_error( $term ) ) {
    384384                        /*
    385385                         * If we're going to inform the client that the term already exists,
    class WP_REST_Terms_Controller extends WP_REST_Controller { 
    490490
    491491                // Only update the term if we haz something to update.
    492492                if ( ! empty( $prepared_term ) ) {
    493                         $update = wp_update_term( $term->term_id, $term->taxonomy, (array) $prepared_term );
     493                        $update = wp_update_term( $term->term_id, $term->taxonomy, wp_slash( (array) $prepared_term ) );
    494494
    495495                        if ( is_wp_error( $update ) ) {
    496496                                return $update;
    class WP_REST_Terms_Controller extends WP_REST_Controller { 
    818818                                        'type'         => 'string',
    819819                                        'context'      => array( 'view', 'edit' ),
    820820                                        'arg_options'  => array(
    821                                                 'sanitize_callback' => 'wp_filter_post_kses',
     821                                                'sanitize_callback' => 'wp_kses_post',
    822822                                        ),
    823823                                ),
    824824                                'link'        => array(
  • src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php

    diff --git src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php src/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php
    index 4576980..42f62aa 100644
    class WP_REST_Users_Controller extends WP_REST_Controller { 
    409409                        }
    410410
    411411                        $user->ID = $user_id;
    412                         $user_id  = wp_update_user( $user );
     412                        $user_id  = wp_update_user( wp_slash( $user ) );
    413413
    414414                        if ( is_wp_error( $user_id ) ) {
    415415                                return $user_id;
    416416                        }
    417417                } else {
    418                         $user_id = wp_insert_user( $user );
     418                        $user_id = wp_insert_user( wp_slash( $user ) );
    419419
    420420                        if ( is_wp_error( $user_id ) ) {
    421421                                return $user_id;
    class WP_REST_Users_Controller extends WP_REST_Controller { 
    530530                // Ensure we're operating on the same user we already checked.
    531531                $user->ID = $id;
    532532
    533                 $user_id = wp_update_user( $user );
     533                $user_id = wp_update_user( wp_slash( $user ) );
    534534
    535535                if ( is_wp_error( $user_id ) ) {
    536536                        return $user_id;
    class WP_REST_Users_Controller extends WP_REST_Controller { 
    970970                                        'type'        => 'string',
    971971                                        'context'     => array( 'embed', 'view', 'edit' ),
    972972                                        'arg_options' => array(
    973                                                 'sanitize_callback' => 'wp_filter_post_kses',
     973                                                'sanitize_callback' => 'wp_kses_post',
    974974                                        ),
    975975                                ),
    976976                                'link'        => array(