Example #1
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);
         }
     }
 }