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