/** * Ajax method to set an item quantity */ function setquantityitem() { $itemId = $this->urlParams['ID']; $quantity = $_REQUEST['quantity']; if ($itemId && is_numeric($quantity) && is_int($quantity + 0)) { if ($quantity > 0) { ShoppingCart::set_quantity_item($itemId, $quantity); return self::json_code(); } else { user_error("Bad data to Product->setQuantity: quantity={$quantity}", E_USER_WARNING); } } else { user_error("Bad data to Product->setQuantity: quantity={$quantity}", E_USER_WARNING); } }
/** * Ajax method to set an item quantity */ function setquantityitem($request) { $quantity = $request->getVar('quantity'); $product = $this->buyableFromURL(); if (is_numeric($quantity) && $product) { $item = ShoppingCart::get_item($this->urlFilter()); if ($quantity > 0) { if (!$item) { if ($item = self::create_order_item($product, $quantity, self::get_clean_param_array($this->getRequest()->getVars()))) { $item->Quantity = $quantity; self::add_new_item($item); } } else { ShoppingCart::set_quantity_item($item, $quantity); } } elseif ($item) { ShoppingCart::remove_all_item($item); return self::return_data("success", "Item removed completely"); //TODO: i18n } return self::return_data("success", "Quantity set successfully"); //TODO: i18n } return self::return_data("failure", "Quantity provided is not numeric"); //TODO: i18n }