NS_TRACK_MISC::Redir($RUrl); } $Fraud = NS_TRACK_GENERAL::CheckClickFraud($Settings, $VisId, $ClickSubId); if (NS_TRACK_MISC::ValidId($ClickSubId) && $ClickSubId > 0) { NS_TRACK_GENERAL::UpdateVisitorClick(); } if ($UpdateVisPath || $KeepVisPath) { NS_TRACK_GENERAL::UpdateVisitorPath(); } $nsUser->SetCookie(NS_COOKIE_PFX . 'tmp_skip', '1', 120, '/'); if ($CookieLogSet && NS_TRACK_GENERAL::CheckTrackingMode()) { $CookieLogSet = false; } if ($CookieLogSet) { NS_TRACK_GENERAL::SetCookieLog(); } if ($FindLastNode) { NS_TRACK_VISITOR::FindLastNode($VisId); } if (defined("TRACK_ERRORS") && TRACK_ERRORS && !defined("NS_PHP_TRACKING")) { $ResTime = NS_TRACK_MISC::GetMicrotime() - $StartTime; $Query = "INSERT INTO track_time (TRACK_TIME) VALUES ('{$ResTime}')"; $Db->Query($Query); for ($i = 0; $i < count($Logs->Errors); $i++) { $Db->Query("INSERT INTO track_error (ERROR) VALUES ('" . addslashes($Logs->Errors[$i]) . "')"); } } //if ($CurrentPageArr['query']) $RUrl.="&ns_skip=1"; //else $RUrl.="?ns_skip=1"; NS_TRACK_MISC::Redir($RUrl);
function GetVisitorId() { global $nsUser, $nsProduct; global $_NS_TRACK_VARS, $_COOKIE; $Skip =& $_NS_TRACK_VARS['Skip']; $IpId =& $_NS_TRACK_VARS['IpId']; $AgentId =& $_NS_TRACK_VARS['AgentId']; $PresetID =& $_NS_TRACK_VARS['PresetID']; $PresetIP =& $_NS_TRACK_VARS['PresertIP']; $Settings =& $_NS_TRACK_VARS['Settings']; $ScrRes =& $_NS_TRACK_VARS['ScrRes']; $PxD =& $_NS_TRACK_VARS['PxD']; $FlVer =& $_NS_TRACK_VARS['FlVer']; $CheckCookieId =& $_NS_TRACK_VARS['CheckCookieId']; $Db =& $_NS_TRACK_VARS['Db']; $FindLastNode =& $_NS_TRACK_VARS['FindLastNode']; $UserAgent = NS_TRACK_MISC::ValidVar($_SERVER['HTTP_USER_AGENT']); if (!trim($UserAgent)) { $Skip = true; return 0; } $AgentId = NS_TRACK_VISITOR::GetUserAgentId($UserAgent); $Visitor = false; $CookieId = false; $CountryId = 0; $ScrRes = addslashes($ScrRes); $PxD = addslashes($PxD); $FlVer = addslashes($FlVer); if (strpos($FlVer, "<") !== false) { $FlVer = substr($FlVer, 0, strpos($FlVer, "<")); } if (!$FlVer) { $FlVer = "-1"; } if ($FlVer != "-1") { $FlVer = substr($FlVer, 0, 1); } if (!$ScrRes || $ScrRes == "x" || $ScrRes == 0) { $ScrRes = "-1"; } if (!$PxD) { $PxD = "-1"; } if (isset($_COOKIE[NS_COOKIE_PFX . 'tmp_skip'])) { NS_TRACK_GENERAL::TrackingCookie(NS_COOKIE_PFX . 'tmp_skip', '0', time() - 60, '/'); $Skip = true; } if ($Skip) { return 0; } $Stamp = gmdate("Y-m-d H:i:s", time()); $UserIp = NS_TRACK_VISITOR::GetUserIp(); $IpId = NS_TRACK_VISITOR::GetIpId($UserIp); if ($Skip) { return 0; } if (NS_TRACK_MISC::ValidVar($PresetID) && NS_TRACK_MISC::ValidId($PresetID)) { $Visitor = $Db->Select("SELECT * FROM " . NS_DB_PFX . "_tracker_visitor WHERE ID = {$PresetID}"); if (NS_TRACK_MISC::ValidId($Visitor->ID)) { $AgentId = $Visitor->LAST_AGENT_ID ? $Visitor->LAST_AGENT_ID : $AgentId; return $PresetID; } } if (!NS_TRACK_MISC::ValidVar($PresetID) || !NS_TRACK_MISC::ValidVar($Visitor->ID)) { if (defined("NS_PHP_TRACKING") && $Settings['All']->IP_TRACKING && $Settings['All']->IP_NO_COOKIE && count($_COOKIE) > 0) { $Settings['All']->IP_TRACKING = false; } if (!defined("NS_PHP_TRACKING")) { if (!$CheckCookieId && !isset($_COOKIE[NS_COOKIE_PFX . 'visitor']) && $Settings['All']->IP_TRACKING && $Settings['All']->IP_NO_COOKIE) { $CookieId = NS_TRACK_VISITOR::TrackingVisitorCookie(); NS_TRACK_MISC::Redir(NS_TRACK_MISC::ns_my_url() . "&CheckCookieId={$CookieId}"); } if ($CheckCookieId && isset($_COOKIE[NS_COOKIE_PFX . 'visitor']) && $_COOKIE[NS_COOKIE_PFX . 'visitor'] == $CheckCookieId) { $Settings['All']->IP_TRACKING = false; } } if (!isset($_COOKIE[NS_COOKIE_PFX . 'visitor']) && $Settings['All']->IP_TRACKING) { $Visitor = NS_TRACK_VISITOR::FindByIp($IpId, $AgentId, $Settings['All']->IP_PERIOD); if ($Visitor) { $CookieId = NS_TRACK_VISITOR::TrackingVisitorCookie($Visitor->COOKIE_ID); NS_TRACK_VISITOR::FindLastNode($Visitor->ID); $FindLastNode = false; } } if (!$CookieId) { $CookieId = NS_TRACK_VISITOR::TrackingVisitorCookie(); } if (!$Visitor) { $Query = "SELECT * FROM " . NS_DB_PFX . "_tracker_visitor WHERE COOKIE_ID='{$CookieId}'"; $Visitor = $Db->Select($Query); } } if ($Visitor && NS_TRACK_MISC::ValidId($Visitor->ID)) { if (!$Visitor->FIRST_COUNTRY_ID) { $CountryId = NS_TRACK_VISITOR::GetCountryId($UserIp); } else { $CountryId = $Visitor->FIRST_COUNTRY_ID; } if ((!$ScrRes || $ScrRes == "-1") && $Visitor->LAST_RESOLUTION) { $ScrRes = $Visitor->LAST_RESOLUTION; } if ((!$PxD || $PxD == "-1") && $Visitor->PIXEL_DEPTH) { $PxD = $Visitor->PIXEL_DEPTH; } if ((!$FlVer || $FlVer == "-1") && $Visitor->FLASH_VERSION) { $FlVer = $Visitor->FLASH_VERSION; } $Query = "UPDATE " . NS_DB_PFX . "_tracker_visitor SET LAST_IP_ID = {$IpId}, LAST_AGENT_ID={$AgentId}, LAST_STAMP='{$Stamp}', FIRST_COUNTRY_ID='{$CountryId}', LAST_RESOLUTION = '{$ScrRes}', PIXEL_DEPTH='{$PxD}', FLASH_VERSION='{$FlVer}' WHERE ID = " . $Visitor->ID; $Db->Query($Query); NS_TRACK_VISITOR::TrackingVisitorCookie($Visitor->COOKIE_ID); return $Visitor->ID; } $CountryId = NS_TRACK_VISITOR::GetCountryId($UserIp); $Query = "INSERT INTO " . NS_DB_PFX . "_tracker_visitor (COOKIE_ID, LAST_IP_ID, LAST_AGENT_ID, FIRST_STAMP, LAST_STAMP, FIRST_COUNTRY_ID, LAST_RESOLUTION, PIXEL_DEPTH, FLASH_VERSION) VALUES ('{$CookieId}', {$IpId}, {$AgentId}, '{$Stamp}', '{$Stamp}', '{$CountryId}', '{$ScrRes}', '{$PxD}', '{$FlVer}')"; $Db->Query($Query); $FindLastNode = false; return $Db->LastInsertId; }
} $CurrentPageArr = NS_TRACK_GENERAL::PreparePathAddr($Current); if (!$CurrentPageArr) { return NS_TRACK_GENERAL::FinishTracking(); } $RefPageArr = array(); $HostsArr = NS_TRACK_GENERAL::GetSiteHosts($StId, $Site); $SiteHostId = NS_TRACK_GENERAL::CurrentSiteHost($HostsArr, $CurrentPageArr, $Site); if (!$SiteHostId) { $Skip = true; } if ($Skip) { return NS_TRACK_GENERAL::FinishTracking(); } $PageId = NS_TRACK_PAGE::GetPageId($CurrentPageArr, $StId); $RefSet = 0; $QueryId = NS_TRACK_QUERY::GetQueryId($CurrentPageArr['query']); $Actions[$eid]['Id'] = $eid; $Actions[$eid]['Item'] = $Item; //Dump($GLOBALS); NS_TRACK_GENERAL::UpdateVisitorPath(); NS_TRACK_GENERAL::UpdateVisitorAction(); return NS_TRACK_GENERAL::FinishTracking(); } if (!$CodeAction) { if (NS_TRACK_MISC::ValidVar($rurl)) { NS_TRACK_MISC::Redir($rurl); } else { NS_TRACK_MISC::Redir($Current); } }
} 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(); } NS_TRACK_GENERAL::UpdateVisitorSplit($SplitCamp); if ($RememberPage) { $Arr["split{$SplitId}" . "_page"] = $Page->PAGE_ID; $Arr["split{$SplitId}" . "_query"] = $Page->QUERY_ID; NS_TRACK_MISC::CookieStorageSet($Arr, false, time() + 60 * 60 * 24 * 365 * 10, '/'); } NS_TRACK_GENERAL::SetCookieLog(); NS_TRACK_MISC::Redir($Redir);