public function update_item_qty($data)
{
if (!isset($data['id'])) {
$this->app->error('Invalid data');
}
if (!isset($data['qty'])) {
$this->app->error('Invalid data');
}
$cart = array();
$cart['id'] = intval($data['id']);
$cart['session_id'] = mw()->user_manager->session_id();
$cart['order_completed'] = 0;
$cart['one'] = 1;
$cart['limit'] = 1;
$check_cart = $this->get($cart);
if (isset($check_cart['rel_type']) and isset($check_cart['rel_id']) and $check_cart['rel_type'] == 'content') {
$data_fields = $this->app->content_manager->data($check_cart['rel_id'], 1);
if (isset($check_cart['qty']) and isset($data_fields['qty']) and $data_fields['qty'] != 'nolimit') {
$old_qty = intval($data_fields['qty']);
if (intval($data['qty']) > $old_qty) {
return false;
}
}
}
if ($check_cart != false and is_array($check_cart)) {
$cart['qty'] = intval($data['qty']);
if ($cart['qty'] < 0) {
$cart['qty'] = 0;
}
$table = $this->table;
$cart_data_to_save = array();
$cart_data_to_save['qty'] = $cart['qty'];
$cart_data_to_save['id'] = $cart['id'];
$cart_saved_id = $this->app->database_manager->save($table, $cart_data_to_save);
return $cart_saved_id;
}
}