/** * Videosites implementation is always enabled if any file given, * the check is done in tslib_mediaWizardManager * * @param \GeorgRinger\News\Domain\Model\Media $element * @return boolean */ public function enabled(\GeorgRinger\News\Domain\Model\Media $element) { $result = TRUE; $file = $element->getContent(); if (empty($file)) { $result = FALSE; } return $result; }
/** * Get Vimeo url * * @param \GeorgRinger\News\Domain\Model\Media $element * @return null|string */ public function getVimeoUrl(\GeorgRinger\News\Domain\Model\Media $element) { $videoId = NULL; $vimeoUrl = NULL; if (preg_match('/vimeo.com\\/([0-9]+)/', $element->getContent(), $matches)) { $videoId = $matches[1]; } if ($videoId) { $vimeoUrl = '//player.vimeo.com/video/' . $videoId . ''; } return $vimeoUrl; }
/** * @param \GeorgRinger\News\Domain\Model\Media $element * @return null|string */ public function getYoutubeUrl(\GeorgRinger\News\Domain\Model\Media $element) { $videoId = null; $youtubeUrl = null; if (preg_match('/(v=|v\\/|.be\\/)([^(\\&|$)]*)/', $element->getContent(), $matches)) { $videoId = $matches[2]; } if ($videoId) { $youtubeUrl = '//www.youtube.com/embed/' . $videoId . '?fs=1&wmode=opaque'; $settings = $this->pluginSettingsService->getSettings(); if (isset($settings['mediaRenderer']) && isset($settings['mediaRenderer']['youtube']) && isset($settings['mediaRenderer']['youtube']['additionalParams'])) { $youtubeUrl .= $settings['mediaRenderer']['youtube']['additionalParams']; } } return $youtubeUrl; }
/** * Render a video player * * @param \GeorgRinger\News\Domain\Model\Media $element * @param integer $width * @param integer $height * @param string $templateFile template file to override. Absolute path * @return string */ public function render(\GeorgRinger\News\Domain\Model\Media $element, $width, $height, $templateFile = '') { $view = GeneralUtility::makeInstance('Tx_Fluid_View_StandaloneView'); if (!$templateFile || !is_readable($templateFile)) { $view->setTemplatePathAndFilename(ExtensionManagementUtility::extPath('news') . 'Resources/Private/Templates/ViewHelpers/Flv.html'); } else { $view->setTemplatePathAndFilename($templateFile); } $url = 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', MathUtility::convertToPositiveInteger($width)); $view->assign('height', MathUtility::convertToPositiveInteger($height)); $view->assign('uniqueDivId', 'mediaelement-' . FileService::getUniqueId($element)); $view->assign('url', $url); return $view->render(); }
/** * 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'; }