protected function init() { if (!parent::init()) { return false; } // ignore params which may hurt caching such as callback, playSessionId if (kConf::hasParam('playmanifest_ignore_params')) { $ignoreParams = kConf::get('playmanifest_ignore_params'); foreach ($ignoreParams as $paramName) { unset($this->_params[$paramName]); } } $this->_playbackContext = isset($this->_params['playbackContext']) ? $this->_params['playbackContext'] : null; unset($this->_params['playbackContext']); $this->_deliveryCode = isset($this->_params['deliveryCode']) ? $this->_params['deliveryCode'] : null; unset($this->_params['deliveryCode']); // take only the hostname part of the referrer parameter of baseEntry.getContextData if (isset($this->_params['referrer'])) { $referrer = base64_decode(str_replace(" ", "+", $this->_params['referrer'])); if (!is_string($referrer)) { $referrer = ""; } unset($this->_params['referrer']); } else { $referrer = self::getHttpReferrer(); } $this->_referrers[] = $referrer; $this->finalizeCacheKey(); $this->addExtraFields(); return true; }
protected function init() { if (!parent::init()) { return false; } self::handleSessionStart($this->_params); // remove parameters that do not affect the api result foreach (kConf::get('v3cache_ignore_params') as $name) { unset($this->_params[$name]); } unset($this->_params['kalsig']); unset($this->_params['clientTag']); unset($this->_params['callback']); $this->_params['___cache___uri'] = $_SERVER['SCRIPT_NAME']; // extract any baseEntry.getContextData referrer parameters for ($i = 0;; $i++) { $prefix = $i ? "{$i}:" : ""; // 0 = try single request, >0 = try multirequest if (!isset($this->_params["{$prefix}service"]) || !isset($this->_params["{$prefix}action"])) { if (!$i) { // could not find service/action, try multirequest - 1:service/1:action continue; } break; } $service = $this->_params["{$prefix}service"]; $action = $this->_params["{$prefix}action"]; if (strtolower($service) != 'baseentry' || strtolower($action) != 'getcontextdata') { continue; } $referrerKey = "{$prefix}contextDataParams:referrer"; if (isset($this->_params[$referrerKey])) { $referrer = $this->_params[$referrerKey]; unset($this->_params[$referrerKey]); } else { $referrer = self::getHttpReferrer(); } $this->_referrers[] = $referrer; } $this->finalizeCacheKey(); $this->addExtraFields(); return true; }