/**
  * @param string $videoId The video ID to play.
  *
  * @return ehough_curly_Url The URL of the data for this video.
  */
 public final function getDataUrlForVideo($videoId)
 {
     $context = tubepress_impl_patterns_sl_ServiceLocator::getExecutionContext();
     $link = new ehough_curly_Url('https://www.youtube.com/embed/' . $videoId);
     $qss = tubepress_impl_patterns_sl_ServiceLocator::getQueryStringService();
     $url = new ehough_curly_Url($qss->getFullUrl($_SERVER));
     $origin = $url->getScheme() . '://' . $url->getHost();
     $autoPlay = $context->get(tubepress_api_const_options_names_Embedded::AUTOPLAY);
     $loop = $context->get(tubepress_api_const_options_names_Embedded::LOOP);
     $showInfo = $context->get(tubepress_api_const_options_names_Embedded::SHOW_INFO);
     $autoHide = $context->get(tubepress_addons_youtube_api_const_options_names_Embedded::AUTOHIDE);
     $enableJsApi = $context->get(tubepress_api_const_options_names_Embedded::ENABLE_JS_API);
     $fullscreen = $context->get(tubepress_addons_youtube_api_const_options_names_Embedded::FULLSCREEN);
     $modestBranding = $context->get(tubepress_addons_youtube_api_const_options_names_Embedded::MODEST_BRANDING);
     $showRelated = $context->get(tubepress_addons_youtube_api_const_options_names_Embedded::SHOW_RELATED);
     $link->setQueryVariable('wmode', 'opaque');
     $link->setQueryVariable('autohide', $this->_getAutoHideValue($autoHide));
     $link->setQueryVariable('autoplay', tubepress_impl_embedded_EmbeddedPlayerUtils::booleanToOneOrZero($autoPlay));
     $link->setQueryVariable('enablejsapi', tubepress_impl_embedded_EmbeddedPlayerUtils::booleanToOneOrZero($enableJsApi));
     $link->setQueryVariable('fs', tubepress_impl_embedded_EmbeddedPlayerUtils::booleanToOneOrZero($fullscreen));
     $link->setQueryVariable('loop', tubepress_impl_embedded_EmbeddedPlayerUtils::booleanToOneOrZero($loop));
     $link->setQueryVariable('modestbranding', tubepress_impl_embedded_EmbeddedPlayerUtils::booleanToOneOrZero($modestBranding));
     $link->setQueryVariable('rel', tubepress_impl_embedded_EmbeddedPlayerUtils::booleanToOneOrZero($showRelated));
     $link->setQueryVariable('showinfo', tubepress_impl_embedded_EmbeddedPlayerUtils::booleanToOneOrZero($showInfo));
     $link->setQueryVariable('origin', $origin);
     return $link;
 }
 private function _maybeGetListValueFromUrl($originalValue)
 {
     $url = null;
     try {
         $url = new ehough_curly_Url($originalValue);
     } catch (Exception $e) {
         return $originalValue;
     }
     $host = $url->getHost();
     if (!tubepress_impl_util_StringUtils::endsWith($host, 'youtube.com')) {
         return $originalValue;
     }
     $params = $url->getQueryVariables();
     if (!array_key_exists('list', $params)) {
         return $originalValue;
     }
     return $params['list'];
 }
 private function _getNormalizedAuthority(ehough_curly_Url $url)
 {
     $scheme = $url->getScheme();
     $port = $url->getPort();
     if ($port != null && ($scheme === 'http' && $port != 80 || $scheme === 'https' && $port != 465)) {
         return $url->getAuthority();
     }
     return $url->getHost();
 }