WordPress.org

Make WordPress Core

Changeset 22994


Ignore:
Timestamp:
12/03/12 07:17:10 (17 months ago)
Author:
ryan
Message:

In the QuickPress media modal, use the new post id when a post is published.

Props nacin, koopersmith
fixes #22673

Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/ajax-actions.php

    r22979 r22994  
    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'] ); 
     
    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' ) { 
  • trunk/wp-admin/includes/dashboard.php

    r22964 r22994  
    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 
     
    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"> 
  • trunk/wp-includes/js/media-editor.js

    r22987 r22994  
    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', 
     
    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 ); 
     
    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 ); 
     
    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 ); 
     
    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        } 
  • trunk/wp-includes/js/media-models.js

    r22987 r22994  
    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 
     
    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 ); 
     
    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            }); 
     
    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 
  • trunk/wp-includes/js/media-views.js

    r22993 r22994  
    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 
     
    608607        activate: function() { 
    609608            var selection = this.get('selection'), 
    610                 id = media.view.settings.featuredImage.id, 
     609                id = media.view.settings.post.featuredImageId, 
    611610                attachment; 
    612611 
     
    14841483 
    14851484 
    1486             if ( media.view.settings.featuredImage ) { 
     1485            if ( media.view.settings.post.featuredImageId ) { 
    14871486                this.states.add( new media.controller.FeaturedImage({ 
    14881487                    controller: this, 
     
    15361535            }); 
    15371536 
    1538             if ( media.view.settings.featuredImage ) { 
     1537            if ( media.view.settings.post.featuredImageId ) { 
    15391538                this.menu.view().set( 'featured-image', { 
    15401539                    text: l10n.featuredImageTitle, 
     
    18631862 
    18641863        ready: function() { 
    1865             var postId = media.view.settings.postId, 
     1864            var postId = media.view.settings.post.id, 
    18661865                dropzone; 
    18671866 
     
    19141913 
    19151914            if ( _.isUndefined( this.options.postId ) ) 
    1916                 this.options.postId = media.view.settings.postId; 
     1915                this.options.postId = media.view.settings.post.id; 
    19171916 
    19181917            this.views.set( '.upload-inline-status', new media.view.UploaderStatus({ 
     
    30783077        }, 
    30793078 
    3080         filters: {}, 
    30813079        keys: [], 
    30823080 
    30833081        initialize: function() { 
     3082            this.createFilters(); 
     3083 
    30843084            // Build `<option>` elements. 
    30853085            this.$el.html( _.chain( this.filters ).map( function( filter, value ) { 
     
    30943094        }, 
    30953095 
     3096        createFilters: function() { 
     3097            this.filters = {}; 
     3098        }, 
     3099 
    30963100        change: function( event ) { 
    30973101            var filter = this.filters[ this.el.value ]; 
     
    31203124 
    31213125    media.view.AttachmentFilters.Uploaded = media.view.AttachmentFilters.extend({ 
    3122         filters: { 
    3123             all: { 
    3124                 text:  l10n.allMediaItems, 
    3125                 props: { 
    3126                     uploadedTo: null, 
    3127                     orderby: 'date', 
    3128                     order:   'DESC' 
     3126        createFilters: function() { 
     3127            this.filters = { 
     3128                all: { 
     3129                    text:  l10n.allMediaItems, 
     3130                    props: { 
     3131                        uploadedTo: null, 
     3132                        orderby: 'date', 
     3133                        order:   'DESC' 
     3134                    }, 
     3135                    priority: 10 
    31293136                }, 
    3130                 priority: 10 
    3131             }, 
    3132  
    3133             uploaded: { 
    3134                 text:  l10n.uploadedToThisPost, 
    3135                 props: { 
    3136                     uploadedTo: media.view.settings.postId, 
    3137                     orderby: 'menuOrder', 
    3138                     order:   'ASC' 
    3139                 }, 
    3140                 priority: 20 
    3141             } 
     3137 
     3138                uploaded: { 
     3139                    text:  l10n.uploadedToThisPost, 
     3140                    props: { 
     3141                        uploadedTo: media.view.settings.post.id, 
     3142                        orderby: 'menuOrder', 
     3143                        order:   'ASC' 
     3144                    }, 
     3145                    priority: 20 
     3146                } 
     3147            }; 
    31423148        } 
    31433149    }); 
    31443150 
    31453151    media.view.AttachmentFilters.All = media.view.AttachmentFilters.extend({ 
    3146         filters: (function() { 
     3152        createFilters: function() { 
    31473153            var filters = {}; 
    31483154 
     
    31743180                props: { 
    31753181                    type:    null, 
    3176                     uploadedTo: media.view.settings.postId, 
     3182                    uploadedTo: media.view.settings.post.id, 
    31773183                    orderby: 'menuOrder', 
    31783184                    order:   'ASC' 
     
    31813187            }; 
    31823188 
    3183             return filters; 
    3184         }()) 
     3189            this.filters = filters; 
     3190        } 
    31853191    }); 
    31863192 
  • trunk/wp-includes/js/plupload/wp-plupload.js

    r22974 r22994  
    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 
  • trunk/wp-includes/media.php

    r22991 r22994  
    14281428            'sendToEditor' => wp_create_nonce( 'media-send-to-editor' ), 
    14291429        ), 
    1430         'postId'    => 0, 
     1430        'post'    => array( 
     1431            'id' => 0, 
     1432        ), 
    14311433    ); 
    14321434 
     
    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    } 
  • trunk/wp-includes/script-loader.php

    r22947 r22994  
    324324        'settings' => array( 
    325325            'ajaxurl' => admin_url( 'admin-ajax.php', 'relative' ), 
    326             'postId'  => 0, 
     326            'post' => array( 'id' => 0 ), 
    327327        ), 
    328328    ) ); 
Note: See TracChangeset for help on using the changeset viewer.