18 declare(strict_types=1);
    29     protected array 
$object_types = array(
'cat',
'dbk',
'crs',
'fold',
'frm',
'grp',
'lm',
'sahs',
'glo',
'mep',
'htlm',
'exc',
'file',
'qpl',
'tst',
'svy',
'spl',
    30                                           'chat',
'webr',
'mcst',
'sess',
'pg',
'st',
'wiki',
'book', 
'copa', 
'lso',
    31                                           'rcat', 
'rcrs', 
'rfil', 
'rglo', 
'rgrp', 
'rlm', 
'rtst', 
'rwik');
    49         $this->db = $DIC->database();
    50         $this->query_parser = $qp_obj;
    56         $this->fields = $a_fields;
    69         $this->object_types = $a_filter;
    74         $this->id_filter = $a_id_filter;
    87         if (!in_array($a_type, $this->object_types)) {
    88             $this->object_types[] = $a_type;
   106         if (count($this->fields) > 1) {
   108             foreach ($this->fields as $field) {
   109                 $tmp_fields[] = array($field,
'text');
   111             $complete_str = $this->db->concat($tmp_fields);
   113             $complete_str = $this->fields[0];
   118         foreach ($this->query_parser->getQuotedWords() as $word) {
   119             $word = str_replace(
'\%', 
'%', $word);
   120             $word = str_replace(
'\_', 
'_', $word);
   123             $locate .= $this->db->locate($this->db->quote($word, 
'text'), $complete_str);
   124             $locate .= (
' found' . $counter++);
   133         if ($this->query_parser->getCombination() == 
'or') {
   138         foreach ($this->query_parser->getQuotedWords() as $word) {
   139             $res_found = 
"found" . $counter++;
   140             $found[] = (
int) $row->$res_found;
 
ilQueryParser $query_parser
 
__prepareFound(object $row)
 
setFields(array $a_fields)
 
__construct(ilQueryParser $qp_obj)
 
appendToFilter(string $a_type)
 
setFilter(array $a_filter)
 
ilSearchResult $search_result
 
setIdFilter(array $a_id_filter)