/** * @param int $user_id * @param int $mail_folder_id * @throws Exception */ public function search($user_id, $mail_folder_id) { /** * @var $ilSetting ilSetting * @var $ilLog ilLog * @var $ilBench ilBenchmark */ global $ilBench, $ilSetting, $ilLog; if (!$this->query_parser->getQuery()) { throw new ilException('mail_search_query_missing'); } $ilBench->start('Mail', 'LuceneSearch'); try { include_once 'Services/WebServices/RPC/classes/class.ilRpcClientFactory.php'; $xml = ilRpcClientFactory::factory('RPCSearchHandler')->searchMail(CLIENT_ID . '_' . $ilSetting->get('inst_id', 0), (int) $user_id, (string) $this->query_parser->getQuery(), (int) $mail_folder_id); } catch (XML_RPC2_FaultException $e) { $ilBench->stop('Mail', 'LuceneSearch'); $ilLog->write(__METHOD__ . ': ' . $e->getMessage()); throw $e; } catch (Exception $e) { $ilBench->stop('Mail', 'LuceneSearch'); $ilLog->write(__METHOD__ . ': ' . $e->getMessage()); throw $e; } $ilBench->stop('Mail', 'LuceneSearch'); include_once 'Services/Mail/classes/class.ilMailSearchLuceneResultParser.php'; $parser = new ilMailSearchLuceneResultParser($this->result, $xml); $parser->parse(); }
/** * Search from main menu */ protected function remoteSearch() { $query = trim(ilUtil::stripSlashes($_POST['queryString'])); include_once './Services/Search/classes/Lucene/class.ilLuceneQueryParser.php'; $qp = new ilLuceneQueryParser($query); $qp->parseAutoWildcard(); $query = $qp->getQuery(); $this->search_cache->setRoot((int) $_POST['root_id']); $this->search_cache->setQuery(ilUtil::stripSlashes($query)); $this->search_cache->save(); $this->search(); }