WordPress.org

Make WordPress Core

Changeset 22853


Ignore:
Timestamp:
11/26/12 23:10:19 (17 months ago)
Author:
ryan
Message:

In media_upload_flash_bypass(), pass the post id in the media-new.php url.
In media-new.php, use post_id from REQUEST if passed and the current user can edit the post.
Fixes adding media with the browser uploader.

Props nacin, ocean90
fixes #22572

Location:
trunk/wp-admin
Files:
2 edited

Legend:

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

    r22848 r22853  
    21772177 */ 
    21782178function media_upload_flash_bypass() { 
     2179    $browser_uploader = admin_url( 'media-new.php?browser-uploader' ); 
     2180 
     2181    if ( $post = get_post() ) 
     2182        $browser_uploader .= '&post_id=' . intval( $post->ID ); 
     2183    elseif ( ! empty( $GLOBALS['post_ID'] ) ) 
     2184        $browser_uploader .= '&post_id=' . intval( $GLOBALS['post_ID'] ); 
     2185 
    21792186    ?> 
    21802187    <p class="upload-flash-bypass"> 
    2181     <?php printf( __( 'You are using the multi-file uploader. Problems? Try the <a href="%1$s" target="%2$s">browser uploader</a> instead.' ), admin_url( 'media-new.php?browser-uploader' ), '_blank' ); ?> 
     2188    <?php printf( __( 'You are using the multi-file uploader. Problems? Try the <a href="%1$s" target="%2$s">browser uploader</a> instead.' ), $browser_uploader, '_blank' ); ?> 
    21822189    </p> 
    21832190    <?php 
  • trunk/wp-admin/media-new.php

    r22764 r22853  
    1818wp_enqueue_script('plupload-handlers'); 
    1919 
    20 unset( $_REQUEST['post_id'] ); 
     20$post_id = 0; 
     21if ( isset( $_REQUEST['post_id'] ) ) { 
     22    $post_id = absint( $_REQUEST['post_id'] ); 
     23    if ( ! get_post( $post_id ) || ! current_user_can( 'edit_post', $post_id ) ) 
     24        $post_id = 0; 
     25} 
    2126 
    2227if ( $_POST ) { 
     
    2530        check_admin_referer('media-form'); 
    2631        // Upload File button was clicked 
    27         $id = media_handle_upload('async-upload', $_REQUEST['post_id']); 
     32        $id = media_handle_upload( 'async-upload', $post_id ); 
    2833        if ( is_wp_error( $id ) ) 
    2934            $location .= '?message=3'; 
     
    6974 
    7075    <script type="text/javascript"> 
    71     var post_id = 0, shortform = 3; 
     76    var post_id = <?php echo $post_id; ?>, shortform = 3; 
    7277    </script> 
    73     <input type="hidden" name="post_id" id="post_id" value="0" /> 
     78    <input type="hidden" name="post_id" id="post_id" value="<?php echo $post_id; ?>" /> 
    7479    <?php wp_nonce_field('media-form'); ?> 
    7580    <div id="media-items" class="hide-if-no-js"></div> 
Note: See TracChangeset for help on using the changeset viewer.