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;
     }
 }