/** * Add a shipping address to this quote. If split-shipping is not enabled * the supplied shipping address will override the address already on this * quote. * * @param ISC_QUOTE_ADDRESS_SHIPPING $address Shipping address instance. * @return ISC_QUOTE This quote instance. */ public function addShippingAddress(ISC_QUOTE_ADDRESS_SHIPPING $address) { $address->setQuote($this); $address->setType(ISC_QUOTE_ADDRESS::TYPE_SHIPPING); if ($this->isSplitShipping == false) { foreach ($this->addresses as $k => $existingAddress) { if ($existingAddress->getType() == ISC_QUOTE_ADDRESS::TYPE_SHIPPING) { $this->addresses[$k] = $address; $address->setId($existingAddress->getId()); return $this; } } } $this->addresses[$address->getId()] = $address; return $this; }