Esempio n. 1
0
 public function Fire()
 {
     if ($this->input->do == 'search') {
         $search = new SearchEngine();
         $results = $search->SearchByQueryString($this->input->query_string);
         $hits = array();
         $id_list = array();
         foreach ($results as $result) {
             $hits[$result->bug_id] = $result;
             $id_list[] = $result->bug_id;
         }
         if (count($id_list) < 1) {
             return;
         }
         $bugs = Bugdar::$db->Query("\n        SELECT bugs.*, users.alias as reporting_alias\n        FROM " . TABLE_PREFIX . "bugs bugs\n        LEFT JOIN " . TABLE_PREFIX . "users users\n          ON (bugs.reporting_user_id = users.user_id)\n        WHERE bugs.bug_id IN (" . implode(',', $id_list) . ")\n        LIMIT 30\n      ");
         while ($bug = $bugs->FetchObject()) {
             $lucene_hit = $hits[$bug->bug_id];
             $hits[$bug->bug_id] = $bug;
             $hits[$bug->bug_id]->lucene_hit = $lucene_hit;
             $hits[$bug->bug_id]->score = $lucene_hit->score;
         }
         $this->hits = $hits;
     }
 }