Make WordPress Core

Ticket #16191: 16191.diff

File 16191.diff, 2.1 KB (added by mdawaffe, 13 years ago)

PoC

  • wp-includes/default-filters.php

     
    186186add_filter( 'pings_open',           '_close_comments_for_old_post', 10, 2 );
    187187add_filter( 'editable_slug',        'urldecode'                           );
    188188add_filter( 'nav_menu_meta_box_object', '_wp_nav_menu_meta_box_object'    );
     189add_filter( 'wp_handle_upload_prefilter', 'wp_fix_original_filename'      );
    189190
    190191// Atom SSL support
    191192add_filter( 'atom_service_url','atom_service_url_filter' );
  • wp-admin/includes/file.php

     
    10791079        return false;
    10801080}
    10811081
     1082function wp_fix_original_filename( $file ) {
     1083        if ( !isset( $_POST['original_file_name'] ) )
     1084                return $file;
     1085
     1086        $original_name = basename( str_replace( '\\', '/', stripslashes( $_POST['original_file_name'] ) ) );
     1087
     1088        if ( str_replace( '"', '%22', $original_name ) == $file['name'] )
     1089                $file['name'] = $original_name;
     1090
     1091        return $file;
     1092}
     1093
    10821094?>
  • wp-admin/includes/media.php

     
    15301530                };
    15311531                swfu = new SWFUpload(settings);
    15321532};
     1533jQuery( function($) {
     1534        $( '#file-form' ).submit( function() {
     1535                $( '#original-file-name' ).val( $( '#async-upload' ).val() );
     1536        } );
     1537} );
    15331538//]]>
    15341539</script>
    15351540
     
    15521557        <p id="async-upload-wrap">
    15531558                <label class="screen-reader-text" for="async-upload"><?php _e('Upload'); ?></label>
    15541559                <input type="file" name="async-upload" id="async-upload" />
     1560                <input type="hidden" name="original_file_name" id="original-file-name" />
    15551561                <?php submit_button( __( 'Upload' ), 'button', 'html-upload', false ); ?>
    15561562                <a href="#" onclick="try{top.tb_remove();}catch(e){}; return false;"><?php _e('Cancel'); ?></a>
    15571563        </p>