WordPress.org

Make WordPress Core

Ticket #10337: 10337-dailymotion-oembed.patch

File 10337-dailymotion-oembed.patch, 4.2 KB (added by Viper007Bond, 6 years ago)

Change DailyMotion from internal handler to using oEmbed (yay!)

  • wp-includes/class-oembed.php

     
    4040                        '#http://(www\.)?youtube.com/watch.*#i' => array( 'http://www.youtube.com/oembed',            true  ), 
    4141                        'http://blip.tv/file/*'                 => array( 'http://blip.tv/oembed/',                   false ), 
    4242                        '#http://(www\.)?vimeo\.com/.*#i'       => array( 'http://www.vimeo.com/api/oembed.{format}', true  ), 
    43                         '#http://(www\.)?flickr.com/.*#i'       => array( 'http://www.flickr.com/services/oembed/',   true  ), 
    44                         '#http://(www\.)?hulu.com/watch/.*#i'   => array( 'http://www.hulu.com/api/oembed.{format}',  true  ), 
    45                         '#http://(www\.)?viddler.com/.*#i'      => array( 'http://lab.viddler.com/services/oembed/',  true  ), 
     43                        '#http://(www\.)?dailymotion\.com/.*#i' => array( 'http://www.dailymotion.com/api/oembed',    true  ), 
     44                        '#http://(www\.)?flickr\.com/.*#i'      => array( 'http://www.flickr.com/services/oembed/',   true  ), 
     45                        '#http://(www\.)?hulu\.com/watch/.*#i'  => array( 'http://www.hulu.com/api/oembed.{format}',  true  ), 
     46                        '#http://(www\.)?viddler\.com/.*#i'     => array( 'http://lab.viddler.com/services/oembed/',  true  ), 
    4647                        'http://qik.com/*'                      => array( 'http://qik.com/api/oembed.{format}',       false ), 
    4748                        'http://revision3.com/*'                => array( 'http://revision3.com/api/oembed/',         false ), 
    4849                        'http://i*.photobucket.com/albums/*'    => array( 'http://photobucket.com/oembed',            false ), 
    4950                        'http://gi*.photobucket.com/groups/*'   => array( 'http://photobucket.com/oembed',            false ), 
    50                         '#http://(www\.)?scribd.com/.*#i'       => array( 'http://www.scribd.com/services/oembed',    true  ), 
     51                        '#http://(www\.)?scribd\.com/.*#i'      => array( 'http://www.scribd.com/services/oembed',    true  ), 
    5152                        'http://wordpress.tv/*'                 => array( 'http://wordpress.tv/oembed/',              false ), 
    5253                ) ); 
    5354 
     
    265266 
    266267        return $wp_oembed; 
    267268} 
     269 
     270?> 
     271 No newline at end of file 
  • wp-includes/default-embeds.php

     
    4949} 
    5050wp_embed_register_handler( 'polldaddy', '#http://answers.polldaddy.com/poll/(\d+)(.*?)#i', 'wp_embed_handler_polldaddy' ); 
    5151 
    52 /** 
    53  * The DailyMotion.com embed handler callback. DailyMotion does not support oEmbed. 
    54  * 
    55  * @see WP_Embed::register_handler() 
    56  * @see WP_Embed::shortcode() 
    57  * 
    58  * @param array $matches The regex matches from the provided regex when calling {@link wp_embed_register_handler()}. 
    59  * @param array $attr Embed attributes. 
    60  * @param string $url The original URL that was matched by the regex. 
    61  * @param array $rawattr The original unmodified attributes. 
    62  * @return string The embed HTML. 
    63  */ 
    64 function wp_embed_handler_dailymotion( $matches, $attr, $url, $rawattr ) { 
    65         // If the user supplied a fixed width AND height, use it 
    66         if ( !empty($rawattr['width']) && !empty($rawattr['height']) ) { 
    67                 $width  = (int) $rawattr['width']; 
    68                 $height = (int) $rawattr['height']; 
    69         } else { 
    70                 list( $width, $height ) = wp_expand_dimensions( 480, 291, $attr['width'], $attr['height'] ); 
    71         } 
    72  
    73         return apply_filters( 'embed_dailymotion', '<object width="' . esc_attr($width) . '" height="' . esc_attr($height) . '" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"><param name="movie" value="http://www.dailymotion.com/swf/' . esc_attr($matches[3]) . '&amp;related=0"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.dailymotion.com/swf/' . esc_attr($matches[3]) . '&amp;related=0" type="application/x-shockwave-flash" width="' . esc_attr($width) . '" height="' . esc_attr($height) . '" allowFullScreen="true" allowScriptAccess="always"></embed></object>', $matches, $attr, $url, $rawattr );; 
    74 } 
    75 wp_embed_register_handler( 'dailymotion', '#http://(www.dailymotion|dailymotion)\.com/(.+)/([0-9a-zA-Z]+)\_(.*?)#i', 'wp_embed_handler_dailymotion' ); 
     52?> 
     53 No newline at end of file