ILIAS  release_8 Revision v8.24
ilAbstractSearch Class Reference
+ Inheritance diagram for ilAbstractSearch:
+ Collaboration diagram for ilAbstractSearch:

Public Member Functions

 __construct (ilQueryParser $qp_obj)
 
 setFields (array $a_fields)
 
 getFields ()
 
 setFilter (array $a_filter)
 
 setIdFilter (array $a_id_filter)
 
 getIdFilter ()
 
 appendToFilter (string $a_type)
 
 getFilter ()
 
 __createLocateString ()
 
 __prepareFound (object $row)
 
 performSearch ()
 

Protected Attributes

ilDBInterface $db
 
ilQueryParser $query_parser
 
ilSearchResult $search_result
 
array $object_types
 

Private Attributes

array $id_filter = []
 
array $fields = []
 

Detailed Description

Definition at line 20 of file class.ilAbstractSearch.php.

Constructor & Destructor Documentation

◆ __construct()

ilAbstractSearch::__construct ( ilQueryParser  $qp_obj)

Reimplemented in ilObjectSearch.

Definition at line 45 of file class.ilAbstractSearch.php.

46 {
47 global $DIC;
48
49 $this->db = $DIC->database();
50 $this->query_parser = $qp_obj;
51 $this->search_result = new ilSearchResult();
52 }
global $DIC
Definition: feed.php:28

References $DIC.

Member Function Documentation

◆ __createLocateString()

ilAbstractSearch::__createLocateString ( )

Definition at line 101 of file class.ilAbstractSearch.php.

101 : string
102 {
103 if ($this->query_parser->getCombination() == ilQueryParser::QP_COMBINATION_OR) {
104 return '';
105 }
106 if (count($this->fields) > 1) {
107 $tmp_fields = [];
108 foreach ($this->fields as $field) {
109 $tmp_fields[] = array($field,'text');
110 }
111 $complete_str = $this->db->concat($tmp_fields);
112 } else {
113 $complete_str = $this->fields[0];
114 }
115
116 $counter = 0;
117 $locate = '';
118 foreach ($this->query_parser->getQuotedWords() as $word) {
119 $word = str_replace('\%', '%', $word);
120 $word = str_replace('\_', '_', $word);
121
122 $locate .= ',';
123 $locate .= $this->db->locate($this->db->quote($word, 'text'), $complete_str);
124 $locate .= (' found' . $counter++);
125 $locate .= ' ';
126 }
127
128 return $locate;
129 }
$errors fields
Definition: imgupload.php:67

References fields, and ilQueryParser\QP_COMBINATION_OR.

Referenced by ilMetaDataSearch\__searchContribute(), ilMetaDataSearch\__searchDescriptions(), ilAdvancedSearch\__searchEntity(), ilAdvancedSearch\__searchGeneral(), ilAdvancedSearch\__searchKeyword(), ilMetaDataSearch\__searchKeywords(), ilAdvancedSearch\__searchLifecycle(), ilTestSearch\__searchSurveyIntroduction(), ilTestSearch\__searchSurveyTitle(), ilAdvancedSearch\__searchTaxon(), ilTestSearch\__searchTestIntroduction(), ilTestSearch\__searchTestTitle(), ilMetaDataSearch\__searchTitles(), ilMediaPoolSearch\performKeywordSearch(), ilAdvancedMDSearch\performSearch(), ilObjectSearch\performSearch(), ilUserDefinedFieldSearch\performSearch(), ilUserSearch\performSearch(), ilExerciseSearch\performSearch(), ilForumSearch\performSearch(), ilGlossaryDefinitionSearch\performSearch(), ilLikeUserMultiFieldSearch\performSearch(), ilLikeUserOrgUnitSearch\performSearch(), ilLMContentSearch\performSearch(), ilMediaCastSearch\performSearch(), ilMediaPoolSearch\performSearch(), ilWebresourceSearch\performSearch(), ilWikiContentSearch\performSearch(), and ilAdvancedSearch\searchObjectProperties().

+ Here is the caller graph for this function:

◆ __prepareFound()

ilAbstractSearch::__prepareFound ( object  $row)

Definition at line 131 of file class.ilAbstractSearch.php.

131 : array
132 {
133 if ($this->query_parser->getCombination() == 'or') {
134 return array();
135 }
136 $counter = 0;
137 $found = [];
138 foreach ($this->query_parser->getQuotedWords() as $word) {
139 $res_found = "found" . $counter++;
140 $found[] = (int) $row->$res_found;
141 }
142 return $found;
143 }

References ILIAS\Repository\int().

Referenced by ilAdvancedSearch\__searchEntity(), ilAdvancedSearch\__searchGeneral(), ilAdvancedSearch\__searchKeyword(), ilAdvancedSearch\__searchLifecycle(), and ilAdvancedSearch\__searchTaxon().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ appendToFilter()

ilAbstractSearch::appendToFilter ( string  $a_type)

