Example #1
0
 function GetPageId($PathArr = false, $StId = false)
 {
     if (!$PathArr || !$StId) {
         return 0;
     }
     global $_NS_TRACK_VARS;
     $Skip =& $_NS_TRACK_VARS['Skip'];
     $Db =& $_NS_TRACK_VARS['Db'];
     $Undef =& $_NS_TRACK_VARS['Undef'];
     $Site =& $_NS_TRACK_VARS['Site'];
     $HostsArr =& $_NS_TRACK_VARS['HostsArr'];
     $SSL =& $_NS_TRACK_VARS['SSL'];
     if (!isset($HostsArr[NS_TRACK_MISC::ToLower($PathArr['host'])])) {
         $Undef = true;
         $Skip = true;
         return 0;
     }
     if (NS_TRACK_MISC::ValidVar($PathArr['scheme']) == "https") {
         $SSL = true;
     }
     $Path = $PathArr['path'];
     $Query = "SELECT ID, IGNORE_PAGE FROM " . NS_DB_PFX . "_tracker_site_page WHERE PATH = '{$Path}' AND SITE_ID={$StId}";
     $Check = $Db->Select($Query);
     if (isset($Check->IGNORE_PAGE) && $Check->IGNORE_PAGE) {
         $Skip = true;
         $Undef = true;
         return 0;
     }
     if (NS_TRACK_MISC::ValidId($Check->ID)) {
         return $Check->ID;
     }
     $Query = "INSERT INTO " . NS_DB_PFX . "_tracker_site_page (SITE_ID, PATH) VALUES ({$StId}, '{$Path}')";
     $Db->Query($Query);
     return $Db->LastInsertId;
 }
Example #2
0
 function GetQueryId($Qr = false)
 {
     if (!$Qr) {
         return 0;
     }
     global $_NS_TRACK_VARS;
     $Db =& $_NS_TRACK_VARS['Db'];
     $Qr = NS_TRACK_MISC::escape_string($Qr);
     $Query = "SELECT ID FROM " . NS_DB_PFX . "_tracker_query WHERE MD5_SEARCH=MD5('{$Qr}')";
     $CheckId = $Db->ReturnValue($Query);
     if (NS_TRACK_MISC::ValidId($CheckId)) {
         return $CheckId;
     }
     $Query = "INSERT INTO " . NS_DB_PFX . "_tracker_query (QUERY_STRING, MD5_SEARCH) VALUES ('{$Qr}', MD5('{$Qr}'))";
     $Db->Query($Query);
     return NS_TRACK_MISC::ValidId($Db->LastInsertId) ? $Db->LastInsertId : 0;
 }
Example #3
0
 function GetSaleItem($ItemName = false, $CompanyId = false)
 {
     if (!$ItemName || !$CompanyId) {
         return 0;
     }
     global $Db;
     global $_NS_TRACK_VARS;
     $Db =& $_NS_TRACK_VARS['Db'];
     $ItemName = addslashes($ItemName);
     $Query = "SELECT ID FROM " . NS_DB_PFX . "_tracker_sale_item WHERE NAME='{$ItemName}' AND COMPANY_ID={$CompanyId}";
     $CheckId = $Db->ReturnValue($Query);
     if (NS_TRACK_MISC::ValidId($CheckId)) {
         return $CheckId;
     }
     $Query = "INSERT INTO " . NS_DB_PFX . "_tracker_sale_item (COMPANY_ID, NAME) VALUES ({$CompanyId}, '{$ItemName}')";
     $Db->Query($Query);
     return $Db->LastInsertId;
 }
Example #4
0
 function GetCampaignBySrc($Src = false)
 {
     if (!$Src) {
         return 0;
     }
     global $_NS_TRACK_VARS;
     $Db =& $_NS_TRACK_VARS['Db'];
     $CompanyId =& $_NS_TRACK_VARS['CompanyId'];
     if (!$CompanyId) {
         return 0;
     }
     $Src = NS_TRACK_MISC::escape_string($Src);
     $Query = "SELECT SUB_ID FROM " . NS_DB_PFX . "_tracker_sub_campaign WHERE SRC_ID='{$Src}'";
     $CheckId = $Db->ReturnValue($Query);
     if ($CheckId) {
         return $CheckId;
     }
     $Query = "INSERT INTO " . NS_DB_PFX . "_tracker_camp_piece (CAMPAIGN_ID, COMPANY_ID, NAME) VALUES (0, {$CompanyId}, '{$Src}')";
     $Db->Query($Query);
     $SubId = $Db->LastInsertId;
     $Query = "INSERT INTO " . NS_DB_PFX . "_tracker_sub_campaign (SUB_ID, SRC_ID) VALUES ({$SubId}, '{$Src}')";
     $Db->Query($Query);
     return $SubId;
 }
