示例#1
0
 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}");
 }
示例#2
0
$HostsArr = NS_TRACK_GENERAL::GetSiteHosts($StId, $Site);
$CurrentPageArr = NS_TRACK_GENERAL::PreparePathAddr($Current);
$SiteHostId = NS_TRACK_GENERAL::CurrentSiteHost($HostsArr, $CurrentPageArr, $Site);
if (!$SiteHostId) {
    $Skip = true;
}
if ($Skip) {
    return NS_TRACK_GENERAL::FinishTracking();
}
$RefSet = 0;
$QueryId = NS_TRACK_QUERY::GetQueryId($CurrentPageArr['query']);
$PageId = NS_TRACK_PAGE::GetPageId($CurrentPageArr, $StId);
if ($Undef) {
    NS_TRACK_GENERAL::UpdateStatUndef();
    return NS_TRACK_GENERAL::FinishTracking();
}
$Items = NS_TRACK_MISC::ValidArr($_GP['itm']) ? NS_TRACK_SALE::PrepareSaleItems($_GP['itm']) : false;
if ($NoDblSale) {
    NS_TRACK_GENERAL::CheckSaleDblClick();
}
if ($Skip) {
    return NS_TRACK_GENERAL::FinishTracking();
}
NS_TRACK_GENERAL::UpdateVisitorPath();
NS_TRACK_GENERAL::UpdateVisitorSale();
if (defined("TRACK_ERRORS") && TRACK_ERRORS && !defined("NS_PHP_TRACKING")) {
    for ($i = 0; $i < count($Logs->Errors); $i++) {
        $Db->Query("INSERT INTO track_error (ERROR) VALUES ('" . addslashes($Logs->Errors[$i]) . "')");
    }
}
return NS_TRACK_GENERAL::FinishTracking();
示例#3
0
}
if (!$CodeAction) {
    if (NS_TRACK_ACTION::CompareTemplate($Qr, $Event->QUERY)) {
        $TplGet = NS_TRACK_QUERY::ParseTemplate($Event->QUERY);
        $NewQr = "";
        if (NS_TRACK_MISC::ValidArr($TplGet)) {
            foreach ($TplGet as $Key => $Value) {
                $NewQr .= $Key . "=";
                if ($Value != "*") {
                    $NewQr .= $Value . "&";
                } else {
                    $NewQr .= $_GP[$Key] . "&";
                }
            }
        }
        if (NS_TRACK_MISC::ValidArr($CurGet)) {
            foreach ($CurGet as $Key => $Value) {
                if (!isset($TplGet[$Key])) {
                    $NewQr .= "{$Key}={$Value}&";
                }
            }
        }
        if ($NewQr) {
            $NewQr = substr($NewQr, 0, -1);
        }
        $PageId = $Event->PAGE_ID;
        $Query = "SELECT * FROM " . NS_DB_PFX . "_tracker_site_page WHERE ID = " . $Event->PAGE_ID;
        $Page = $Db->Select($Query);
        $CompanyId = $Site->COMPANY_ID;
        $HostsArr = NS_TRACK_GENERAL::GetSiteHosts($StId, $Site);
        if ($Event->SITE_HOST_ID) {