示例#1
0
 private function restoreActiveStates(Facet $facet, array $activeStates)
 {
     foreach ($facet->getFilters() as $key => $filter) {
         $filter->setActive($activeStates[$key]);
     }
     return $facet;
 }
示例#2
0
 private function isFilterActive(Facet $facet, $filterLabel)
 {
     foreach ($facet->getFilters() as $facetFilter) {
         if ($facetFilter->getLabel() === $filterLabel) {
             return $facetFilter->isActive();
         }
     }
     return false;
 }
示例#3
0
 private function copyFacetFilters(Facet $target, Facet $source)
 {
     // FIXME: dirty hack, but don't want to touch the Core Facet class at the moment
     // -- what it needs is a setFilters() method.
     $refl = new ReflectionClass($target);
     $filters = $refl->getProperty("filters");
     $filters->setAccessible(true);
     $filters->setValue($target, $source->getFilters());
 }
 private function getFilterByLabel(Facet $facet, $label)
 {
     foreach ($facet->getFilters() as $filter) {
         if ($filter->getLabel() === $label) {
             return $filter;
         }
     }
     throw new Exception(sprintf('Could not find a filter labelled `%1$s` in the `%2$s` facet containing `%3$s` filters (%4$s).', $label, $facet->getLabel(), count($facet->getFilters()), implode(", ", array_map(function (Filter $f) {
         return $f->getLabel();
     }, $facet->getFilters()))));
 }