public function saveAddress($customer_id = FALSE, $address_id = FALSE, $address = array())
{
if (is_array($address_id)) {
$address = $address_id;
}
if (empty($address)) {
return FALSE;
}
if ($customer_id) {
$this->db->set('customer_id', $customer_id);
}
if (empty($address_id) and isset($address['address_id'])) {
$this->db->set('address_id', $address['address_id']);
}
if (isset($address['address_1'])) {
$this->db->set('address_1', $address['address_1']);
}
if (isset($address['address_2'])) {
$this->db->set('address_2', $address['address_2']);
}
if (isset($address['city'])) {
$this->db->set('city', $address['city']);
}
if (isset($address['state'])) {
$this->db->set('state', $address['state']);
}
if (isset($address['postcode'])) {
$this->db->set('postcode', $address['postcode']);
}
if (isset($address['country'])) {
$this->db->set('country_id', $address['country']);
} else {
if (isset($address['country_id'])) {
$this->db->set('country_id', $address['country_id']);
}
}
if (is_numeric($address_id)) {
$this->db->where('address_id', $address_id);
$query = $this->db->update('addresses');
} else {
$query = $this->db->insert('addresses');
$address_id = $this->db->insert_id();
}
return ($query === TRUE and is_numeric($address_id)) ? $address_id : FALSE;
}