WordPress.org

Make WordPress Core

Ticket #10337: 10337-dailymotion-oembed.patch

File 10337-dailymotion-oembed.patch, 4.2 KB (added by Viper007Bond, 8 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