Example #5
0
}
if ($Skip) {
    return NS_TRACK_GENERAL::FinishTracking();
}
$Fraud = NS_TRACK_GENERAL::CheckClickFraud($Settings, $VisId, $ClickSubId);
NS_TRACK_GENERAL::UpdateVisitorAction();
if (NS_TRACK_MISC::ValidId($ClickSubId) && $ClickSubId > 0) {
    NS_TRACK_GENERAL::UpdateVisitorClick();
}
if ($UpdateVisPath || $KeepVisPath) {
    NS_TRACK_GENERAL::UpdateVisitorPath();
}
if ($CookieLogSet && NS_TRACK_GENERAL::CheckTrackingMode()) {
    $CookieLogSet = false;
}
if ($CookieLogSet) {
    NS_TRACK_GENERAL::SetCookieLog();
}
if ($FindLastNode) {
    NS_TRACK_VISITOR::FindLastNode($VisId);
}
NS_TRACK_VISITOR::UpdateByRegs();
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]) . "')");
    }
}
return NS_TRACK_GENERAL::FinishTracking();
Example #6
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();
Example #7
0
 function CompareStrings($Str = false, $Templ = false)
 {
     global $_NS_TRACK_VARS;
     $Item =& $_NS_TRACK_VARS['Item'];
     if (!$Templ) {
         return true;
     }
     if ($Templ == "*" || $Templ == "/*") {
         return true;
     }
     if ($Templ == "{a}" || $Templ == "/{a}") {
         $Item = $Str;
         return true;
     }
     if (!$Str) {
         return false;
     }
     $ItemPosition = false;
     $Matches = array();
     if (strpos($Templ, "{a}") !== false) {
         $TmpArr = explode("*", substr($Templ, 0, strpos($Templ, "{a}")));
         $ItemPosition = count($TmpArr);
     }
     $Templ = str_replace("{a}", "*", $Templ);
     $Arr = explode("*", $Templ);
     for ($i = 0; $i < count($Arr); $i++) {
         $Arr[$i] = preg_quote($Arr[$i], "/");
     }
     $Templ2 = implode("(.+)", $Arr);
     $Result = @preg_match("/{$Templ2}/i", $Str, $Matches);
     if ($ItemPosition) {
         $Item = NS_TRACK_MISC::ValidVar($Matches[$ItemPosition]);
     }
     return $Result;
 }
Example #8
0
 function CheckTrackingMode()
 {
     global $_NS_TRACK_VARS, $_COOKIE;
     $Db =& $_NS_TRACK_VARS['Db'];
     $Settings =& $_NS_TRACK_VARS['Settings'];
     $CompanyId =& $_NS_TRACK_VARS['CompanyId'];
     $StId =& $_NS_TRACK_VARS['StId'];
     $VisId =& $_NS_TRACK_VARS['VisId'];
     $ClickSubId =& $_NS_TRACK_VARS['ClickSubId'];
     $TM = $Settings['All']->TRACKING_MODE;
     if (!$TM) {
         return false;
     }
     $Mode = "";
     $PaidPoint = "";
     $NaturalPoint = "";
     $NonePoint = "";
     $PriorArr = explode("|", $TM);
     $Mode = NS_TRACK_MISC::ValidVar($PriorArr[0], "NONE");
     if (NS_TRACK_MISC::ValidVar($PriorArr[1])) {
         $EntryArr = explode(";", $PriorArr[1]);
         for ($i = 0; $i < count($EntryArr); $i++) {
             $TmpArr = explode(":", $EntryArr[$i]);
             if (NS_TRACK_MISC::ValidVar($TmpArr[0]) == "NONE") {
                 $NonePoint = NS_TRACK_MISC::ValidVar($TmpArr[1], "LAST");
             }
             if (NS_TRACK_MISC::ValidVar($TmpArr[0]) == "PAID") {
                 $PaidPoint = NS_TRACK_MISC::ValidVar($TmpArr[1], "LAST");
             }
             if (NS_TRACK_MISC::ValidVar($TmpArr[0]) == "NATURAL") {
                 $NaturalPoint = NS_TRACK_MISC::ValidVar($TmpArr[1], "LAST");
             }
         }
     }
     $RequestedMode = $ClickSubId ? "PAID" : "NATURAL";
     if ($Mode == "NONE" && $NonePoint == "LAST") {
         return false;
     }
     if ($Mode == "PAID" && $PaidPoint == "LAST" && $ClickSubId) {
         return false;
     }
     if ($Mode == "NATURAL" && $NaturalPoint == "LAST" && !$ClickSubId) {
         return false;
     }
     if ($Mode == "NONE" && $NonePoint == "FIRST") {
         $NodeId = NS_TRACK_GENERAL::FindSomeNode("ANY", "FIRST");
         if ($NodeId) {
             return NS_TRACK_GENERAL::UpdateCookieLog($NodeId);
         }
         return false;
     }
     $NodeId = NS_TRACK_GENERAL::FindSomeNode($Mode, "FIRST");
     if ($NodeId) {
         return NS_TRACK_GENERAL::UpdateCookieLog($NodeId);
     }
     if ($Mode == $RequestedMode) {
         return false;
     }
     $NodeId = NS_TRACK_GENERAL::FindSomeNode($Mode == "PAID" ? "NATURAL" : "PAID", $Mode == "PAID" ? $NaturalPoint : $PaidPoint);
     if ($NodeId) {
         return NS_TRACK_GENERAL::UpdateCookieLog($NodeId);
     }
     return false;
 }
    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);
