$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();
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); } } }