From ca5efc9aa45c3c7893a09cf0067718fdaab63507 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=utf8 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 Signed-off-by: Katrin Fischer Signed-off-by: Jonathan Druart --- 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.39.5