Example #10
0
    }
    $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);
    }
}
Example #11
0
 function GetUserIp()
 {
     global $_NS_TRACK_VARS;
     $PresetIP =& $_NS_TRACK_VARS['PresetIP'];
     if (NS_TRACK_MISC::ValidVar($PresetIP) && NS_TRACK_MISC::ValidIp($PresetIP)) {
         return $PresetIP;
     }
     $UserIp = false;
     if (NS_TRACK_MISC::ValidVar($_SERVER['HTTP_X_FORWARDED_FOR'])) {
         $UserIp = $_SERVER['HTTP_X_FORWARDED_FOR'];
         if (strpos($UserIp, ",") !== false) {
             $Arr = explode(",", $UserIp);
             $UserIp = $Arr[0];
         }
     }
     if (NS_TRACK_MISC::ValidIp($UserIp)) {
         return $UserIp;
     } else {
         return $_SERVER['REMOTE_ADDR'];
     }
 }
Example #12
0
}
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);
Example #13
0
 function GetKeywordId($Key = false)
 {
     if (!$Key) {
         return 0;
     }
     global $_NS_TRACK_VARS;
     $Db =& $_NS_TRACK_VARS['Db'];
     $Key = NS_TRACK_MISC::escape_string($Key);
     $Query = "SELECT ID FROM " . NS_DB_PFX . "_tracker_keyword WHERE MD5_SEARCH=MD5('{$Key}')";
     $CheckId = $Db->ReturnValue($Query);
     if (NS_TRACK_MISC::ValidId($CheckId)) {
         return $CheckId;
     }
     $Query = "INSERT INTO " . NS_DB_PFX . "_tracker_keyword (KEYWORD, MD5_SEARCH) VALUES ('{$Key}', MD5('{$Key}'))";
     $Db->Query($Query);
     return $Db->LastInsertId;
 }
Example #14
0
 function CookieStorageGet($Name = false)
 {
     if (!$Name) {
         return false;
     }
     global $_COOKIE;
     $CookieArr = NS_TRACK_MISC::ValidVar($_COOKIE[COOKIE_PFX . 'storage']);
     if (!NS_TRACK_MISC::ValidVar($CookieArr)) {
         return false;
     } else {
         $CookieArr = @unserialize($CookieArr);
     }
     return NS_TRACK_MISC::ValidVar($CookieArr[$Name]);
 }
Example #15
0
$VisId =& $_NS_TRACK_VARS['VisId'];
$LogId =& $_NS_TRACK_VARS['LogId'];
$PageId =& $_NS_TRACK_VARS['PageId'];
$QueryId =& $_NS_TRACK_VARS['QueryId'];
$Current =& $_NS_TRACK_VARS['Current'];
$CookieLogSet =& $_NS_TRACK_VARS['CookieLogSet'];
$IpId = $IpId =& $_NS_TRACK_VARS['IpId'];
$AgentId =& $_NS_TRACK_VARS['AgentId'];
$Settings =& $_NS_TRACK_VARS['Settings'];
$CheckCookieId =& $_NS_TRACK_VARS['CheckCookieId'];
$UpdateVisPath =& $_NS_TRACK_VARS['UpdateVisPath'];
$HostsArr =& $_NS_TRACK_VARS['HostsArr'];
$RefHostId =& $_NS_TRACK_VARS['RefHostId'];
$SourceId =& $_NS_TRACK_VARS['SourceId'];
$KeyId =& $_NS_TRACK_VARS['KeyId'];
$RefSet =& $_NS_TRACK_VARS['RefSet'];
$NaturalKey =& $_NS_TRACK_VARS['NaturalKey'];
$SiteHostId =& $_NS_TRACK_VARS['SiteHostId'];
$SSL =& $_NS_TRACK_VARS['SSL'];
$Site =& $_NS_TRACK_VARS['Site'];
$ClickSubId =& $_NS_TRACK_VARS['ClickSubId'];
$ScrRes =& $_NS_TRACK_VARS['ScrRes'];
$PxD =& $_NS_TRACK_VARS['PxD'];
$FlVer =& $_NS_TRACK_VARS['FlVer'];
$Frame =& $_NS_TRACK_VARS['Frame'];
$FindLastNode =& $_NS_TRACK_VARS['FindLastNode'];
$PresetIP =& $_NS_TRACK_VARS['PresetIP'];
$PresetID =& $_NS_TRACK_VARS['PresetID'];
$PresetIP = NS_TRACK_MISC::ValidVar($_GP['presetIP']);
$PresetID = NS_TRACK_MISC::ValidVar($_GP['presetID']);