From 15b2651930f1b29fcb29504f7f61764319bd7a2a Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Wed, 3 Feb 2021 19:50:29 -0300 Subject: [PATCH] Bug 27422: YouTube videos are HTTPS only MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch hardcodes HTTPS as the protocol to use when generating YouTube content embedding. It is the supported protocol and without this patch it falls back to 'http', or it can be 'ftp' depending on the first indicator of the 856 field. They are all not supported so hardcoding it. To test: 1. Have a record with 856 $uhttps://youtu.be/sMNkDPFycNU 2. Enable the HTML5MediaYouTube and HTML5Media sysprefs 3. Open the OPAC detailed view of the record 4. Open the Multimedia tab => FAIL: There's no embedded video 5. Apply this patch 6. Restart all 7. Repeat 4 => SUCCESS: There's a live performance of Heroes del Silencio! 8. Sign off :-D Sponsored-by: Banco Central de la República Argentina Signed-off-by: Tomas Cohen Arazi Signed-off-by: David Cook --- C4/HTML5Media.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/HTML5Media.pm b/C4/HTML5Media.pm index 04fc263169..72c9ce7a6e 100644 --- a/C4/HTML5Media.pm +++ b/C4/HTML5Media.pm @@ -105,7 +105,7 @@ sub gethtml5media { next unless $url =~ m{^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*}; my $video_id = $2; next unless length($video_id) == 11; # Youtube video ids are 11 chars length - $HTML5Media{srcblock} = sprintf '%s://www.youtube.com/embed/%s', $HTML5Media{protocol}, $video_id; + $HTML5Media{srcblock} = sprintf 'https://www.youtube.com/embed/%s', $video_id; $HTML5Media{is_youtube} = 1; $is_youtube = 1; } -- 2.11.0