/** * @param ApplicationFacet[] * @return FacetBase[] */ public function buildFacetList($rawFacetList) { $facets = array(); if ( is_array($rawFacetList) ) { $applicationIdentifier = $this->applicationObject()->attribute('identifier'); FacetFieldTagLanguage::$applicationIdentifier = $applicationIdentifier; FacetFieldTag::$applicationIdentifier = $applicationIdentifier; FacetPublishedSince::$applicationIdentifier = $applicationIdentifier; foreach ($rawFacetList as $rawFacet) { $usableFacet = FacetFactory::factory($rawFacet); if ( $usableFacet instanceof FacetBase ) { $facets[] = $usableFacet; if ( $usableFacet instanceof FacetFieldTagLanguage ) $usableFacet->defaultValues = ApplicationLocalized::getTagFromLanguage( $this->applicationLocalized()->getPublisherLanguages() ); } } } return $facets; }