} } if ($mode == 'add_combinations') { if (is_array($_REQUEST['add_inventory'])) { foreach ($_REQUEST['add_inventory'] as $k => $v) { $_data = array('product_id' => $_REQUEST['product_id'], 'combination' => $_REQUEST['add_options_combination'][$k], 'amount' => isset($_REQUEST['add_inventory'][$k]['amount']) ? $_REQUEST['add_inventory'][$k]['amount'] : 0); $_data = fn_array_merge($v, $_data); fn_update_option_combination($_data); } } $suffix = ".inventory?product_id={$_REQUEST['product_id']}"; } if ($mode == 'update_combinations') { if (!empty($_REQUEST['inventory'])) { foreach ($_REQUEST['inventory'] as $k => $v) { fn_update_option_combination($v, $k); } } $suffix = ".inventory?product_id={$_REQUEST['product_id']}"; } if ($mode == 'm_delete_combinations') { foreach ($_REQUEST['combination_hashes'] as $v) { fn_delete_option_combination($v); } $suffix = ".inventory?product_id={$_REQUEST['product_id']}"; } // Apply global options to the selected products if ($mode == 'apply') { if (!empty($_REQUEST['apply_options']['options'])) { $_data = $_REQUEST['apply_options']; foreach ($_data['options'] as $key => $value) {
public function update($id, $params) { $status = Response::STATUS_OK; $data = array(); $product_id = $this->safeGet($params, 'product_id', 0); if (empty($product_id)) { $product_id = db_get_field('SELECT product_id FROM ?:product_options_inventory WHERE combination_hash = ?s', $id); } list($_status, $message) = $this->checkProductId($product_id); if ($_status != Response::STATUS_OK) { return array('status' => $status, 'data' => array('message' => $message)); } $this->prepareImages($params, $id, 'combinations'); $combination_hash = fn_update_option_combination($params, $id); if ($combination_hash) { $data = array('combination_hash' => $combination_hash); } else { $status = Response::STATUS_BAD_REQUEST; } return array('status' => $status, 'data' => $data); }