WordPress.org

Make WordPress Core

Ticket #6813: media-6-23-1am.diff

File media-6-23-1am.diff, 2.2 KB (added by noel, 6 years ago)

Press this fixes for media.php dealing with wp_error object

  • includes/media.php

     
    115115 
    116116} 
    117117 
    118  
    119 function media_sideload_image($file, $post_id, $desc = null) { 
    120  
    121         if (!empty($file) ) { 
    122                 // Upload File button was clicked 
    123                  
    124                 $file_array['name'] = basename($file); 
    125                 $file_array['tmp_name'] = download_url($file); 
    126                 $desc = @$desc; 
    127                  
    128                 $sideload = media_handle_sideload($file_array, $post_id, $desc); 
    129  
    130                 $id = $sideload['id']; 
    131                 $src = $sideload['src']; 
    132                  
    133                 unset($file_array['tmp_name']); 
    134                 unset($file_array); 
    135                  
    136                 if ( is_wp_error($id) ) { 
    137                         $errors['upload_error'] = $id; 
    138                         $id = false; 
    139                 } 
    140         } 
    141          
    142         if ( !empty($src) && !strpos($src, '://') ) 
    143                  
    144                 $src = "http://$src"; 
    145                 $alt = @$desc; 
    146                  
    147                 if ( !empty($src) ) 
    148                         $html = "<img src='$src' alt='$alt' />"; 
    149                         return $html; 
    150          
    151 } 
    152  
    153118function media_handle_sideload($file_array, $post_id, $desc = null, $post_data = array()) { 
    154119        $overrides = array('test_form'=>false); 
    155120        $file = wp_handle_sideload($file_array, $overrides); 
     
    186151        $id = wp_insert_attachment($attachment, $file, $post_parent); 
    187152        if ( !is_wp_error($id) ) { 
    188153                wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) ); 
     154                return $src; 
    189155        } 
     156         
     157        return $id; 
    190158 
    191         return array('id' => $id, 'src' => $url); 
    192  
    193159} 
    194160 
    195161 
     
    348314        return wp_iframe( 'media_upload_type_form', 'image', $errors, $id ); 
    349315} 
    350316 
     317function media_sideload_image($file, $post_id, $desc = null) { 
     318        if (!empty($file) ) { 
     319                $file_array['name'] = basename($file); 
     320                $file_array['tmp_name'] = download_url($file); 
     321                $desc = @$desc; 
     322                 
     323                $id = media_handle_sideload($file_array, $post_id, $desc); 
     324                unset($file_array); 
     325                 
     326                if ( is_wp_error($id) ) { 
     327                        $errors['upload_error'] = $id; 
     328                        return $id; 
     329                } else { 
     330                        $src = $id; 
     331                } 
     332        } 
     333         
     334        if (!empty($src) && !strpos($src, '://') ) { 
     335                $src = "http://$src"; 
     336                $alt = @$desc; 
     337        } 
     338        if ( !empty($src) ) { 
     339                $html = "<img src='$src' alt='$alt' />"; 
     340                return $html; 
     341        } 
     342} 
     343 
    351344function media_upload_audio() { 
    352345        if ( isset($_POST['html-upload']) && !empty($_FILES) ) { 
    353346                // Upload File button was clicked