/** * Update an option in the shopping cart. * $rel works similarly to update_item() above. * * @param int $option_id * @param int $qty * @param boolean $rel * @return int */ function update_option($option_id, $qty = 0, $rel = false) { global $Conf; if (array_key_exists($option_id, $this->options)) { myDBC::new_andWhere(); myDBC::andWhere("`OptionID` = {$option_id}"); myDBC::andWhere("`CartID` = {$this->CartID}"); if ($qty == 0) { unset($this->options[$option_id]); return myDBC::delete_Record($Conf["data"]->OrdersTable, myDBC::get_andWhere()); } elseif ($rel === true) { $this->options[$option_id]->quantity += $qty; $this->options[$option_id]->saleprice = $this->options[$option_id]->quantity * $this->options[$option_id]->price; $fields = array("`Quantity`" => "Quantity + {$qty}", "`Price`" => "'{$this->options[$option_id]->price}'", "`PriceSold`" => "'{$this->options[$option_id]->saleprice}'", "`DateTime`" => "NOW()"); return myDBC::update_Record($Conf["data"]->OrdersTable, $fields, myDBC::get_andWhere()); } else { $this->options[$option_id]->quantity = $qty; $this->options[$option_id]->saleprice = $this->options[$option_id]->quantity * $this->options[$option_id]->price; $fields = array("`Quantity`" => "{$qty}", "`Price`" => "'{$this->options[$option_id]->price}'", "`PriceSold`" => "'{$this->options[$option_id]->saleprice}'", "`DateTime`" => "NOW()"); return myDBC::update_Record($Conf["data"]->OrdersTable, $fields, myDBC::get_andWhere()); } } else { return false; } }