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(); }