function build(Search_Query $query, Search_FacetProvider $provider) { foreach ($this->facets as $facet) { if ($real = $provider->getFacet($facet['name'])) { $real->setOperator($facet['operator']); $query->requestFacet($real); } } }
function getFacetProvider() { global $prefs; $types = $this->getSupportedTypes(); $facets = array(Search_Query_Facet_Term::fromField('object_type')->setLabel(tr('Object Type'))->setRenderMap($types)); if ($prefs['feature_multilingual'] == 'y') { $facets[] = Search_Query_Facet_Term::fromField('language')->setLabel(tr('Language'))->setRenderMap(TikiLib::lib('tiki')->get_language_map()); } $provider = new Search_FacetProvider(); $provider->addFacets($facets); $this->addSources($provider); return $provider; }
public function getFacets() { $trackers = $this->db->table('tiki_trackers')->fetchColumn('trackerId', array()); $handlers = array(); foreach ($trackers as $trackerId) { $definition = Tracker_Definition::get($trackerId); $handlers = array_merge($handlers, self::getHandlersMatching('Search_FacetProvider_Interface', $definition, array())); } $source = new Search_FacetProvider(); $source->addFacets([Search_Query_Facet_Term::fromField('tracker_id')->setLabel(tr('Tracker'))->setRenderCallback(function ($id) { $lib = TikiLib::lib('object'); return $lib->get_title('tracker', $id); })]); foreach ($handlers as $handler) { $source->addProvider($handler); } return $source->getFacets(); }
public function getFacets() { $trackers = $this->db->table('tiki_trackers')->fetchColumn('trackerId', array()); $handlers = array(); foreach ($trackers as $trackerId) { $definition = Tracker_Definition::get($trackerId); $handlers = array_merge($handlers, self::getHandlersMatching('Search_FacetProvider_Interface', $definition, array())); } $source = new Search_FacetProvider(); foreach ($handlers as $handler) { $source->addProvider($handler); } return $source->getFacets(); }