[BUGFIX] Fix url for youtube embeds
[Packages/TYPO3.CMS.git] / typo3 / sysext / frontend / Classes / MediaWizard / MediaWizardProvider.php
index 48a1695..b364171 100644 (file)
@@ -34,7 +34,7 @@ namespace TYPO3\CMS\Frontend\MediaWizard;
  * @author Steffen Kamper <info@sk-typo3.de>
  * @author Ernesto Baschny <ernst@cron-it.de>
  */
-class MediaWizardProvider implements \TYPO3\CMS\Frontend\MediaWizard\MediaWizardProviderInterface {
+class MediaWizardProvider implements MediaWizardProviderInterface {
 
        /**
         * @var array List of providers we can handle in this class
@@ -67,6 +67,13 @@ class MediaWizardProvider implements \TYPO3\CMS\Frontend\MediaWizard\MediaWizard
                if ($urlInfo === FALSE) {
                        return NULL;
                }
+               // The URL passed might not contain http:// prefix
+               if (!isset($urlInfo['host'])) {
+                       $urlInfo = @parse_url('http://' . $url);
+               }
+               if (empty($urlInfo['host'])) {
+                       return NULL;
+               }
                $hostName = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode('.', $urlInfo['host'], TRUE);
                foreach ($this->providers as $provider) {
                        $functionName = 'process_' . $provider;
@@ -138,7 +145,7 @@ class MediaWizardProvider implements \TYPO3\CMS\Frontend\MediaWizard\MediaWizard
                }
 
                if ($videoId) {
-                       $url = $this->getUrlSchema() . 'www.youtube.com/embed/' . $videoId . '?fs=1';
+                       $url = $this->getUrlSchema() . 'www.youtube.com/v/' . $videoId . '?fs=1';
                }
                return $url;
        }