WordPress.org

Make WordPress Core

Ticket #22673: 22673.2.diff

File 22673.2.diff, 12.0 KB (added by koopersmith, 5 years ago)
  • wp-admin/includes/ajax-actions.php

     
    16741674}
    16751675
    16761676function wp_ajax_set_post_thumbnail() {
    1677         $json = ! empty( $_REQUEST['json'] );
     1677        $json = ! empty( $_REQUEST['json'] ); // New-style request
    16781678
    16791679        $post_ID = intval( $_POST['post_id'] );
    16801680        if ( !current_user_can( 'edit_post', $post_ID ) ) {
     
    16821682        }
    16831683        $thumbnail_id = intval( $_POST['thumbnail_id'] );
    16841684
    1685         check_ajax_referer( "set_post_thumbnail-$post_ID" );
     1685        if ( $json )
     1686                check_ajax_referer( "update-post_$post_ID" );
     1687        else
     1688                check_ajax_referer( "set_post_thumbnail-$post_ID" );
    16861689
    16871690        if ( $thumbnail_id == '-1' ) {
    16881691                if ( delete_post_thumbnail( $post_ID ) ) {
  • wp-admin/includes/dashboard.php

     
    505505        }
    506506
    507507        $post_ID = (int) $post->ID;
     508
     509        $media_settings = array(
     510                'id' => $post->ID,
     511                'nonce' => wp_create_nonce( 'update-post_' . $post->ID ),
     512        );
     513
     514        if ( current_theme_supports( 'post-thumbnails', $post->post_type ) && post_type_supports( $post->post_type, 'thumbnail' ) ) {
     515                $featured_image_id = get_post_meta( $post->ID, '_thumbnail_id', true );
     516                $media_settings['featuredImageId'] = $featured_image_id ? $featured_image_id : -1;
     517        }
    508518?>
    509519
    510520        <form name="post" action="<?php echo esc_url( admin_url( 'post.php' ) ); ?>" method="post" id="quick-press">
     
    524534                        <textarea name="content" id="content" class="mceEditor" rows="3" cols="15"><?php echo esc_textarea( $post->post_content ); ?></textarea>
    525535                </div>
    526536
    527                 <script type="text/javascript">edCanvas = document.getElementById('content');edInsertContent = null;</script>
     537                <script type="text/javascript">
     538                edCanvas = document.getElementById('content');
     539                edInsertContent = null;
     540                <?php if ( $_POST ) : ?>
     541                wp.media.editor.remove('content');
     542                wp.media.view.settings.post = <?php echo json_encode( $media_settings ); // big juicy hack. ?>;
     543                wp.media.editor.add('content');
     544                <?php endif; ?>
     545                </script>
    528546
    529547                <div class="input-text-wrap" id="tags-input-wrap">
    530548                        <label class="screen-reader-text prompt" for="tags-input" id="tags-input-prompt-text"><?php _e( 'Tags (separate with commas)' ); ?></label>
  • wp-includes/js/media-editor.js

     
    163163                return {
    164164                        defaults: {
    165165                                order:      'ASC',
    166                                 id:         wp.media.view.settings.postId,
     166                                id:         wp.media.view.settings.post.id,
    167167                                itemtag:    'dl',
    168168                                icontag:    'dt',
    169169                                captiontag: 'dd',
     
    439439
    440440                        workflow.state('featured-image').on( 'select', function() {
    441441                                var settings = wp.media.view.settings,
    442                                         featuredImage = settings.featuredImage,
    443442                                        selection = this.get('selection').single();
    444443
    445                                 if ( ! featuredImage )
     444                                if ( ! settings.post.featuredImageId )
    446445                                        return;
    447446
    448                                 featuredImage.id = selection ? selection.id : -1;
     447                                settings.post.featuredImageId = selection ? selection.id : -1;
    449448                                wp.media.post( 'set-post-thumbnail', {
    450449                                        json:         true,
    451                                         post_id:      settings.postId,
    452                                         thumbnail_id: featuredImage.id,
    453                                         _wpnonce:     featuredImage.nonce
     450                                        post_id:      settings.post.id,
     451                                        thumbnail_id: settings.post.featuredImageId,
     452                                        _wpnonce:     settings.post.nonce
    454453                                }).done( function( html ) {
    455454                                        $( '.inside', '#postimagediv' ).html( html );
    456455                                });
     
    526525                                        nonce:      wp.media.view.settings.nonce.sendToEditor,
    527526                                        attachment: options,
    528527                                        html:       html,
    529                                         post_id:    wp.media.view.settings.postId
     528                                        post_id:    wp.media.view.settings.post.id
    530529                                }).done( function( resp ) {
    531530                                        wp.media.editor.insert( resp );
    532531                                });
     
    538537                                        src:     embed.linkUrl,
    539538                                        title:   embed.title,
    540539                                        html:    wp.media.string.link( embed ),
    541                                         post_id: wp.media.view.settings.postId
     540                                        post_id: wp.media.view.settings.post.id
    542541                                }).done( function( resp ) {
    543542                                        wp.media.editor.insert( resp );
    544543                                });
     
    614613
    615614                        // Update the featured image id when the 'remove' link is clicked.
    616615                        }).on( 'click', '#remove-post-thumbnail', function() {
    617                                 wp.media.view.settings.featuredImage.id = -1;
     616                                wp.media.view.settings.post.featuredImageId = -1;
    618617                        });
    619618                }
    620619        };
  • wp-includes/js/media-models.js

     
    244244                                        action:  'save-attachment',
    245245                                        id:      this.id,
    246246                                        nonce:   this.get('nonces').update,
    247                                         post_id: media.model.settings.postId
     247                                        post_id: media.model.settings.post.id
    248248                                });
    249249
    250250                                // Record the values of the changed attributes.
     
    289289                        return media.post( 'save-attachment-compat', _.defaults({
    290290                                id:      this.id,
    291291                                nonce:   this.get('nonces').update,
    292                                 post_id: media.model.settings.postId
     292                                post_id: media.model.settings.post.id
    293293                        }, data ) ).done( function( resp, status, xhr ) {
    294294                                model.set( model.parse( resp, xhr ), options );
    295295                        });
     
    548548                                return;
    549549
    550550                        return media.post( 'save-attachment-order', {
    551                                 nonce:       media.model.settings.updatePostNonce,
    552                                 post_id:     media.model.settings.postId,
     551                                nonce:       media.model.settings.post.nonce,
     552                                post_id:     media.model.settings.post.id,
    553553                                attachments: attachments
    554554                        });
    555555                }
     
    705705                                options.context = this;
    706706                                options.data = _.extend( options.data || {}, {
    707707                                        action:  'query-attachments',
    708                                         post_id: media.model.settings.postId
     708                                        post_id: media.model.settings.post.id
    709709                                });
    710710
    711711                                // Clone the args so manipulation is non-destructive.
  • wp-includes/js/media-views.js

     
    1212        media.view.settings = l10n.settings || {};
    1313        delete l10n.settings;
    1414
    15         // Copy the `postId` setting over to the model settings.
    16         media.model.settings.postId = media.view.settings.postId;
    17         media.model.settings.updatePostNonce = media.view.settings.nonce.updatePost;
     15        // Copy the `post` setting over to the model settings.
     16        media.model.settings.post = media.view.settings.post;
    1817
    1918        // Check if the browser supports CSS 3.0 transitions
    2019        $.support.transition = (function(){
     
    584583
    585584                activate: function() {
    586585                        var selection = this.get('selection'),
    587                                 id = media.view.settings.featuredImage.id,
     586                                id = media.view.settings.post.featuredImageId,
    588587                                attachment;
    589588
    590589                        if ( '' !== id && -1 !== id ) {
     
    14601459                        ]);
    14611460
    14621461
    1463                         if ( media.view.settings.featuredImage ) {
     1462                        if ( media.view.settings.post.featuredImageId ) {
    14641463                                this.states.add( new media.controller.FeaturedImage({
    14651464                                        controller: this,
    14661465                                        menu:       'main'
     
    15121511                                }
    15131512                        });
    15141513
    1515                         if ( media.view.settings.featuredImage ) {
     1514                        if ( media.view.settings.post.featuredImageId ) {
    15161515                                this.menu.view().set( 'featured-image', {
    15171516                                        text: l10n.featuredImageTitle,
    15181517                                        priority: 100
     
    18391838                },
    18401839
    18411840                ready: function() {
    1842                         var postId = media.view.settings.postId,
     1841                        var postId = media.view.settings.post.id,
    18431842                                dropzone;
    18441843
    18451844                        // If the uploader already exists, bail.
     
    18901889                                this.options.$browser = this.controller.uploader.$browser;
    18911890
    18921891                        if ( _.isUndefined( this.options.postId ) )
    1893                                 this.options.postId = media.view.settings.postId;
     1892                                this.options.postId = media.view.settings.post.id;
    18941893
    18951894                        this.views.set( '.upload-inline-status', new media.view.UploaderStatus({
    18961895                                controller: this.controller
     
    30543053                        change: 'change'
    30553054                },
    30563055
    3057                 filters: {},
    30583056                keys: [],
    30593057
    30603058                initialize: function() {
     3059                        this.createFilters();
     3060
    30613061                        // Build `<option>` elements.
    30623062                        this.$el.html( _.chain( this.filters ).map( function( filter, value ) {
    30633063                                return {
     
    30703070                        this.select();
    30713071                },
    30723072
     3073                createFilters: function() {
     3074                        this.filters = {};
     3075                },
     3076
    30733077                change: function( event ) {
    30743078                        var filter = this.filters[ this.el.value ];
    30753079
     
    30963100        });
    30973101
    30983102        media.view.AttachmentFilters.Uploaded = media.view.AttachmentFilters.extend({
    3099                 filters: {
    3100                         all: {
    3101                                 text:  l10n.allMediaItems,
    3102                                 props: {
    3103                                         uploadedTo: null,
    3104                                         orderby: 'date',
    3105                                         order:   'DESC'
     3103                createFilters: function() {
     3104                        this.filters = {
     3105                                all: {
     3106                                        text:  l10n.allMediaItems,
     3107                                        props: {
     3108                                                uploadedTo: null,
     3109                                                orderby: 'date',
     3110                                                order:   'DESC'
     3111                                        },
     3112                                        priority: 10
    31063113                                },
    3107                                 priority: 10
    3108                         },
    31093114
    3110                         uploaded: {
    3111                                 text:  l10n.uploadedToThisPost,
    3112                                 props: {
    3113                                         uploadedTo: media.view.settings.postId,
    3114                                         orderby: 'menuOrder',
    3115                                         order:   'ASC'
    3116                                 },
    3117                                 priority: 20
    3118                         }
     3115                                uploaded: {
     3116                                        text:  l10n.uploadedToThisPost,
     3117                                        props: {
     3118                                                uploadedTo: media.view.settings.post.id,
     3119                                                orderby: 'menuOrder',
     3120                                                order:   'ASC'
     3121                                        },
     3122                                        priority: 20
     3123                                }
     3124                        };
    31193125                }
    31203126        });
    31213127
    31223128        media.view.AttachmentFilters.All = media.view.AttachmentFilters.extend({
    3123                 filters: (function() {
     3129                createFilters: function() {
    31243130                        var filters = {};
    31253131
    31263132                        _.each( media.view.settings.mimeTypes || {}, function( text, key ) {
     
    31503156                                text:  l10n.uploadedToThisPost,
    31513157                                props: {
    31523158                                        type:    null,
    3153                                         uploadedTo: media.view.settings.postId,
     3159                                        uploadedTo: media.view.settings.post.id,
    31543160                                        orderby: 'menuOrder',
    31553161                                        order:   'ASC'
    31563162                                },
    31573163                                priority: 20
    31583164                        };
    31593165
    3160                         return filters;
    3161                 }())
     3166                        this.filters = filters;
     3167                }
    31623168        });
    31633169
    31643170
  • wp-includes/js/plupload/wp-plupload.js

     
    157157                                        date:      new Date(),
    158158                                        filename:  file.name,
    159159                                        menuOrder: 0,
    160                                         uploadedTo: wp.media.model.settings.postId
     160                                        uploadedTo: wp.media.model.settings.post.id
    161161                                }, _.pick( file, 'loaded', 'size', 'percent' ) );
    162162
    163163                                // Handle early mime type scanning for images.
  • wp-includes/media.php

     
    14271427                'nonce'     => array(
    14281428                        'sendToEditor' => wp_create_nonce( 'media-send-to-editor' ),
    14291429                ),
    1430                 'postId'    => 0,
     1430                'post'    => array(
     1431                        'id' => 0,
     1432                ),
    14311433        );
    14321434
    14331435        $post = null;
    14341436        if ( isset( $args['post'] ) ) {
    14351437                $post = get_post( $args['post'] );
    1436                 $settings['postId'] = $post->ID;
    1437                 $settings['nonce']['updatePost'] = wp_create_nonce( 'update-post_' . $post->ID );
     1438                $settings['post'] = array(
     1439                        'id' => $post->ID,
     1440                        'nonce' => wp_create_nonce( 'update-post_' . $post->ID ),
     1441                );
    14381442
    14391443                if ( current_theme_supports( 'post-thumbnails', $post->post_type ) && post_type_supports( $post->post_type, 'thumbnail' ) ) {
    1440 
    1441                         $featuredImageId = get_post_meta( $post->ID, '_thumbnail_id', true );
    1442 
    1443                         $settings['featuredImage'] = array(
    1444                                 'id'    => $featuredImageId ? $featuredImageId : -1,
    1445                                 'nonce' => wp_create_nonce( 'set_post_thumbnail-' . $post->ID ),
    1446                         );
     1444                        $featured_image_id = get_post_meta( $post->ID, '_thumbnail_id', true );
     1445                        $settings['post']['featuredImageId'] = $featured_image_id ? $featured_image_id : -1;
    14471446                }
    14481447        }
    14491448
  • wp-includes/script-loader.php

     
    323323        did_action( 'init' ) && $scripts->localize( 'media-models', '_wpMediaModelsL10n', array(
    324324                'settings' => array(
    325325                        'ajaxurl' => admin_url( 'admin-ajax.php', 'relative' ),
    326                         'postId'  => 0,
     326                        'post' => array( 'id' => 0 ),
    327327                ),
    328328        ) );
    329329