WordPress.org

Make WordPress Core

Ticket #42433: 42433.1.diff

File 42433.1.diff, 2.9 KB (added by westonruter, 2 years ago)
  • src/wp-admin/js/customize-controls.js

    diff --git src/wp-admin/js/customize-controls.js src/wp-admin/js/customize-controls.js
    index bd48ebe652..2d13952a42 100644
     
    77757775                                if ( ! api.state( 'activated' ).get() ) {
    77767776                                        params.customize_theme = api.settings.theme.stylesheet;
    77777777                                }
    7778                                 if ( api.settings.changeset.autosaved || ! api.state( 'saved' ).get() ) {
    7779                                         params.customize_autosaved = 'on';
    7780                                 }
    77817778
    77827779                                urlParser.search = $.param( params );
    77837780                                return urlParser.href;
  • src/wp-includes/class-wp-customize-manager.php

    diff --git src/wp-includes/class-wp-customize-manager.php src/wp-includes/class-wp-customize-manager.php
    index 607349b04a..47c36487a1 100644
    final class WP_Customize_Manager { 
    11301130                if ( ! $changeset_post_id ) {
    11311131                        $this->_changeset_data = array();
    11321132                } else {
    1133                         if ( $this->autosaved() ) {
     1133                        if ( $this->autosaved() && is_user_logged_in() ) {
    11341134                                $autosave_post = wp_get_post_autosave( $changeset_post_id, get_current_user_id() );
    11351135                                if ( $autosave_post ) {
    11361136                                        $data = $this->get_changeset_post_data( $autosave_post->ID );
    final class WP_Customize_Manager { 
    28732873                                $post_array['edit_date'] = true; // Prevent date clearing.
    28742874                                $r = wp_update_post( wp_slash( $post_array ), true );
    28752875
    2876                                 // Delete autosave revision when the changeset is updated.
    2877                                 $autosave_draft = wp_get_post_autosave( $changeset_post_id, get_current_user_id() );
    2878                                 if ( $autosave_draft ) {
    2879                                         wp_delete_post( $autosave_draft->ID, true );
     2876                                // Delete autosave revision for user when the changeset is updated.
     2877                                if ( ! empty( $args['user_id'] ) ) {
     2878                                        $autosave_draft = wp_get_post_autosave( $changeset_post_id, $args['user_id'] );
     2879                                        if ( $autosave_draft ) {
     2880                                                wp_delete_post( $autosave_draft->ID, true );
     2881                                        }
    28802882                                }
    28812883                        }
    28822884                } else {
    final class WP_Customize_Manager { 
    34963498                        wp_send_json_error( 'invalid_nonce', 403 );
    34973499                }
    34983500
     3501                // Calls to dismiss_user_auto_draft_changesets() and wp_get_post_autosave() require non-zero get_current_user_id().
     3502                if ( ! is_user_logged_in() ) {
     3503                        wp_send_json_error( 'not_authenticated', 401 );
     3504                }
     3505
    34993506                $changeset_post_id = $this->changeset_post_id();
    35003507                $dismiss_lock = ! empty( $_POST['dismiss_lock'] );
    35013508                $dismiss_autosave = ! empty( $_POST['dismiss_autosave'] );
    final class WP_Customize_Manager { 
    45434550                $changeset_post_id = $this->changeset_post_id();
    45444551                if ( ! $this->saved_starter_content_changeset && ! $this->autosaved() ) {
    45454552                        if ( $changeset_post_id ) {
    4546                                 $autosave_revision_post = wp_get_post_autosave( $changeset_post_id, get_current_user_id() );
     4553                                if ( is_user_logged_in() ) {
     4554                                        $autosave_revision_post = wp_get_post_autosave( $changeset_post_id, get_current_user_id() );
     4555                                }
    45474556                        } else {
    45484557                                $autosave_autodraft_posts = $this->get_changeset_posts( array(
    45494558                                        'posts_per_page' => 1,