function change_product_item_price() { require_once CLASSPATH . 'ps_product.php'; global $VM_LANG, $vmLogger, $mosConfig_offset; $ps_product = new ps_product(); $order_item_id = vmGet($_REQUEST, 'order_item_id'); $product_item_price_new = trim(vmGet($_REQUEST, 'product_item_price')); $product_final_price_new = trim(vmGet($_REQUEST, 'product_final_price')); $db = new ps_DB(); // Added, to read user_info_id $q = "SELECT user_info_id, product_id, product_quantity, product_final_price, product_item_price, product_final_price - product_item_price AS item_tax "; $q .= "FROM #__{vm}_order_item WHERE order_id = '" . $this->order_id . "' "; $q .= "AND order_item_id = '" . addslashes($order_item_id) . "'"; $db->query($q); $db->next_record(); $product_id = $db->f('product_id'); $timestamp = time() + $mosConfig_offset * 60 * 60; $user_info_id = $db->f('user_info_id'); $prod_weight = $ps_product->get_weight($product_id); $my_taxrate = $ps_product->get_product_taxrate($product_id, $prod_weight, $user_info_id); $product_item_price = $db->f('product_item_price'); $product_final_price = $db->f('product_final_price'); $quantity = $db->f('product_quantity'); if (is_numeric($product_item_price_new)) { $product_final_price_new = round($product_item_price_new * ($my_taxrate + 1), 2); } $product_item_price_new = $product_final_price_new / ($my_taxrate + 1); $q = "UPDATE #__{vm}_order_item "; $q .= "SET product_item_price = " . $product_item_price_new . ", "; $q .= "product_final_price = " . $product_final_price_new . ", "; $q .= "mdate = " . $timestamp . " "; $q .= "WHERE order_item_id = '" . addslashes($order_item_id) . "'"; $db->query($q); $db->next_record(); $this->recalc_order($this->order_id); $this->reload_from_db = 1; $vmLogger->info($VM_LANG->_('PHPSHOP_ORDER_PRINT_PRICE') . $VM_LANG->_('PHPSHOP_ORDER_EDIT_SOMETHING_HAS_CHANGED')); }