/** * * Add address to the contact * @param string $street * @param string $city * @param string $state * @param string $country * @param string $zipCode * @param int $email_type * @param boolean $isMain * @author Seba */ function addAddress($street, $city, $state, $country, $zipCode, $address_type, $isMain = false) { $address = new ContactAddress(); $address->setAddressTypeId(AddressTypes::getAddressTypeId($address_type)); $address->setStreet($street); $address->setCity($city); $address->setState($state); $address->setCountry($country); $address->setZipCode($zipCode); $address->setContactId($this->getId()); $address->setIsMain($isMain); $address->save(); }
function save_phones_addresses_webpages($contact_data, $contact) { //telephones $phones_data = array_var($contact_data, 'phone'); if (is_array($phones_data)) { foreach ($phones_data as $data) { $obj = null; if ($data['id'] > 0) { $obj = ContactTelephones::findById($data['id']); } else { if (trim($data['number']) == '' && trim($data['name']) == '') { continue; } } if ($data['deleted'] && $obj instanceof ContactTelephone) { $obj->delete(); continue; } if (!$obj instanceof ContactTelephone) { $obj = new ContactTelephone(); $obj->setContactId($contact->getId()); } $obj->setTelephoneTypeId($data['type']); $obj->setNumber($data['number']); $obj->setName($data['name']); $obj->save(); } } //addresses $addresses_data = array_var($contact_data, 'address'); if (is_array($addresses_data)) { foreach ($addresses_data as $data) { $obj = null; if ($data['id'] > 0) { $obj = ContactAddresses::findById($data['id']); } else { if (trim($data['street']) == '' && trim($data['city']) == '' && trim($data['state']) == '' && trim($data['zip_code']) == '' && trim($data['country']) == '') { continue; } } if ($data['deleted'] && $obj instanceof ContactAddress) { $obj->delete(); continue; } if (!$obj instanceof ContactAddress) { $obj = new ContactAddress(); $obj->setContactId($contact->getId()); } $obj->setAddressTypeId($data['type']); $obj->setStreet($data['street']); $obj->setCity($data['city']); $obj->setState($data['state']); $obj->setZipCode($data['zip_code']); $obj->setCountry($data['country']); $obj->save(); } } //webpages $webpages_data = array_var($contact_data, 'webpage'); if (is_array($webpages_data)) { foreach ($webpages_data as $data) { $obj = null; if ($data['id'] > 0) { $obj = ContactWebpages::findById($data['id']); } else { if (trim($data['url']) == '') { continue; } } if ($data['deleted'] && $obj instanceof ContactWebpage) { $obj->delete(); continue; } if (!$obj instanceof ContactWebpage) { $obj = new ContactWebpage(); $obj->setContactId($contact->getId()); } $obj->setWebTypeId($data['type']); $obj->setUrl($data['url']); $obj->save(); } } return true; }