示例#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;
 }
示例#2
0
 function RefSetProcess($RefArr, $RefId = false, $HostObj = false)
 {
     //global $Db, $StId, $Skip, $NaturalKey, $HostsArr, $CookieLogSet, $UpdateVisPath;
     global $_NS_TRACK_VARS;
     $Db =& $_NS_TRACK_VARS['Db'];
     $StId =& $_NS_TRACK_VARS['StId'];
     $Skip =& $_NS_TRACK_VARS['Skip'];
     $NaturalKey =& $_NS_TRACK_VARS['NaturalKey'];
     $HostsArr =& $_NS_TRACK_VARS['HostsArr'];
     $CookieLogSet =& $_NS_TRACK_VARS['CookieLogSet'];
     $UpdateVisPath =& $_NS_TRACK_VARS['UpdateVisPath'];
     $QrArr = NS_TRACK_QUERY::ParseTemplate(NS_TRACK_MISC::ValidVar($RefArr['query']));
     if (NS_TRACK_MISC::ValidVar($HostObj->KEY_VAR) && isset($QrArr[$HostObj->KEY_VAR])) {
         $Key = NS_TRACK_MISC::ToLower(urldecode(urldecode($QrArr[$HostObj->KEY_VAR])));
         $Key = NS_TRACK_REFERER::ReplacePunkt($Key);
         $Key = preg_replace("/\\s+/", " ", $Key);
         $Key = trim($Key);
         $KeyId = NS_TRACK_REFERER::GetKeywordId($Key);
     } else {
         $KeyId = 0;
     }
     $NaturalKey = $KeyId;
     $Query = "INSERT INTO " . NS_DB_PFX . "_tracker_referer_set (HOST_ID, NATURAL_KEY, PROCESSED, REFERER_ID) VALUES (" . $HostObj->ID . ", {$KeyId}, '1', {$RefId})";
     $Db->Query($Query);
     return $Db->LastInsertId;
 }
示例#3
0
 function PreparePathAddr($Addr)
 {
     $Arr = @parse_url(urldecode(urldecode($Addr)));
     if (!isset($Arr['path'])) {
         $Arr['path'] = "";
     }
     $Arr['path'] = ereg_replace("/+", "/", $Arr['path']);
     if ($Arr['path'] == "") {
         $Arr['path'] = "/";
     }
     if (!NS_TRACK_MISC::ValidVar($Arr['host'])) {
         return false;
     }
     $Arr['host'] = NS_TRACK_MISC::ToLower($Arr['host']);
     if (!isset($Arr['query'])) {
         $Arr['query'] = "";
     }
     return $Arr;
 }