From 0e0524b5a9557b925b988f522579042251e146d6 Mon Sep 17 00:00:00 2001 From: Oliver Hader Date: Tue, 11 Jan 2022 15:54:24 +0100 Subject: [PATCH] [BUGFIX] Use proper regexp for Vimeo URLs in online media helper The change for issue #94357 introduced handling for `event/` URLs, and accidentally modified handling for `video/` URLs as well. As a result, the `video/` IDs were incorrectly resolved containing a leading slash. Resolves: #96509 Releases: main, 11.5, 10.4 Change-Id: I5623ff59dac44a699877e4e5a2e91707f72a407e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72967 Reviewed-by: Mathias Brodala Reviewed-by: Jigal van Hemert Reviewed-by: Oliver Klee Reviewed-by: Oliver Bartsch Reviewed-by: Oliver Hader Tested-by: Jigal van Hemert Tested-by: core-ci Tested-by: Oliver Bartsch Tested-by: Oliver Hader --- .../core/Classes/Resource/OnlineMedia/Helpers/VimeoHelper.php | 2 +- .../Tests/Unit/Resource/OnlineMedia/Helpers/VimeoHelperTest.php | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/typo3/sysext/core/Classes/Resource/OnlineMedia/Helpers/VimeoHelper.php b/typo3/sysext/core/Classes/Resource/OnlineMedia/Helpers/VimeoHelper.php index 908b64e3cbba..2dd8678be366 100644 --- a/typo3/sysext/core/Classes/Resource/OnlineMedia/Helpers/VimeoHelper.php +++ b/typo3/sysext/core/Classes/Resource/OnlineMedia/Helpers/VimeoHelper.php @@ -73,7 +73,7 @@ public function transformUrlToFile($url, Folder $targetFolder) // - vimeo.com// # Share URL // - vimeo.com/event/ // - player.vimeo.com/video// # URL form iframe embed code, can also get code from full iframe snippet - if (preg_match('/vimeo\.com\/(?:video|event\/)?([0-9a-z\/]+)/i', $url, $matches)) { + if (preg_match('/vimeo\.com\/(?:video\/|event\/)?([0-9a-z\/]+)/i', $url, $matches)) { $videoId = $matches[1]; } if (empty($videoId)) { diff --git a/typo3/sysext/core/Tests/Unit/Resource/OnlineMedia/Helpers/VimeoHelperTest.php b/typo3/sysext/core/Tests/Unit/Resource/OnlineMedia/Helpers/VimeoHelperTest.php index 34c042641901..3a310d0f494d 100644 --- a/typo3/sysext/core/Tests/Unit/Resource/OnlineMedia/Helpers/VimeoHelperTest.php +++ b/typo3/sysext/core/Tests/Unit/Resource/OnlineMedia/Helpers/VimeoHelperTest.php @@ -80,6 +80,8 @@ public function transformUrlDataProvider(): array ['https://typo3.org/', null, null], ['https://vimeo.com/', '7215347324', $fileResourceMock], ['https://vimeo.com/', '7215347324/hasf8a65sdsa7d', $fileResourceMock], + ['https://vimeo.com/video/', '7215347324', $fileResourceMock], + ['https://vimeo.com/video/', '7215347324/hasf8a65sdsa7d', $fileResourceMock], ['https://player.vimeo.com/', '7215347324', $fileResourceMock], ['https://player.vimeo.com/', '7215347324/hasf8a65sdsa7d', $fileResourceMock], ['https://vimeo.com/event/', '7215347324', $fileResourceMock],