/** * Executes view action. */ public function executeView() { parent::executeView(); if (!$this->document->isArchive() && $this->document['redirects_to'] == NULL) { $user = $this->getUser(); $prefered_cultures = $user->getCulturesForDocuments(); $this->associated_summits = Summit::getAssociatedSummitsData($this->associated_docs); $this->associated_routes = Route::getAssociatedRoutesData($this->associated_docs, $this->__(' :') . ' '); $this->associated_huts = Hut::getAssociatedHutsData($this->associated_docs); $this->associated_sites = Site::getAssociatedSitesData($this->associated_docs); // add linked docs areas $parent_ids = array(); $associated_areas = array(); if (count($this->associated_docs)) { foreach ($this->associated_docs as $doc) { $parent_ids[] = $doc['id']; } $associated_areas = GeoAssociation::findAreasWithBestName($parent_ids, $prefered_cultures); } $this->associated_areas = $associated_areas; $cas = count($this->associated_summits); $car = count($this->associated_routes); $cah = count($this->associated_huts); $cab = count($this->associated_sites); $this->section_list = array('summits' => $cas != 0, 'routes' => $car != 0, 'huts' => $cah != 0, 'sites' => $cab != 0, 'docs' => $cas + $car + $cah + $cab == 0); $related_portals = array(); $activities = $this->document->get('activities'); $book_types = $this->document->get('book_types'); Portal::getRelatedPortals($related_portals, $this->associated_areas, $this->associated_routes, $activities); if (array_intersect(array(1, 4, 10, 14, 18), $book_types) && in_array(5, $activities) && !in_array('ice', $related_portals)) { $related_portals[] = 'ice'; } $this->related_portals = $related_portals; $description = array($this->__('book') . ' :: ' . $this->document->get('name'), $this->getActivitiesList()); $this->getResponse()->addMeta('description', implode(' - ', $description)); } }