/** * Breadcrumbs will be shown according to insertion order in the $breadcrumbs array * * @param array $data * @return array */ private function doGenerateBreadcrumbs(array $data) { $breadcrumbs = array(); if ($data['country']) { $breadcrumbs[] = array('label' => $data['country']['name'], 'url' => $this->generateUrl('frontend_search_results_countries', array('country' => $data['country']['slug']))); } if ($data['city']) { $breadcrumbs[] = array('label' => $data['city']['name'], 'url' => $this->generateUrl('frontend_search_results_cities', array('country' => $data['country']['slug'], 'city' => $data['city']['slug']))); } if ($data['tag']) { $breadcrumbs[] = array('label' => $data['tag']); return $breadcrumbs; } if ($data['institution']) { $routeName = InstitutionService::getInstitutionRouteName($data['institution']); $breadcrumbs[] = array('label' => $data['institution']['name'], 'url' => $this->generateUrl($routeName, array('institutionSlug' => $data['institution']['slug']))); if ($data['institutionMedicalCenter']) { $breadcrumbs[] = array('label' => $data['institutionMedicalCenter']['name']); } return $breadcrumbs; } if ($data['specialization']) { $breadcrumbs[] = array('label' => $data['specialization']['name'], 'url' => $this->generateUrl('frontend_search_results_specializations', array('specialization' => $data['specialization']['slug']))); } if ($data['subSpecialization']) { $breadcrumbs[] = array('label' => $data['subSpecialization']['name'], 'url' => $this->generateUrl('frontend_search_results_subSpecializations', array('specialization' => $data['specialization']['slug'], 'subSpecialization' => $data['specialization']['slug']))); } if ($data['treatment']) { $breadcrumbs[] = array('label' => $data['treatment']['name'], 'url' => $this->generateUrl('frontend_search_results_treatments', array('specialization' => $data['specialization']['slug'], 'treatment' => $data['treatment']['slug']))); } return $breadcrumbs; }
/** * Generate frontend uri of an institution * * @param Mixed <Institution, array> $institution * @return string */ public function getInstitutionFrontendUrl($institution) { if ($institution instanceof Institution) { $slug = $institution->getSlug(); } else { $slug = $institution['slug']; } $routeName = InstitutionService::getInstitutionRouteName($institution); $uri = $this->router->generate($routeName, array('institutionSlug' => $slug), true); return $uri; }
public function ajaxProcessInstitutionParametersAction(Request $request) { $institution = $this->get('services.institution.factory')->findById($request->get('institutionId', 0)); if (!$institution) { throw $this->createNotFoundException('Cannot build metas for invalid institution'); } $institutionMedicalCenter = null; if ($imcId = $request->get('imcId', 0)) { $institutionMedicalCenter = $this->get('services.institution_medical_center')->findById($imcId); if (!$institutionMedicalCenter || $institutionMedicalCenter->getInstitution()->getId() != $institution->getId()) { throw $this->createNotFoundException('Cannot build metas for invalid institution medical center'); } } $pageMetaService = $this->get('services.helper.page_meta_configuration'); $builderMethod = 'buildForInstitutionPage'; $builderParameter = null; if ($institutionMedicalCenter) { // clinic page $url = $this->generateUrl('frontend_institutionMedicalCenter_profile', array('institutionSlug' => $institution->getSlug(), 'imcSlug' => $institutionMedicalCenter->getSlug())); $builderMethod = 'buildForInstitutionMedicalCenterPage'; $builderParameter = $institutionMedicalCenter; } else { // hospital page $url = $this->generateUrl(InstitutionService::getInstitutionRouteName($institution), array('institutionSlug' => $institution->getSlug())); $builderMethod = 'buildForInstitutionPage'; $builderParameter = $institution; } // replace app_dev.php if ('appDevDebugProjectContainer' == get_class($this->get('service_container'))) { $url = \preg_replace('/^(\\/app_dev\\.php)/', '', $url); } // build meta config if no meta config available if (!($metaConfig = $pageMetaService->findOneByUrl($url))) { $metaConfig = $pageMetaService->{$builderMethod}($builderParameter); $metaConfig->setUrl($url); $pageMetaService->save($metaConfig); } $form = $this->createForm(new PageMetaConfigurationFormType(), $metaConfig); $html = $this->renderView('AdminBundle:PageMetaConfiguration:form.html.twig', array('form' => $form->createView())); return new Response(\json_encode(array('html' => $html)), 200, array('content-type' => 'application/json')); }
public function getData(Event $event) { $inquiry = $event->getSubject(); $institution = $inquiry->getInstitution(); $institutionMedicalCenter = $inquiry->getInstitutionMedicalCenter(); $router = $this->container->get('router'); if ($institutionMedicalCenter) { $facilityName = $institutionMedicalCenter->getName() . ' at ' . $institution->getName(); $urlFacility = $router->generate('frontend_institutionMedicalCenter_profile', array('institutionSlug' => $institution->getSlug(), 'imcSlug' => $institutionMedicalCenter->getSlug()), true); $to = $institutionMedicalCenter->getContactEmail(); } else { $facilityName = $institution->getName(); $routeName = InstitutionService::getInstitutionRouteName($institution); $urlFacility = $router->generate($routeName, array('institutionSlug' => $institution->getSlug()), true); } if (empty($to)) { if (!($to = $institution->getContactEmail())) { $to = $this->container->get('services.institution')->getAccountOwner($institution)->getEmail(); } } return array('inquiry' => array('name' => $inquiry->getInquirerName(), 'email' => $inquiry->getInquirerEmail(), 'message' => $inquiry->getMessage()), 'to' => $to, 'facility_name' => $facilityName, 'url' => array('facility' => $urlFacility)); }
private function getInstitutionFrontendUrl($institution) { $slug = $institution instanceof Institution ? $institution->getSlug() : $institution['slug']; $routeName = InstitutionService::getInstitutionRouteName($institution); return $this->router->generate($routeName, array('institutionSlug' => $slug), true); }