private function inferTrafficAttribution() { $ref = owa_coreAPI::getServerParam('HTTP_REFERER'); $medium = 'direct'; $source = '(none)'; $search_terms = '(none)'; $session_referer = '(none)'; if ($ref) { $uri = owa_lib::parse_url($ref); // check for external referer $host = owa_coreAPI::getServerParam('HTTP_HOST'); if ($host != $uri['host']) { $medium = 'referral'; $source = owa_lib::stripWwwFromDomain($uri['host']); $engine = $this->isRefererSearchEngine($uri); $session_referer = $ref; if ($engine) { $medium = 'organic-search'; $search_terms = $engine['t']; } } } owa_coreAPI::setState('s', 'referer', $session_referer); owa_coreAPI::setState('s', 'medium', $medium); owa_coreAPI::setState('s', 'source', $source); owa_coreAPI::setState('s', 'search_terms', $search_terms); }