当前位置: 首页>>代码示例>>PHP>>正文


PHP myPartnerUtils::getHostForWhiteList方法代码示例

本文整理汇总了PHP中myPartnerUtils::getHostForWhiteList方法的典型用法代码示例。如果您正苦于以下问题:PHP myPartnerUtils::getHostForWhiteList方法的具体用法?PHP myPartnerUtils::getHostForWhiteList怎么用?PHP myPartnerUtils::getHostForWhiteList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在myPartnerUtils的用法示例。


在下文中一共展示了myPartnerUtils::getHostForWhiteList方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: execute

 /**
  * Will forward to the regular swf player according to the widget_id
  */
 public function execute()
 {
     $uiconf_id = $this->getRequestParameter('uiconf_id');
     if (!$uiconf_id) {
         KExternalErrors::dieError(KExternalErrors::MISSING_PARAMETER, 'uiconf_id');
     }
     $uiConf = uiConfPeer::retrieveByPK($uiconf_id);
     if (!$uiConf) {
         KExternalErrors::dieError(KExternalErrors::UI_CONF_NOT_FOUND);
     }
     $partner_id = $this->getRequestParameter('partner_id', $uiConf->getPartnerId());
     if (!$partner_id) {
         KExternalErrors::dieError(KExternalErrors::MISSING_PARAMETER, 'partner_id');
     }
     $widget_id = $this->getRequestParameter("widget_id", '_' . $partner_id);
     $protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? "https" : "http";
     $host = myPartnerUtils::getCdnHost($partner_id, $protocol, 'api');
     $ui_conf_html5_url = $uiConf->getHtml5Url();
     if (kConf::hasMap("optimized_playback")) {
         $optimizedPlayback = kConf::getMap("optimized_playback");
         if (array_key_exists($partner_id, $optimizedPlayback)) {
             // force a specific kdp for the partner
             $params = $optimizedPlayback[$partner_id];
             if (array_key_exists('html5_url', $params)) {
                 $ui_conf_html5_url = $params['html5_url'];
             }
         }
     }
     $autoEmbed = $this->getRequestParameter('autoembed');
     if ($autoEmbed) {
         $port = $_SERVER['SERVER_PORT'];
         $host = "{$protocol}://" . kConf::get('html5lib_host') . "/";
     }
     $iframeEmbed = $this->getRequestParameter('iframeembed');
     $scriptName = $iframeEmbed ? 'mwEmbedFrame.php' : 'mwEmbedLoader.php';
     if ($ui_conf_html5_url && $iframeEmbed) {
         $ui_conf_html5_url = str_replace('mwEmbedLoader.php', 'mwEmbedFrame.php', $ui_conf_html5_url);
     }
     $relativeUrl = true;
     // true if ui_conf html5_url is relative (doesnt start with an http prefix)
     if (kString::beginsWith($ui_conf_html5_url, "http")) {
         $relativeUrl = false;
         $url = $ui_conf_html5_url;
         // absolute URL
     } else {
         if ($ui_conf_html5_url) {
             $url = $host . $ui_conf_html5_url;
         } else {
             $html5_version = kConf::get('html5_version');
             $url = "{$host}/html5/html5lib/{$html5_version}/" . $scriptName;
         }
     }
     // append uiconf_id and partner id for optimizing loading of html5 library. append them only for "standard" urls by looking for the mwEmbedLoader.php/mwEmbedFrame.php suffix
     if (kString::endsWith($url, $scriptName)) {
         $url .= "/p/{$partner_id}/uiconf_id/{$uiconf_id}";
         if (!$autoEmbed) {
             $entry_id = $this->getRequestParameter('entry_id');
             if ($entry_id) {
                 $url .= "/entry_id/{$entry_id}";
             }
         }
     }
     header("pragma:");
     if ($iframeEmbed) {
         $url .= (strpos($url, "?") === false ? "?" : "&") . 'wid=' . $widget_id . '&' . $_SERVER["QUERY_STRING"];
     } else {
         if ($autoEmbed) {
             header('Content-Type: application/javascript');
             $params = "protocol={$protocol}&" . $_SERVER["QUERY_STRING"];
             $url .= (strpos($url, "?") === false ? "?" : "&") . $params;
             if ($relativeUrl) {
                 kFileUtils::dumpUrl($url . "?" . $params, true, false, array("X-Forwarded-For" => requestUtils::getRemoteAddress()));
             }
         }
     }
     if (!$iframeEmbed) {
         $partner = PartnerPeer::retrieveByPK($partner_id);
         $hostToTest = myPartnerUtils::getHostForWhiteList();
         if ($partner && !is_null($hostToTest) && $partner->isInCDNWhiteList($hostToTest)) {
             $cdnHost = $protocol . '://' . $hostToTest;
             if (isset($_SERVER['SERVER_PORT'])) {
                 $cdnHost .= ":" . $_SERVER['SERVER_PORT'];
             }
             $params = "&od=" . urlencode($cdnHost);
             $url .= (strpos($url, "?") === false ? "?" : "&") . $params;
         }
     }
     requestUtils::sendCachingHeaders(60, true, time());
     kFile::cacheRedirect($url);
     header("Location:{$url}");
     KExternalErrors::dieGracefully();
 }
开发者ID:kubrickfr,项目名称:server,代码行数:95,代码来源:embedIframeJsAction.class.php


注:本文中的myPartnerUtils::getHostForWhiteList方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。