Make WordPress Core

Ticket #43741: 43742.2.diff

File 43742.2.diff, 889 bytes (added by Karzin, 7 years ago)
  • src/wp-admin/includes/media.php

    diff --git a/src/wp-admin/includes/media.php b/src/wp-admin/includes/media.php
    index cfc80db8ea..0703dc2257 100644
    a b function media_sideload_image( $file, $post_id, $desc = null, $return = 'html' ) 
    924924                // Set variables for storage, fix file filename for query strings.
    925925                preg_match( '/[^\?]+\.(jpe?g|jpe|gif|png)\b/i', $file, $matches );
    926926                if ( ! $matches ) {
    927                         return new WP_Error( 'image_sideload_failed', __( 'Invalid image URL' ) );
     927                        $extension = wp_get_image_mime( $file );
     928                        if ( $extension !== false ) {
     929                                if ( preg_match( '/(jpe?g|jpe|gif|png)/i', $extension, $ext_matches ) ) {
     930                                        $matches = array( '.' . $ext_matches[0] );
     931                                }
     932                        } else {
     933                                return new WP_Error( 'image_sideload_failed', __( 'Invalid image URL' ) );
     934                        }
    928935                }
    929936
    930937                $file_array         = array();