From 011d33e95b75bd022c26370a5c4fbd068f7a0b0a Mon Sep 17 00:00:00 2001 From: Weston Ruter Date: Fri, 9 Jun 2017 19:29:43 +0000 Subject: [PATCH] Media: Restrict appending `loop` parameter to Vimeo URLs specifically and not all external URLs in Video widget (via shortcode). Fixes issue where Video widgets embedding external files fail to get recognized due to the presence of the `loop` param after the video filename, even though it has a recognized extension. Regardless, the `loop` param is only present to fix a Vimeo issue in ME.js 2.x. Props timmydcrawford. Amends [40640]. See #39686, #39994. Fixes #40977. Built from https://develop.svn.wordpress.org/trunk@40892 git-svn-id: http://core.svn.wordpress.org/trunk@40742 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/media.php | 6 +++++- wp-includes/version.php | 2 +- wp-includes/widgets/class-wp-widget-media-video.php | 6 +----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/wp-includes/media.php b/wp-includes/media.php index a7239297ab..76cc0c11c9 100644 --- a/wp-includes/media.php +++ b/wp-includes/media.php @@ -2556,7 +2556,11 @@ function wp_video_shortcode( $attr, $content = '' ) { } elseif ( $is_vimeo ) { // Remove all query arguments and force SSL - see #40866. $parsed_vimeo_url = wp_parse_url( $atts['src'] ); - $atts['src'] = 'https://' . $parsed_vimeo_url['host'] . $parsed_vimeo_url['path']; + $vimeo_src = 'https://' . $parsed_vimeo_url['host'] . $parsed_vimeo_url['path']; + + // Add loop param for mejs bug - see #40977, not needed after #39686. + $loop = $atts['loop'] ? '1' : '0'; + $atts['src'] = add_query_arg( 'loop', $loop, $vimeo_src ); } } diff --git a/wp-includes/version.php b/wp-includes/version.php index d0d95def2e..c22179c634 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.9-alpha-40885'; +$wp_version = '4.9-alpha-40892'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. diff --git a/wp-includes/widgets/class-wp-widget-media-video.php b/wp-includes/widgets/class-wp-widget-media-video.php index dd90bfac6b..f05928f636 100644 --- a/wp-includes/widgets/class-wp-widget-media-video.php +++ b/wp-includes/widgets/class-wp-widget-media-video.php @@ -115,13 +115,9 @@ class WP_Widget_Media_Video extends WP_Widget_Media { $attachment = get_post( $instance['attachment_id'] ); } + $src = $instance['url']; if ( $attachment ) { $src = wp_get_attachment_url( $attachment->ID ); - } else { - - // Manually add the loop query argument. - $loop = $instance['loop'] ? '1' : '0'; - $src = empty( $instance['url'] ) ? $instance['url'] : add_query_arg( 'loop', $loop, $instance['url'] ); } if ( empty( $src ) ) {