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