WordPress.org

Make WordPress Core

Ticket #22673: 22673.2.diff

File 22673.2.diff, 12.0 KB (added by koopersmith, 17 months 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