ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilMailLuceneSearcher.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3
10{
14 protected $query_parser;
15
19 protected $result;
20
25 {
26 $this->query_parser = $query_parser;
27 $this->result = $result;
28 }
29
35 public function search($user_id, $mail_folder_id)
36 {
41 global $ilBench, $ilSetting;
42
43 if(!$this->query_parser->getQuery())
44 {
45 throw new ilException('mail_search_query_missing');
46 }
47
48 $ilBench->start('Mail', 'LuceneSearch');
49 try
50 {
51 include_once 'Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
52 $xml = ilRpcClientFactory::factory('RPCSearchHandler')->searchMail(
53 CLIENT_ID . '_' . $ilSetting->get('inst_id', 0),
54 (int)$user_id,
55 (string)$this->query_parser->getQuery(),
56 (int)$mail_folder_id
57 );
58 }
59 catch(Exception $e)
60 {
61
62 $ilBench->stop('Mail', 'LuceneSearch');
63 require_once './Services/Logging/classes/public/class.ilLoggerFactory.php';
64 ilLoggerFactory::getLogger('mail')->critical($e->getMessage());
65 throw $e;
66 }
67 $ilBench->stop('Mail', 'LuceneSearch');
68
69 include_once 'Services/Mail/classes/class.ilMailSearchLuceneResultParser.php';
70 $parser = new ilMailSearchLuceneResultParser($this->result, $xml);
71 $parser->parse();
72 }
73}
$parser
Definition: BPMN2Parser.php:24
An exception for terminatinating execution or to throw for unit testing.
Base class for ILIAS Exception handling.
static getLogger($a_component_id)
Get component logger.
__construct(ilLuceneQueryParser $query_parser, ilMailSearchResult $result)
static factory($a_package, $a_timeout=0)
Creates an ilRpcClient instance to our ilServer.
global $ilBench
Definition: ilias.php:18
global $ilSetting
Definition: privfeed.php:17