Exemplo n.º 1
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();
Exemplo n.º 2
0
 function UpdateVisitorSale()
 {
     global $_NS_TRACK_VARS;
     $Db =& $_NS_TRACK_VARS['Db'];
     $LogId =& $_NS_TRACK_VARS['LogId'];
     $Cost =& $_NS_TRACK_VARS['Cost'];
     $Items =& $_NS_TRACK_VARS['Items'];
     $CompanyId =& $_NS_TRACK_VARS['CompanyId'];
     $StId =& $_NS_TRACK_VARS['StId'];
     $CustomId =& $_NS_TRACK_VARS['CustomId'];
     $AddInfo =& $_NS_TRACK_VARS['AddInfo'];
     if (!$LogId) {
         $LogId = NS_TRACK_GENERAL::GetLogRecord();
     }
     if ($CustomId && NS_TRACK_GENERAL::CheckDblSale($StId, $CustomId)) {
         return false;
     }
     if ($AddInfo === false) {
         $AddInfo = "";
     }
     if ($Cost == 0 && NS_TRACK_MISC::ValidArr($Items) && count($Items) > 0) {
         for ($i = 0; $i < count($Items); $i++) {
             $Cost += $Items[$i][2] * $Items[$i][1];
         }
     }
     $Query = "\n\t\tINSERT INTO " . NS_DB_PFX . "_tracker_" . $CompanyId . "_stat_sale\n\t\t\t(LOG_ID, COST, SITE_ID, CUSTOM_ORDER_ID, ADDITIONAL) VALUES \n\t\t\t({$LogId}, '{$Cost}', {$StId}, '{$CustomId}', ?)\n\t";
     $Db->Query($Query, $AddInfo);
     $SaleId = $Db->LastInsertId;
     if (NS_TRACK_MISC::ValidArr($Items)) {
         for ($i = 0; $i < count($Items); $i++) {
             $Count = $Items[$i][2];
             settype($Count, "integer");
             if (!$Count) {
                 continue;
             }
             $Cost = $Items[$i][1];
             settype($Cost, "float");
             $ItemId = NS_TRACK_SALE::GetSaleItem($Items[$i][0], $CompanyId);
             $Query = "\n\t\t\t\tINSERT INTO " . NS_DB_PFX . "_tracker_sale_set \n\t\t\t\t(SALE_ID, ITEM_ID, QUANT, COST, COMPANY_ID) VALUES \n\t\t\t\t({$SaleId}, {$ItemId}, {$Count}, '{$Cost}', {$CompanyId})\n\t\t\t";
             $Db->Query($Query);
         }
     }
 }