/** * Build the logo source of an institution, if allowed * * @param array array data of $institution * @return \HealthCareAbroad\ApiBundle\Services\InstitutionApiService */ public function buildLogoSource(&$institution) { $institution['logo']['src'] = null; if (isset($institution['logo']) && $institution['payingClient']) { $institution['logo']['src'] = $this->mediaExtension->getInstitutionMediaSrc($institution['logo'], ImageSizes::MEDIUM); } return $this; }
/** * * @param array $institutionMedicalCenter * @return \HealthCareAbroad\ApiBundle\Services\InstitutionMedicalCenterApiService */ public function buildInstitutionSpecializations(&$institutionMedicalCenter) { $institutionMedicalCenter['institutionSpecializations'] = $this->getInstitutionSpecializationsByInstitutionMedicalCenterId($institutionMedicalCenter['id']); // build logo of insitution specializations foreach ($institutionMedicalCenter['institutionSpecializations'] as &$instSpecialization) { if ($instSpecialization['specialization']['media']) { $instSpecialization['specialization']['media']['src'] = $this->mediaExtensionService->getSpecializationMediaSrc($instSpecialization['specialization']['media'], ImageSizes::SPECIALIZATION_DEFAULT_LOGO); } } return $this; }
/** * NOTE: This helper is for search result and ads context only! * * @param Mixed <InstitutionMedicalCenter, array> $institutionMedicalCenter * @param array $options */ public function renderInstitutionMedicalCenterLogo($institutionMedicalCenter, array $options = array()) { $options['size'] = ImageSizes::MEDIUM; if (!isset($options['context'])) { $options['context'] = self::SEARCH_RESULTS_CONTEXT; } if (!isset($options['attr'])) { $options['attr'] = array(); } if ($institutionMedicalCenter instanceof InstitutionMedicalCenter) { $centerLogo = $institutionMedicalCenter->getLogo(); $institutionLogo = $institutionMedicalCenter->getInstitution()->getLogo(); $payingClient = $institutionMedicalCenter->getInstitution()->getPayingClient(); } else { $centerLogo = $institutionMedicalCenter['logo']; $institutionLogo = $institutionMedicalCenter['institution']; $payingClient = $institutionMedicalCenter['institution']['payingClient']; } // Default image $hasAttrClass = isset($options['attr']['class']); $html = '<span class="hca-sprite clinic-default-logo logo ' . ($hasAttrClass ? $options['attr']['class'] : '') . '"></span>'; // TODO - Clinic Logo for non-paying client is temporarily enabled in ADS section. $isAdsContext = isset($options['context']) && $options['context'] == self::ADS_CONTEXT; $logo = $centerLogo ?: $institutionLogo; if ($logo && ($payingClient || $isAdsContext)) { $mediaSrc = $this->mediaExtension->getInstitutionMediaSrc($logo, $options['size']); } else { if ($options['context'] == self::SEARCH_RESULTS_CONTEXT || $options['context'] == self::ADS_CONTEXT) { if ($logo && $payingClient) { $mediaSrc = $this->mediaExtension->getInstitutionMediaSrc($logo, ImageSizes::SMALL); } } } if (isset($mediaSrc)) { $html = '<img src="' . $mediaSrc . '" alt="clinic logo" class="' . ($hasAttrClass ? $options['attr']['class'] : '') . '">'; } return $html; }
/** * Render institution logo as an img tag * * @param Mixed <Institution, array> $institution * @param array $options */ public function renderInstitutionLogo($institution, array $options = array()) { $defaultOptions = array('attr' => array(), 'media_format' => 'default', 'placeholder' => ''); $options = \array_merge($defaultOptions, $options); $html = ''; // TODO - Institution Logo for non-paying client is temporarily enabled in ADS section. $isAdsContext = isset($options['context']) && $options['context'] == self::ADS_CONTEXT; if ($institution instanceof Institution) { $isPayingClient = $institution->getPayingClient(); $institutionLogo = $institution->getLogo(); } elseif (\is_array($institution)) { // hydrated with HYDRATE_ARRAY $institutionLogo = $institution['logo']; $isPayingClient = $institution['payingClient']; } if ($institutionLogo && ($isPayingClient || $isAdsContext)) { if (isset($options['attr']['class'])) { $options['attr']['class'] .= ' hospital-logo'; } else { $options['attr']['class'] = 'hospital-logo'; } if (!isset($options['size'])) { $options['size'] = ImageSizes::MEDIUM; } $mediaSrc = $this->mediaExtension->getInstitutionMediaSrc($institutionLogo, $options['size']); $html = '<img src="' . $mediaSrc . '" class="hospital-logo">'; } else { if (isset($options['attr']['class'])) { $html = '<span class="hca-sprite hospital-default-logo ' . $options['attr']['class'] . '"></span>'; } else { $html = '<span class="hca-sprite hospital-default-logo"></span>'; } //$html = '<span class="hca-sprite hospital-default-logo '. isset($options['attr']['class']) ? $options['attr']['class'] : '' .'"></span>'; } return $html; }