WordPress.org

Make WordPress Core

Ticket #21329: 21329-2.diff

File 21329-2.diff, 2.7 KB (added by martythornley, 21 months ago)
  • wp-admin/includes/media.php

     
    629629} 
    630630 
    631631/** 
    632  * {@internal Missing Short Description}} 
     632 * Returns wp_iframe with the proper upload form for media uploads 
     633 * added to the media_upload filter in media-upload.php 
    633634 * 
    634  * @since 2.5.0 
     635 * @since 3.5.0 
    635636 * 
    636  * @return unknown 
     637 * @return HTML from the wp_iframe function 
    637638 */ 
    638 function media_upload_gallery() { 
     639function media_upload() { 
    639640        $errors = array(); 
    640  
    641         if ( !empty($_POST) ) { 
     641        $current_filter = current_filter(); 
     642        $type = str_replace( 'media_upload_' , '' , $current_filter ); 
     643         
     644        if ( !empty($_POST) || empty($type) ) { 
    642645                $return = media_upload_form_handler(); 
    643  
    644646                if ( is_string($return) ) 
    645647                        return $return; 
    646648                if ( is_array($return) ) 
     
    648650        } 
    649651 
    650652        wp_enqueue_script('admin-gallery'); 
    651         return wp_iframe( 'media_upload_gallery_form', $errors ); 
     653         
     654        switch($type) { 
     655                case 'library' : 
     656                                $return = 'media_upload_library_form'; 
     657                        break; 
     658                case 'gallery' : 
     659                                $return = 'media_upload_gallery_form'; 
     660                        break; 
     661                default : 
     662                                $return = 'wp_media_upload_handler'; 
     663                        break;                           
     664        } 
     665        return wp_iframe( $return , $errors ); 
    652666} 
    653667 
    654668/** 
     
    658672 * 
    659673 * @return unknown 
    660674 */ 
     675function media_upload_gallery() { 
     676        media_upload( 'gallery' ); 
     677} 
     678 
     679/** 
     680 * {@internal Missing Short Description}} 
     681 * 
     682 * @since 2.5.0 
     683 * 
     684 * @return unknown 
     685 */ 
    661686function media_upload_library() { 
    662         $errors = array(); 
    663         if ( !empty($_POST) ) { 
    664                 $return = media_upload_form_handler(); 
    665  
    666                 if ( is_string($return) ) 
    667                         return $return; 
    668                 if ( is_array($return) ) 
    669                         $errors = $return; 
    670         } 
    671  
    672         return wp_iframe( 'media_upload_library_form', $errors ); 
     687        media_upload( 'library' ); 
    673688} 
    674689 
    675690/** 
     
    21282143add_filter( 'async_upload_video', 'get_media_item', 10, 2 ); 
    21292144add_filter( 'async_upload_file',  'get_media_item', 10, 2 ); 
    21302145 
    2131 add_action( 'media_upload_image', 'wp_media_upload_handler' ); 
    2132 add_action( 'media_upload_audio', 'wp_media_upload_handler' ); 
    2133 add_action( 'media_upload_video', 'wp_media_upload_handler' ); 
    2134 add_action( 'media_upload_file',  'wp_media_upload_handler' ); 
     2146add_action( 'media_upload_image', 'media_upload' ); 
     2147add_action( 'media_upload_audio', 'media_upload' ); 
     2148add_action( 'media_upload_video', 'media_upload' ); 
     2149add_action( 'media_upload_file',  'media_upload' ); 
    21352150 
    2136 add_filter( 'media_upload_gallery', 'media_upload_gallery' ); 
    2137 add_filter( 'media_upload_library', 'media_upload_library' ); 
     2151add_filter( 'media_upload_gallery', 'media_upload' ); 
     2152add_filter( 'media_upload_library', 'media_upload' );