function SetQuery($_referrer, $issearchengine = false, $parammatch = false) { $parts = parse_url(strtolower($_referrer)); $uparts = explode("&", @$parts["query"]); foreach (HistoryUrl::$SearchEngines as $sparam => $engines) { foreach ($uparts as $param) { $kv = explode("=", $param); $parammatch = $kv[0] == $sparam && !empty($kv[1]); foreach ($engines as $engine) { if (compareUrls($engine, $parts["host"])) { $issearchengine = true; } if ($issearchengine && $parammatch) { $this->Query = urldecode(trim($kv[1])); queryDB(true, "UPDATE `" . DB_PREFIX . DATABASE_VISITOR_BROWSERS . "` SET `query`='" . @mysql_real_escape_string($this->GetQueryId($this->Query, $_referrer)) . "' WHERE `id`='" . @mysql_real_escape_string($this->BrowserId) . "' LIMIT 1;"); return true; } } } } return $issearchengine; }
function MatchUrls($_eurl, $_url, $_referrer, $_timeOnUrl) { if ($_eurl->TimeOnSite > 0 && $_eurl->TimeOnSite > $_timeOnUrl) { return -1; } $valid = true; if (!empty($_eurl->URL)) { $valid = compareUrls($_eurl->URL, $_url); } if ((!empty($_eurl->URL) && $valid || empty($_eurl->URL)) && !empty($_eurl->Referrer)) { $valid = compareUrls($_eurl->Referrer, $_referrer); } if ($valid) { return !$_eurl->Blacklist; } else { return -1; } }