WordPress.org

Make WordPress Core

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

File media-6-23-1am.diff, 2.2 KB (added by noel, 10 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