19declare(strict_types=1);
60 $this->
ilias = $DIC[
'ilias'];
61 $this->setting =
$DIC->settings();
80 'crs' => array(
'filter' =>
'type:crs',
'trans' =>
'objs_crs'),
81 'grp' => array(
'filter' =>
'type:grp',
'trans' =>
'objs_grp'),
82 'lms' => array(
'filter' =>
'type:lm OR type:htlm',
'trans' =>
'obj_lrss'),
83 'glo' => array(
'filter' =>
'type:glo',
'trans' =>
'objs_glo'),
84 'mep' => array(
'filter' =>
'type:mep',
'trans' =>
'objs_mep'),
85 'tst' => array(
'filter' =>
'type:tst OR type:svy OR type:qpl OR type:spl',
'trans' =>
'search_tst_svy'),
86 'frm' => array(
'filter' =>
'type:frm',
'trans' =>
'objs_frm'),
87 'exc' => array(
'filter' =>
'type:exc',
'trans' =>
'objs_exc'),
88 'file' => array(
'filter' =>
'type:file',
'trans' =>
'objs_file'),
89 'mcst' => array(
'filter' =>
'type:mcst',
'trans' =>
'objs_mcst'),
90 'wiki' => array(
'filter' =>
'type:wiki',
'trans' =>
'objs_wiki'),
91 'copa' => array(
'filter' =>
'type:copa',
'trans' =>
'objs_copa'),
98 'pdf' => array(
'filter' =>
'mimeType:pdf',
'trans' =>
'search_mime_pdf'),
99 'word' => array(
'filter' =>
'mimeType:word',
'trans' =>
'search_mime_word'),
100 'excel' => array(
'filter' =>
'mimeType:excel',
'trans' =>
'search_mime_excel'),
101 'powerpoint' => array(
'filter' =>
'mimeType:powerpoint',
'trans' =>
'search_mime_powerpoint'),
102 'image' => array(
'filter' =>
'mimeType:image',
'trans' =>
'search_mime_image')
118 foreach (self::getLuceneItemFilterDefinitions() as $obj => $def) {
119 if (isset($filter[$obj]) and $filter[$obj]) {
120 $enabled[$obj] = $def;
134 foreach (self::getLuceneMimeFilterDefinitions() as $mime => $def) {
135 if (isset($filter[$mime]) and $filter[$mime]) {
136 $enabled[$mime] = $def;
144 $this->prefix_wildcard = $a_stat;
161 static $seas_ref_id = 0;
166 $query =
"SELECT object_reference.ref_id as ref_id FROM object_reference,tree,object_data " .
168 "AND object_data.type = 'seas' " .
169 "AND object_reference.ref_id = tree.child " .
170 "AND object_reference.obj_id = object_data.obj_id";
175 return $seas_ref_id = (
int) $row->ref_id;
184 $this->lucene = $a_status;
193 $this->max_hits = $a_max_hits;
203 $this->default_operator = $a_op;
208 $this->fragmentSize = $a_size;
218 $this->fragmentCount = $a_count;
237 return $this->last_index_date instanceof
ilDateTime ?
238 $this->last_index_date :
244 $this->lucene_item_filter_enabled = $a_status;
260 $this->lucene_item_filter = $a_filter;
265 $this->lucene_offline_filter = $a_stat;
275 $this->lucene_mime_filter = $a_filter;
293 $this->lucene_mime_filter_enabled = $a_stat;
299 $this->last_index_date = $time;
312 $this->user_search = $a_status;
320 $this->show_inactiv_user = $a_visible;
333 $this->show_limited_user = $a_visible;
349 $this->date_filter = $a_filter;
354 $this->setting->set(
'search_max_hits', (
string) $this->
getMaxHits());
355 $this->setting->set(
'search_lucene', (
string) $this->
enabledLucene());
358 $this->setting->set(
'lucene_fragment_size', (
string) $this->
getFragmentSize());
359 $this->setting->set(
'lucene_fragment_count', (
string) $this->
getFragmentCount());
376 $this->
setMaxHits((
int) $this->setting->get(
'search_max_hits',
'10'));
377 $this->
enableLucene((
bool) $this->setting->get(
'search_lucene',
'0'));
378 $this->
setDefaultOperator((
int) $this->setting->get(
'lucene_default_operator', (
string) self::OPERATOR_AND));
379 $this->
setFragmentSize((
int) $this->setting->get(
'lucene_fragment_size',
"50"));
380 $this->
setFragmentCount((
int) $this->setting->get(
'lucene_fragment_count',
"3"));
381 if ($time = $this->setting->get(
'lucene_last_index_time',
'0')) {
386 $this->
setAutoCompleteLength((
int) $this->setting->get(
'auto_complete_length', (
string) $this->getAutoCompleteLength()));
387 $this->
enableLuceneItemFilter((
bool) $this->setting->get(
'lucene_item_filter_enabled', (
string) $this->isLuceneItemFilterEnabled()));
388 $filter = (string) $this->setting->get(
'lucene_item_filter', serialize($this->
getLuceneItemFilter()));
390 $this->
enableLuceneOfflineFilter((
bool) $this->setting->get(
'lucene_offline_filter', (
string) $this->isLuceneOfflineFilterEnabled()));
391 $this->
enableLuceneMimeFilter((
bool) $this->setting->get(
'lucene_mime_filter_enabled', (
string) $this->lucene_item_filter_enabled));
392 $filter = (string) $this->setting->get(
'lucene_mime_filter', serialize($this->
getLuceneMimeFilter()));
395 $this->
enableLuceneUserSearch((
bool) $this->setting->get(
'lucene_user_search', (
string) $this->user_search));
396 $this->
showInactiveUser((
bool) $this->setting->get(
'search_show_inactiv_user', (
string) $this->show_inactiv_user));
397 $this->
showLimitedUser((
bool) $this->setting->get(
'search_show_limited_user', (
string) $this->show_limited_user));
398 $this->
enableDateFilter((
bool) $this->setting->get(
'search_date_filter', (
string) $this->date_filter));
@classDescription Date and time handling
setFragmentSize(int $a_size)
static getLuceneItemFilterDefinitions()
Get lucene item filter definitions.
static ilSearchSettings $instance
isLuceneOfflineFilterEnabled()
isLuceneMimeFilterEnabled()
Check if lucene mime filter is enabled.
enablePrefixWildcardQuery(bool $a_stat)
int $auto_complete_length
enableLuceneUserSearch(bool $a_status)
isLuceneItemFilterEnabled()
array $lucene_mime_filter
setAutoCompleteLength(int $auto_complete_length)
setLuceneMimeFilter(array $a_filter)
bool $lucene_mime_filter_enabled
bool $lucene_item_filter_enabled
bool $lucene_offline_filter
enableLucene(bool $a_status)
static _getSearchSettingRefId()
Read the ref_id of Search Settings object.
enableDateFilter(bool $a_filter)
setMaxHits(int $a_max_hits)
array $lucene_item_filter
setLuceneItemFilter(array $a_filter)
setDefaultOperator(int $a_op)
getEnabledLuceneMimeFilterDefinitions()
setLastIndexTime(?ilDateTime $time)
ilDateTime $last_index_date
enableLuceneMimeFilter(bool $a_stat)
getEnabledLuceneItemFilterDefinitions()
Get lucene item filter definitions.
enableLuceneItemFilter(bool $a_status)
setFragmentCount(int $a_count)
isLuceneUserSearchEnabled()
Check if user search is enabled.
showLimitedUser(bool $a_visible)
show user with limited access in user search
isPrefixWildcardQueryEnabled()
enableLuceneOfflineFilter(bool $a_stat)
static getLuceneMimeFilterDefinitions()
showInactiveUser(bool $a_visible)
show inactive user in user search
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.
Class ilObjForumAdministration.