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();
 }