if ($FindLastNode) { NS_TRACK_VISITOR::FindLastNode($VisId); } } if (!$KeepNoRef && !NS_TRACK_MISC::ValidId($_COOKIE['ns_log'])) { $Skip = true; } if ($Skip && $rurl) { NS_TRACK_MISC::Redir($rurl); } $Actions[$eid]['Id'] = $eid; $Actions[$eid]['Item'] = $Item; NS_TRACK_GENERAL::UpdateVisitorAction(); //if (NS_TRACK_MISC::ValidVar($NewQr))$Current.="&ns_skip=1"; //else $Current.="?ns_skip=1"; NS_TRACK_GENERAL::TrackingCookie(NS_COOKIE_PFX . 'tmp_skip', '1', time() + 120, '/'); } else { NS_TRACK_MISC::Redir($_SERVER['HTTP_REFERER']); return; } } if ($CodeAction) { if (!$Current) { $Current = $_SERVER['HTTP_REFERER']; } $CurrentPageArr = NS_TRACK_GENERAL::PreparePathAddr($Current); if (!$CurrentPageArr) { return NS_TRACK_GENERAL::FinishTracking(); } $RefPageArr = array(); $HostsArr = NS_TRACK_GENERAL::GetSiteHosts($StId, $Site);
function SetCookieLog($StartNewNode = true, $SetLogId = false) { global $nsUser, $_COOKIE; global $_NS_TRACK_VARS; $Db =& $_NS_TRACK_VARS['Db']; $LogId =& $_NS_TRACK_VARS['LogId']; $StId =& $_NS_TRACK_VARS['StId']; $CompanyId =& $_NS_TRACK_VARS['CompanyId']; $FindLastNode =& $_NS_TRACK_VARS['FindLastNode']; $CookieStr = NS_TRACK_MISC::ValidVar($_COOKIE[NS_COOKIE_PFX . 'log']) ? $_COOKIE[NS_COOKIE_PFX . 'log'] : false; if ($CookieStr) { $CookieStr = @urldecode($CookieStr); $CookieStr = @stripslashes($CookieStr); $CookieArr = @unserialize($CookieStr); if (!NS_TRACK_MISC::ValidArr($CookieArr)) { $CookieArr = array(); } } else { $CookieArr = array(); } $CookieArr[$StId] = $SetLogId ? $SetLogId : $LogId; $CookieStr = serialize($CookieArr); $Domain = false; if (defined("COOKIE_DOMAIN")) { $Domain = COOKIE_DOMAIN; } if (isset($_NS_TRACK_VARS['COOKIE_DOMAIN'])) { $Domain = $_NS_TRACK_VARS['COOKIE_DOMAIN']; } NS_TRACK_GENERAL::TrackingCookie(NS_COOKIE_PFX . "log", $CookieStr, time() + 60 * 60 * 24 * 10 * 365, "/", $Domain); $FindLastNode = false; Header("x-Set-Coookie-Log: yes"); if (!$StartNewNode && $SetLogId) { $Query = "UPDATE " . NS_DB_PFX . "_tracker_" . $CompanyId . "_stat_log SET COOKIE_LOG={$SetLogId} WHERE ID={$LogId}"; $Db->Query($Query); Header("x-LogUpdated: {$Query}"); } if (!$StartNewNode) { return; } $Db->Query("UPDATE " . NS_DB_PFX . "_tracker_" . $CompanyId . "_stat_log SET COOKIE_LOG={$LogId} WHERE ID={$LogId}"); }
function TrackingVisitorCookie($Cookie = false) { global $_NS_TRACK_VARS; $Domain = false; if (defined("COOKIE_DOMAIN")) { $Domain = COOKIE_DOMAIN; } if (isset($_NS_TRACK_VARS['COOKIE_DOMAIN'])) { $Domain = $_NS_TRACK_VARS['COOKIE_DOMAIN']; } if ($Cookie) { NS_TRACK_GENERAL::TrackingCookie(NS_COOKIE_PFX . 'visitor', $Cookie, time() + 60 * 60 * 24 * 10 * 365, "/", $Domain); return $Cookie; } global $_COOKIE; if (isset($_COOKIE[NS_COOKIE_PFX . 'visitor'])) { return $_COOKIE[NS_COOKIE_PFX . 'visitor']; } else { $Cookie = substr(md5(uniqid(rand())), 0, 32); NS_TRACK_GENERAL::TrackingCookie(NS_COOKIE_PFX . 'visitor', $Cookie, time() + 60 * 60 * 24 * 10 * 365, "/", $Domain); return $Cookie; } }