} $single = $single == 'each_product'; $at_least_1_item = false; $db->autoCommit(false); $delivery = new Delivery(); $delivery->description = ClientData::post('description'); $delivery->user = $_SESSION['login']; $delivery->commit(); $stock_change_amount = 0; for ($i = 0; $i < count($ean); $i++) { if (empty($ean[$i])) { continue; } $at_least_1_item = true; try { $product = Product::from_ean($ean[$i]); if ($product == null) { $product = new Product(); $product->ean = $ean[$i]; } $contents = new DeliveryContent(); if ($single) { $product->value = ($product->value * $product->count + $purchase_price[$i] * $count[$i]) / ($product->count + $count[$i]); $contents->cost = $purchase_price[$i]; $stock_change_amount += $purchase_price[$i] * $count[$i]; } else { $product->value = ($product->value * $product->count + $purchase_price[$i]) / ($product->count + $count[$i]); $contents->cost = $purchase_price[$i] / $count[$i]; $stock_change_amount += $purchase_price[$i]; } $product->count += $count[$i];