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 }
Base class for ILIAS Exception handling.
__construct(ilLuceneQueryParser $query_parser, ilMailSearchResult $result)
static factory($a_package, $a_timeout=0)
Creates an ilRpcClient instance to our ilServer.
$parser
Definition: BPMN2Parser.php:24
global $ilSetting
Definition: privfeed.php:17
global $ilBench
Definition: ilias.php:18
static getLogger($a_component_id)
Get component logger.