function RefSetProcess($RefArr, $RefId = false, $HostObj = false) { //global $Db, $StId, $Skip, $NaturalKey, $HostsArr, $CookieLogSet, $UpdateVisPath; global $_NS_TRACK_VARS; $Db =& $_NS_TRACK_VARS['Db']; $StId =& $_NS_TRACK_VARS['StId']; $Skip =& $_NS_TRACK_VARS['Skip']; $NaturalKey =& $_NS_TRACK_VARS['NaturalKey']; $HostsArr =& $_NS_TRACK_VARS['HostsArr']; $CookieLogSet =& $_NS_TRACK_VARS['CookieLogSet']; $UpdateVisPath =& $_NS_TRACK_VARS['UpdateVisPath']; $QrArr = NS_TRACK_QUERY::ParseTemplate(NS_TRACK_MISC::ValidVar($RefArr['query'])); if (NS_TRACK_MISC::ValidVar($HostObj->KEY_VAR) && isset($QrArr[$HostObj->KEY_VAR])) { $Key = NS_TRACK_MISC::ToLower(urldecode(urldecode($QrArr[$HostObj->KEY_VAR]))); $Key = NS_TRACK_REFERER::ReplacePunkt($Key); $Key = preg_replace("/\\s+/", " ", $Key); $Key = trim($Key); $KeyId = NS_TRACK_REFERER::GetKeywordId($Key); } else { $KeyId = 0; } $NaturalKey = $KeyId; $Query = "INSERT INTO " . NS_DB_PFX . "_tracker_referer_set (HOST_ID, NATURAL_KEY, PROCESSED, REFERER_ID) VALUES (" . $HostObj->ID . ", {$KeyId}, '1', {$RefId})"; $Db->Query($Query); return $Db->LastInsertId; }
$GetVars = NS_TRACK_QUERY::ParseTemplate(NS_TRACK_MISC::ValidVar($CurrentPageArr['query'])); $Skip = NS_TRACK_MISC::ValidId($GetVars['ns_skip']) ? true : false; if ($Skip) { return NS_TRACK_GENERAL::FinishTracking(); } $ClickSubId = NS_TRACK_MISC::ValidId($GetVars[$VarCamp]) ? $GetVars[$VarCamp] : 0; if (!$ClickSubId) { $ClickSubId = NS_TRACK_CAMPAIGN::GetCampaignBySrc(NS_TRACK_MISC::ValidVar($GetVars[$VarCampSource])); } $KeyId = NS_TRACK_MISC::ValidId($GetVars[$VarKeyword]) ? $GetVars[$VarKeyword] : 0; $Keyword = NS_TRACK_MISC::ValidVar($GetVars[$VarKw]) ? $GetVars[$VarKw] : false; if ($Keyword) { $KeyId = NS_TRACK_REFERER::GetKeywordId($Keyword); } $RefSet = NS_TRACK_REFERER::GetRefererSet($RefPageArr, $Ref); $QueryId = NS_TRACK_QUERY::GetQueryId($CurrentPageArr['query']); $Actions = NS_TRACK_ACTION::GetActionIds($PageId, $CurrentPageArr); if (!$KeepNoRef && $RefSet == 0 && !NS_TRACK_MISC::ValidId($_COOKIE['ns_log']) && $ClickSubId != 0) { $Skip = true; } if ($Skip) { return NS_TRACK_GENERAL::FinishTracking(); } if ($NoDblPageLoad) { NS_TRACK_GENERAL::CheckPathDblClick(); } if ($NoDblAdvClick) { NS_TRACK_GENERAL::CheckAdvDblClick(); } if ($Skip) { return NS_TRACK_GENERAL::FinishTracking();
function CompareTemplate($Query = false, $Template = false) { $ItemValue = false; if (!$Template) { return true; } if (!$Query) { return false; } $TplGet = NS_TRACK_QUERY::ParseTemplate($Template); $QrGet = NS_TRACK_QUERY::ParseTemplate($Query); if (!$TplGet || !$QrGet) { return false; } foreach ($TplGet as $Key => $Value) { if (!isset($QrGet[$Key])) { return 0; } if ($Value == "{a}") { $ItemValue = $QrGet[$Key]; continue; } if ($Value == "*") { continue; } if ($Value != $QrGet[$Key]) { return 0; } } if ($ItemValue) { global $Item; $Item = $ItemValue; } return 1; }
$SiteHostId = NS_TRACK_GENERAL::CurrentSiteHost($HostsArr, $CurrentPageArr); if (!$SiteHostId) { $Skip = true; } if ($Skip) { NS_TRACK_MISC::Redir($Redir); } $RefSet = NS_TRACK_REFERER::GetRefererSet($RefPageArr, $Ref); if (!$KeepNoRef && $RefSet == 0 && !NS_TRACK_MISC::ValidId($_COOKIE[NS_COOKIE_PFX . 'log']) && $ClickSubId != 0) { $Skip = true; } if ($Skip) { NS_TRACK_MISC::Redir($Redir); } $Actions = NS_TRACK_ACTION::GetActionIds($PageId, $CurrentPageArr); $QueryId = NS_TRACK_QUERY::GetQueryId(NS_TRACK_MISC::ValidVar($CurrentPageArr['query'])); if ($NoDblPageLoad) { NS_TRACK_GENERAL::CheckPathDblClick(); } if ($NoDblAdvClick) { NS_TRACK_GENERAL::CheckAdvDblClick(); } if ($Skip) { NS_TRACK_MISC::Redir($Redir); } $Fraud = NS_TRACK_GENERAL::CheckClickFraud($Settings, $VisId, $ClickSubId); NS_TRACK_GENERAL::UpdateVisitorPath(); $nsUser->SetCookie(NS_COOKIE_PFX . 'tmp_skip', '1', time() + 120, '/', $_NS_TRACK_VARS['COOKIE_DOMAIN']); NS_TRACK_GENERAL::UpdateVisitorAction(); if (NS_TRACK_MISC::ValidId($ClickSubId) && $ClickSubId > 0) { NS_TRACK_GENERAL::UpdateVisitorClick();