$action = 'update_inventory'; } if ($action == 'update_inventory' && count($eans)) { cw_load('serials', 'warehouse'); foreach ($settings_vars as $val) { $ean_settings[$val] = ${$val}; } $ean_products = array(); $saved_products_info = array(); foreach ($eans as $ean) { if (empty($ean['ean'])) { continue; } $result = $ean; if (!$saved_products_info[$ean['ean']]) { $saved_products_info[$ean['ean']] = cw_ean_get_product_info($ean['ean']); } $product_info =& $saved_products_info[$ean['ean']]; if ($product_info['product_id']) { $result['product_info'] = $product_info; $product_id = $product_info['product_id']; if ($addons['sn']) { $result['auto_generated'] = cw_serials_is_auto_generated($product_id); if ($result['auto_generated']) { $result['numbers'] = implode(" ", cw_serials_check_product($product_id)); } elseif ($ean['serial'] && $ean['serial'] != $default_number) { $res = cw_serials_add($user_account['warehouse_customer_id'], $product_id, $ean['serial']); $result['numbers'] = $ean['serial']; if (!$res) { $result['error'] = 2; }
function cw_product_get_product_by_ean($ean) { global $tables, $user_account; $info = cw_ean_get_product_info($ean); return cw_func_call('cw_product_get', array('id' => $info['product_id'], 'user_account' => $user_account)); }
$newproduct_ids = explode(" ", trim($newproduct_id)); $amounts = explode(' ', trim($newamount)); $aom_orders[$doc_id]['info']['use_shipping_cost_alt'] = 'N'; $out_products = cw_aom_add_new_products($aom_orders[$doc_id], $newproduct_ids, array(), $amounts, array(), array(), $is_old); $doc_data = cw_doc_get($doc_id, 0); $aom_orders[$doc_id] = cw_aom_normalize_after_update($aom_orders[$doc_id], $doc_data); } if ($action == 'add_item_by_ean' && is_array($eans) && !$aom_orders[$doc_id]['saved']) { $pids = array(); $amounts = array(); $discounts = array(); foreach ($eans as $ean) { if (empty($ean['ean'])) { continue; } $product_info = cw_ean_get_product_info(trim($ean['ean'])); if (!$product_info) { $not_found[] = $ean['ean']; continue; } $pids[] = $product_info['product_id']; $vars[] = $product_info['variant_id']; $amounts[] = $default_use_only_ean == 'Y' ? intval($default_number) : $ean['amount']; $discounts[] = $ean['discount']; } $out_products = cw_aom_add_new_products($aom_orders[$doc_id], $pids, $vars, $amounts, $discounts, array(), $is_old); $doc_data = cw_doc_get($doc_id, 0); $aom_orders[$doc_id] = cw_aom_normalize_after_update($aom_orders[$doc_id], $doc_data); } if ($action == 'update_discount' && !$aom_orders[$doc_id]['saved']) { if ($param == 'gd_value' && ($current_area == 'G' && $accl['100002'] || $current_area != 'G')) {