WordPress.org

Make WordPress Core

Changeset 22853


Ignore:
Timestamp:
11/26/2012 11:10:19 PM (5 years 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.