private function _getSingleVideoHtml($videoId) { $eventDispatcher = tubepress_impl_patterns_sl_ServiceLocator::getEventDispatcher(); $provider = tubepress_impl_patterns_sl_ServiceLocator::getVideoCollector(); $themeHandler = tubepress_impl_patterns_sl_ServiceLocator::getThemeHandler(); $template = $themeHandler->getTemplateInstance('single_video.tpl.php', TUBEPRESS_ROOT . '/src/main/resources/default-themes/default'); /* grab the video from the provider */ if ($this->_logger->isHandling(ehough_epilog_Logger::DEBUG)) { $this->_logger->debug(sprintf('Asking provider for video with ID %s', $videoId)); } $video = $provider->collectSingleVideo($videoId); if ($video === null) { return sprintf('Video %s not found', $videoId); //>(translatable)< } if ($eventDispatcher->hasListeners(tubepress_api_const_event_EventNames::TEMPLATE_SINGLE_VIDEO)) { $event = new tubepress_spi_event_EventBase($template, array('video' => $video)); $eventDispatcher->dispatch(tubepress_api_const_event_EventNames::TEMPLATE_SINGLE_VIDEO, $event); $template = $event->getSubject(); } $html = $template->toString(); if ($eventDispatcher->hasListeners(tubepress_api_const_event_EventNames::HTML_SINGLE_VIDEO)) { $event = new tubepress_spi_event_EventBase($html); $eventDispatcher->dispatch(tubepress_api_const_event_EventNames::HTML_SINGLE_VIDEO, $event); $html = $event->getSubject(); } return $html; }
/** * @return string The HTML for this shortcode handler. */ public final function getHtml() { $execContext = tubepress_impl_patterns_sl_ServiceLocator::getExecutionContext(); $galleryId = $execContext->get(tubepress_api_const_options_names_Advanced::GALLERY_ID); $shouldLog = $this->_logger->isHandling(ehough_epilog_Logger::DEBUG); if ($galleryId == '') { $galleryId = mt_rand(); $result = $execContext->set(tubepress_api_const_options_names_Advanced::GALLERY_ID, $galleryId); if ($result !== true) { return false; } } if ($shouldLog) { $this->_logger->debug(sprintf('Starting to build thumbnail gallery %s', $galleryId)); } $provider = tubepress_impl_patterns_sl_ServiceLocator::getVideoCollector(); $eventDispatcher = tubepress_impl_patterns_sl_ServiceLocator::getEventDispatcher(); $themeHandler = tubepress_impl_patterns_sl_ServiceLocator::getThemeHandler(); $ms = tubepress_impl_patterns_sl_ServiceLocator::getMessageService(); $qss = tubepress_impl_patterns_sl_ServiceLocator::getHttpRequestParameterService(); $template = $themeHandler->getTemplateInstance('gallery.tpl.php', TUBEPRESS_ROOT . '/src/main/resources/default-themes/default'); $page = $qss->getParamValueAsInt(tubepress_spi_const_http_ParamName::PAGE, 1); /* first grab the videos */ if ($shouldLog) { $this->_logger->debug('Asking provider for videos'); } $feedResult = $provider->collectVideoGalleryPage(); $numVideos = sizeof($feedResult->getVideos()); if ($shouldLog) { $this->_logger->debug(sprintf('Provider has delivered %d videos', $numVideos)); } if ($numVideos == 0) { return $ms->_('No matching videos'); //>(translatable)< } /* send the template through the listeners */ if ($eventDispatcher->hasListeners(tubepress_api_const_event_EventNames::TEMPLATE_THUMBNAIL_GALLERY)) { $event = new tubepress_spi_event_EventBase($template, array('page' => $page, 'videoGalleryPage' => $feedResult)); $eventDispatcher->dispatch(tubepress_api_const_event_EventNames::TEMPLATE_THUMBNAIL_GALLERY, $event); $template = $event->getSubject(); } $html = $template->toString(); /* send gallery HTML through the listeners */ if ($eventDispatcher->hasListeners(tubepress_api_const_event_EventNames::HTML_THUMBNAIL_GALLERY)) { $event = new tubepress_spi_event_EventBase($html, array('page' => $page, 'videoGalleryPage' => $feedResult)); $eventDispatcher->dispatch(tubepress_api_const_event_EventNames::HTML_THUMBNAIL_GALLERY, $event); $html = $event->getSubject(); } /* we're done. tie up */ if ($shouldLog) { $this->_logger->debug(sprintf('Done assembling gallery %d', $galleryId)); } return $html; }
public function getHtml() { $th = tubepress_impl_patterns_sl_ServiceLocator::getThemeHandler(); $pm = tubepress_impl_patterns_sl_ServiceLocator::getEventDispatcher(); $template = $th->getTemplateInstance('search/search_input.tpl.php', TUBEPRESS_ROOT . '/src/main/resources/default-themes/default'); if ($pm->hasListeners(tubepress_api_const_event_EventNames::TEMPLATE_SEARCH_INPUT)) { $event = new tubepress_spi_event_EventBase($template); $pm->dispatch(tubepress_api_const_event_EventNames::TEMPLATE_SEARCH_INPUT, $event); $template = $event->getSubject(); } $html = $template->toString(); if ($pm->hasListeners(tubepress_api_const_event_EventNames::HTML_SEARCH_INPUT)) { $event = new tubepress_spi_event_EventBase($html); $pm->dispatch(tubepress_api_const_event_EventNames::HTML_SEARCH_INPUT, $event); $html = $event->getSubject(); } return $html; }
/** * Spits back the text for this embedded player * * @param string $videoId The video ID to display * * @return string The text for this embedded player, or null if there was a problem. */ public final function getHtml($videoId) { $embeddedPlayer = $this->_getEmbeddedPlayer($videoId); if ($embeddedPlayer === null) { if ($this->_logger->isHandling(ehough_epilog_Logger::DEBUG)) { $this->_logger->warn('Could not generate the embedded player HTML for ' . $videoId); } return null; } $themeHandler = tubepress_impl_patterns_sl_ServiceLocator::getThemeHandler(); $eventDispatcherService = tubepress_impl_patterns_sl_ServiceLocator::getEventDispatcher(); $template = $embeddedPlayer->getTemplate($themeHandler); $dataUrl = $embeddedPlayer->getDataUrlForVideo($videoId); $embeddedPlayerName = $embeddedPlayer->getName(); $providerName = $embeddedPlayer->getHandledProviderName(); /** * Build the embedded template event. */ $embeddedTemplateEvent = new tubepress_spi_event_EventBase($template, array('videoId' => $videoId, 'providerName' => $providerName, 'dataUrl' => $dataUrl, 'embeddedImplementationName' => $embeddedPlayerName)); /** * Dispatch the embedded template event. */ $eventDispatcherService->dispatch(tubepress_api_const_event_EventNames::TEMPLATE_EMBEDDED, $embeddedTemplateEvent); /** * Pull the template out of the event. */ $template = $embeddedTemplateEvent->getSubject(); /** * Build the embedded HTML event. */ $embeddedHtmlEvent = new tubepress_spi_event_EventBase($template->toString(), array('videoId' => $videoId, 'providerName' => $providerName, 'dataUrl' => $dataUrl, 'embeddedImplementationName' => $embeddedPlayerName)); /** * Dispatche the embedded HTML event. */ $eventDispatcherService->dispatch(tubepress_api_const_event_EventNames::HTML_EMBEDDED, $embeddedHtmlEvent); return $embeddedHtmlEvent->getSubject(); }
/** * Get's the HTML for the TubePress "player" * * @param tubepress_api_video_Video $vid The video to display in the player. * * @return string The HTML for this player with the given video. */ public final function getHtml(tubepress_api_video_Video $vid) { $executionContextService = tubepress_impl_patterns_sl_ServiceLocator::getExecutionContext(); $themeHandler = tubepress_impl_patterns_sl_ServiceLocator::getThemeHandler(); $requestedPlayerLocation = $executionContextService->get(tubepress_api_const_options_names_Embedded::PLAYER_LOCATION); $playerLocation = null; /** * @var $registeredPlayerLocation tubepress_spi_player_PluggablePlayerLocationService */ foreach ($this->_playerLocations as $registeredPlayerLocation) { if ($registeredPlayerLocation->getName() === $requestedPlayerLocation) { $playerLocation = $registeredPlayerLocation; break; } } if ($playerLocation === null) { return null; } /** * @var $playerLocation tubepress_spi_player_PluggablePlayerLocationService */ $template = $playerLocation->getTemplate($themeHandler); $eventDispatcherService = tubepress_impl_patterns_sl_ServiceLocator::getEventDispatcher(); /* * Run filters for the player template construction. */ $playerTemplateEvent = new tubepress_spi_event_EventBase($template, array('video' => $vid, 'playerName' => $playerLocation->getName())); $eventDispatcherService->dispatch(tubepress_api_const_event_EventNames::TEMPLATE_PLAYERLOCATION, $playerTemplateEvent); /* * Run filters for the player HTML construction. */ $html = $playerTemplateEvent->getSubject()->toString(); $playerHtmlEvent = new tubepress_spi_event_EventBase($html, array('video' => $vid, 'playerName' => $playerLocation->getName())); $eventDispatcherService->dispatch(tubepress_api_const_event_EventNames::HTML_PLAYERLOCATION, $playerHtmlEvent); return $playerHtmlEvent->getSubject(); }