Definition at line 85 of file class.ilAbstractSearch.php.

85 : void
86 {
87 if (!in_array($a_type, $this->object_types)) {
88 $this->object_types[] = $a_type;
89 }
90 }

◆ getFields()

ilAbstractSearch::getFields ( )
Returns
string[] array of search fields. E.g. array(title,description)

Definition at line 62 of file class.ilAbstractSearch.php.

62 : array
63 {
64 return $this->fields;
65 }

References $fields.

Referenced by ilLikeTestSearch\__createWhereCondition(), ilLikeUserDefinedFieldSearch\__createWhereCondition(), ilLikeUserMultiFieldSearch\__createWhereCondition(), and ilLikeUserSearch\__createWhereCondition().

+ Here is the caller graph for this function:

◆ getFilter()

◆ getIdFilter()

ilAbstractSearch::getIdFilter ( )
Returns
int[]

Definition at line 80 of file class.ilAbstractSearch.php.

80 : array
81 {
82 return $this->id_filter;
83 }

References $id_filter.

Referenced by ilObjectSearch\__createInStatement(), ilLMContentSearch\__createInStatement(), and ilWikiContentSearch\__createInStatement().

+ Here is the caller graph for this function:

◆ performSearch()

◆ setFields()

◆ setFilter()

ilAbstractSearch::setFilter ( array  $a_filter)

Definition at line 67 of file class.ilAbstractSearch.php.

67 : void
68 {
69 $this->object_types = $a_filter;
70 }

◆ setIdFilter()

ilAbstractSearch::setIdFilter ( array  $a_id_filter)

Definition at line 72 of file class.ilAbstractSearch.php.

72 : void
73 {
74 $this->id_filter = $a_id_filter;
75 }

Field Documentation

◆ $db

ilDBInterface ilAbstractSearch::$db
protected

Definition at line 22 of file class.ilAbstractSearch.php.

◆ $fields

◆ $id_filter

array ilAbstractSearch::$id_filter = []
private

Definition at line 36 of file class.ilAbstractSearch.php.

Referenced by getIdFilter().

◆ $object_types

array ilAbstractSearch::$object_types
protected
Initial value:
= array('cat','dbk','crs','fold','frm','grp','lm','sahs','glo','mep','htlm','exc','file','qpl','tst','svy','spl',
'chat','webr','mcst','sess','pg','st','wiki','book', 'copa', 'lso',
'rcat', 'rcrs', 'rfil', 'rglo', 'rgrp', 'rlm', 'rtst', 'rwik')

Definition at line 29 of file class.ilAbstractSearch.php.

Referenced by getFilter().

◆ $query_parser

ilQueryParser ilAbstractSearch::$query_parser
protected

Definition at line 23 of file class.ilAbstractSearch.php.

Referenced by ilAdvancedMDSearch\__construct().

◆ $search_result

ilSearchResult ilAbstractSearch::$search_result
protected

Definition at line 24 of file class.ilAbstractSearch.php.

Referenced by ilAdvancedSearch\__searchClassification(), ilAdvancedSearch\__searchContribute(), ilMetaDataSearch\__searchContribute(), ilMetaDataSearch\__searchDescriptions(), ilAdvancedSearch\__searchEducational(), ilAdvancedSearch\__searchEntity(), ilAdvancedSearch\__searchFormat(), ilAdvancedSearch\__searchGeneral(), ilAdvancedSearch\__searchKeyword(), ilMetaDataSearch\__searchKeywords(), ilAdvancedSearch\__searchLanguage(), ilAdvancedSearch\__searchLifecycle(), ilAdvancedSearch\__searchRequirement(), ilAdvancedSearch\__searchRights(), ilTestSearch\__searchSurveyIntroduction(), ilTestSearch\__searchSurveyTitle(), ilAdvancedSearch\__searchTaxon(), ilTestSearch\__searchTestIntroduction(), ilTestSearch\__searchTestTitle(), ilAdvancedSearch\__searchTitleDescription(), ilMetaDataSearch\__searchTitles(), ilAdvancedSearch\__searchTypicalAgeRange(), ilMediaPoolSearch\performKeywordSearch(), ilAdvancedMDSearch\performSearch(), ilObjectSearch\performSearch(), ilTestSearch\performSearch(), ilUserDefinedFieldSearch\performSearch(), ilUserSearch\performSearch(), ilExerciseSearch\performSearch(), ilForumSearch\performSearch(), ilGlossaryDefinitionSearch\performSearch(), ilLikeUserMultiFieldSearch\performSearch(), ilLikeUserOrgUnitSearch\performSearch(), ilLMContentSearch\performSearch(), ilMediaCastSearch\performSearch(), ilMediaPoolSearch\performSearch(), ilWebresourceSearch\performSearch(), ilWikiContentSearch\performSearch(), and ilAdvancedSearch\searchObjectProperties().


The documentation for this class was generated from the following file: