Ejemplo n.º 1
0
 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);
         }
     }
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 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();
 }
Ejemplo n.º 4
0
 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();
 }