/** * Render videos from various video portals * * @param Tx_MooxNews_Domain_Model_Media $element * @param integer $width * @param integer $height * @return string */ public function render(Tx_MooxNews_Domain_Model_Media $element, $width, $height) { $content = $finalUrl = ''; $url = Tx_MooxNews_Service_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/moox_news/Resources/Public/JavaScript/Contrib/swfobject-2-2.js'); $uniqueDivId = 'mediaelement' . Tx_MooxNews_Service_FileService::getUniqueId($element); $content .= '<div id="' . htmlspecialchars($uniqueDivId) . '"></div> <script type="text/javascript"> var params = { allowScriptAccess: "always", allowfullscreen : "true" }; var atts = { id: ' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($uniqueDivId) . ' }; swfobject.embedSWF(' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($finalUrl) . ', ' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($uniqueDivId) . ', "' . (int) $width . '", "' . (int) $height . '", "8", null, null, params, atts); </script>'; } return $content; }
/** * Render mp3 files * * @param Tx_MooxNews_Domain_Model_Media $element * @param integer $width * @param integer $height * @param string $template * @return string */ public function render(Tx_MooxNews_Domain_Model_Media $element, $width, $height, $template = '') { $url = Tx_MooxNews_Service_FileService::getCorrectUrl($element->getMultimedia()); $uniqueId = Tx_MooxNews_Service_FileService::getUniqueId($element); $GLOBALS['TSFE']->getPageRenderer()->addJsFile(self::PATH_TO_JS . 'swfobject-2-2.js'); $GLOBALS['TSFE']->getPageRenderer()->addJsFile(self::PATH_TO_JS . 'audioplayer-noswfobject.js'); $inlineJs = ' AudioPlayer.setup("' . \TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('TYPO3_SITE_URL') . self::PATH_TO_JS . 'audioplayer-player.swf", { width: ' . (int) $width . ' });'; $GLOBALS['TSFE']->getPageRenderer()->addJsInlineCode('news_audio', $inlineJs); $content = '<p id="' . htmlspecialchars($uniqueId) . '">' . htmlspecialchars($element->getCaption()) . '</p> <script type="text/javascript"> AudioPlayer.embed(' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($uniqueId) . ', {soundFile: ' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($url) . '}); </script> '; return $content; }
/** * Render a video player * * @param Tx_MooxNews_Domain_Model_Media $element * @param integer $width * @param integer $height * @param string $templateFile template file to override. Absolute path * @return string */ public function render(Tx_MooxNews_Domain_Model_Media $element, $width, $height, $templateFile = '') { $view = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('Tx_Fluid_View_StandaloneView'); if (!$templateFile || !is_readable($templateFile)) { $view->setTemplatePathAndFilename(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('moox_news') . 'Resources/Private/Templates/ViewHelpers/Flv.html'); } else { $view->setTemplatePathAndFilename($templateFile); } $url = Tx_MooxNews_Service_FileService::getCorrectUrl($element->getContent()); $GLOBALS['TSFE']->getPageRenderer()->addJsFile(self::PATH_TO_JS . 'flowplayer-3.2.12.min.js'); // override width & height if both are set if ($element->getWidth() > 0 && $element->getHeight() > 0) { $width = $element->getWidth(); $height = $element->getHeight(); } $view->assign('width', \TYPO3\CMS\Core\Utility\MathUtility::convertToPositiveInteger($width)); $view->assign('height', \TYPO3\CMS\Core\Utility\MathUtility::convertToPositiveInteger($height)); $view->assign('uniqueDivId', 'mediaelement-' . Tx_MooxNews_Service_FileService::getUniqueId($element)); $view->assign('url', $url); return $view->render(); }