WordPress.org

Make WordPress Core

Ticket #21329: 21329-2.diff

File 21329-2.diff, 2.7 KB (added by martythornley, 6 years 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' );