/** * Parse data model of Teamleader for add/update * * @param Model\Contact $contact * @param array $parameters * @return array */ protected function parseContactParameters(Model\Contact $contact, $parameters = []) { $fields = ['contact_id' => $contact->getId(), 'forename' => $contact->getForename(), 'surname' => $contact->getSurname(), 'email' => $contact->getEmail(), 'telephone' => $contact->getTelephone(), 'gsm' => $contact->getGsm(), 'website' => $contact->getWebsite(), 'country' => $contact->getCountry(), 'zipcode' => $contact->getZipcode(), 'city' => $contact->getCity(), 'street' => $contact->getStreet(), 'number' => $contact->getNumber(), 'language' => $contact->getLanguage(), 'gender' => $contact->getGender(), 'dob' => $contact->getDob()]; // @todo tags // Include dynamic extra addresses if ($contact->getExtraAddresses()) { foreach ($contact->getExtraAddresses() as $type => $data) { foreach ($data as $key => $value) { $fields[$key . "_" . $type] = $value; } } } // Include the custom fields if ($contact->getCustomFields()) { foreach ($contact->getCustomFields() as $id => $value) { $fields['custom_field_' . $id] = $value; } } return array_merge($parameters, $fields); }