Microweber\Providers\Shop\CartManager::update_item_qty PHP Method

update_item_qty() public method

public update_item_qty ( $data )
    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;
        }
    }