public function render_institution_medical_center_contact_details(InstitutionMedicalCenter $center, $asJSON = false) { $contactDetails = $center->getContactDetails(); $contactDetailsArray = array(); foreach ($contactDetails as $each) { if ('' != \trim($each->getNumber())) { $contactDetailsArray[$each->getType()] = array('type' => ContactDetailTypes::getTypeLabel($each->getType()), 'number' => $each->__toString()); } } if (!\count($contactDetailsArray)) { return null; } return $asJSON ? \json_encode($contactDetailsArray) : $contactDetailsArray; }
public function contactDetailsToJSON(array $contactDetails = array()) { $byType = array(); foreach ($contactDetails as $contactDetailData) { if ($contactDetailData instanceof ContactDetail) { $contactDetailInstance = $contactDetailData; } elseif (\is_array($contactDetailData)) { // hydrated as array $contactDetailInstance = new ContactDetail(); $contactDetailInstance->setCountryCode($contactDetailData['countryCode']); $contactDetailInstance->setAreaCode($contactDetailData['areaCode']); $contactDetailInstance->setNumber($contactDetailData['number']); $contactDetailInstance->setType($contactDetailData['type']); } else { // unknown type that we can't handle continue; } $byType[$contactDetailInstance->getType()] = array('type' => ContactDetailTypes::getTypeLabel($contactDetailInstance->getType()), 'number' => $contactDetailInstance->__toString()); } if (!\count($byType)) { return null; } return \json_encode($byType); }