/** * Render videos from various video portals * * @param \GeorgRinger\News\Domain\Model\Media $element * @param integer $width * @param integer $height * @return string */ public function render(\GeorgRinger\News\Domain\Model\Media $element, $width, $height) { $content = $finalUrl = ''; $url = FileService::getCorrectUrl($element->getContent()); // get the correct rewritten url $mediaWizard = \TYPO3\CMS\Frontend\MediaWizard\MediaWizardProviderManager::getValidMediaWizardProvider($url); if ($mediaWizard !== NULL) { $finalUrl = $mediaWizard->rewriteUrl($url); } // override width & height if both are set if ($element->getWidth() > 0 && $element->getHeight() > 0) { $width = $element->getWidth(); $height = $element->getHeight(); } if (!empty($finalUrl)) { $GLOBALS['TSFE']->getPageRenderer()->addJsFile('typo3conf/ext/news/Resources/Public/JavaScript/Contrib/swfobject-2-2.js'); $uniqueDivId = 'mediaelement' . FileService::getUniqueId($element); $content .= '<div id="' . htmlspecialchars($uniqueDivId) . '"></div> <script type="text/javascript"> var params = { allowScriptAccess: "always", allowfullscreen : "true" }; var atts = { id: ' . GeneralUtility::quoteJSvalue($uniqueDivId) . ' }; swfobject.embedSWF(' . GeneralUtility::quoteJSvalue($finalUrl) . ', ' . GeneralUtility::quoteJSvalue($uniqueDivId) . ', "' . (int) $width . '", "' . (int) $height . '", "8", null, null, params, atts); </script>'; } return $content; }
/** * Files with extension flv|mp4 are handled within this implementation * * @param \GeorgRinger\News\Domain\Model\Media $element * @return bool */ public function enabled(\GeorgRinger\News\Domain\Model\Media $element) { $url = FileService::getFalFilename($element->getMultimedia()); $fileEnding = strtolower(substr($url, -3)); $enabled = false; if ($fileEnding === 'flv' || $fileEnding === 'mp4') { $enabled = true; } return $enabled; }
/** * Implementation is only used if file ending is mp3 * * @param \GeorgRinger\News\Domain\Model\Media $element media element * @return boolean */ public function enabled(\GeorgRinger\News\Domain\Model\Media $element) { $url = FileService::getFalFilename($element->getContent()); $fileEnding = strtolower(substr($url, -3)); return $fileEnding === 'mp3'; }
/** * @test * @dataProvider validUrlIsReturnedDataProvider */ public function validUrlIsReturned($expected, $actual) { $result = FileService::getCorrectUrl($actual); $this->assertEquals($expected, $result, 'exp:' . $expected . ', <br />' . $result); }