/** * This will group together all relevant links - clinic website, social media * sites, email, call us, etc in one variable. Its purpose is to make it easier * on the view side to display these links. * * NOTE: It is imperative that this return only the permitted links for each * paying status type. There will be no checking on the view side. * * Rules are here: https://basecamp.com/1876919/projects/3113924-health-care-abroad/todos/55796212-add-interface-to * */ public function getCenterLinks(InstitutionMedicalCenter $center, $url) { $links = array(); //Falls through; order of the elements in $links is significant switch ($center->getPayingClient()) { case PayingStatus::PHOTO_LISTING: case PayingStatus::LOGO_LISTING: case PayingStatus::LINKED_LISTING: $socialMediaSites = json_decode($center->getSocialMediaSites(), true); foreach ($socialMediaSites as $type => $value) { if ($value) { $links[$type] = array('tooltip' => "This hospital is on {$value}"); } } if ($website = $center->getWebsites()) { $links['website'] = array('tooltip' => "Website: {$website}"); } if ($number = $center->getContactNumber()) { $links['contactnumber'] = array('tooltip' => 'Call Us', 'value' => $url); } break; } $links['email'] = array('tooltip' => 'Email Us', 'value' => $url . '#form_feedback'); return $links; }
public function getListOfEmptyFieldsOnInstitutionMedicalCenter(InstitutionMedicalCenter $center) { $emptyFields = array(); if (!$center->getDescription()) { $emptyFields[] = 'description'; } if (!$center->getLogo()) { $emptyFields[] = 'logo'; } if (!$center->getContactDetails()->count()) { $emptyFields[] = 'contact details'; } if (!$center->getSocialMediaSites()) { $emptyFields[] = 'social media sites'; } if (!$center->getDoctors()) { $emptyFields[] = 'doctors'; } return $emptyFields; }
public function institutionMedicalCenterWebsitesToArray(InstitutionMedicalCenter $institutionMedicalCenter) { return $this->jsonWebsitesToArray($institutionMedicalCenter->getSocialMediaSites()); }