ILIAS  trunk Revision v12.0_alpha-377-g3641b37b9db
ilMetaDataSearch Class Reference
+ Inheritance diagram for ilMetaDataSearch:
+ Collaboration diagram for ilMetaDataSearch:

Public Member Functions

 setMode (string $a_mode)
 
 getMode ()
 
 performSearch ()
 
 __createInStatement ()
 
 __searchContribute ()
 
 __searchKeywords ()
 
 __searchTitles ()
 
 __searchDescriptions ()
 
- Public Member Functions inherited from ilAbstractSearch
 __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 ()
 

Private Attributes

string $mode = ''
 

Additional Inherited Members

- Protected Member Functions inherited from ilAbstractSearch
 getValidObjectTypes (ilObjectDefinition $object_definition)
 
- Protected Attributes inherited from ilAbstractSearch
ilDBInterface $db
 
ilQueryParser $query_parser
 
ilSearchResult $search_result
 
array $object_types = []
 

Detailed Description

Definition at line 30 of file class.ilMetaDataSearch.php.

Member Function Documentation

◆ __createInStatement()

ilMetaDataSearch::__createInStatement ( )

Definition at line 66 of file class.ilMetaDataSearch.php.

66 : string
67 {
68 if (!$this->getFilter()) {
69 return '';
70 } else {
71 $type = "('";
72 $type .= implode("','", $this->getFilter());
73 $type .= "')";
74 return " AND obj_type IN " . $type;
75 }
76 }

References ilAbstractSearch\getFilter().

Referenced by __searchContribute(), __searchDescriptions(), __searchKeywords(), and __searchTitles().

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

◆ __searchContribute()

ilMetaDataSearch::__searchContribute ( )

Definition at line 77 of file class.ilMetaDataSearch.php.

78 {
79 $this->setFields(array('entity'));
80
81 $in = $this->__createInStatement();
82 $where = $this->__createContributeWhereCondition();
83 $locate = $this->__createLocateString();
84
85 $query = "SELECT rbac_id,obj_id,obj_type " .
86 $locate .
87 "FROM il_meta_entity " .
88 $where . " " . $in . ' ';
89
90 $res = $this->db->query($query);
91 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
92 $this->search_result->addEntry(
93 (int) $row->rbac_id,
94 (string) $row->obj_type,
95 $this->__prepareFound($row),
96 (int) $row->obj_id,
97 (string) $row->obj_type
98 );
99 }
100
102 }
setFields(array $a_fields)
ilSearchResult $search_result
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$res
Definition: ltiservices.php:69

References $res, ilAbstractSearch\$search_result, __createInStatement(), ilAbstractSearch\__createLocateString(), ilDBConstants\FETCHMODE_OBJECT, and ilAbstractSearch\setFields().

Referenced by performSearch().

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

◆ __searchDescriptions()

ilMetaDataSearch::__searchDescriptions ( )

Definition at line 155 of file class.ilMetaDataSearch.php.

156 {
157 $this->setFields(array('description'));
158
159 $in = $this->__createInStatement();
160 $where = $this->__createDescriptionWhereCondition();
161 $locate = $this->__createLocateString();
162
163 $query = "SELECT rbac_id,obj_id,obj_type " .
164 $locate .
165 "FROM il_meta_description " .
166 $where . " " . $in . ' ';
167
168 $res = $this->db->query($query);
169 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
170 $this->search_result->addEntry(
171 (int) $row->rbac_id,
172 (string) $row->obj_type,
173 $this->__prepareFound($row),
174 (int) $row->obj_id,
175 (string) $row->obj_type
176 );
177 }
179 }

References $res, ilAbstractSearch\$search_result, __createInStatement(), ilAbstractSearch\__createLocateString(), ilDBConstants\FETCHMODE_OBJECT, and ilAbstractSearch\setFields().

Referenced by performSearch().

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

◆ __searchKeywords()

ilMetaDataSearch::__searchKeywords ( )

Definition at line 105 of file class.ilMetaDataSearch.php.

106 {
107 $this->setFields(array('keyword'));
108
109 $in = $this->__createInStatement();
110 $where = $this->__createKeywordWhereCondition();
111 $locate = $this->__createLocateString();
112
113 $query = "SELECT rbac_id,obj_id,obj_type " .
114 $locate .
115 "FROM il_meta_keyword " .
116 $where . " " . $in . ' ';
117
118 $res = $this->db->query($query);
119 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
120 $this->search_result->addEntry(
121 (int) $row->rbac_id,
122 (string) $row->obj_type,
123 $this->__prepareFound($row),
124 (int) $row->obj_id,
125 (string) $row->obj_type
126 );
127 }
129 }

References $res, ilAbstractSearch\$search_result, __createInStatement(), ilAbstractSearch\__createLocateString(), ilDBConstants\FETCHMODE_OBJECT, and ilAbstractSearch\setFields().

Referenced by performSearch().

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

◆ __searchTitles()

ilMetaDataSearch::__searchTitles ( )

Definition at line 130 of file class.ilMetaDataSearch.php.

131 {
132 $this->setFields(array('title'));
133
134 $in = $this->__createInStatement();
135 $where = $this->__createTitleWhereCondition();
136 $locate = $this->__createLocateString();
137
138 $query = "SELECT rbac_id,obj_id,obj_type " .
139 $locate .
140 "FROM il_meta_general " .
141 $where . " " . $in . ' ';
142
143 $res = $this->db->query($query);
144 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
145 $this->search_result->addEntry(
146 (int) $row->rbac_id,
147 (string) $row->obj_type,
148 $this->__prepareFound($row),
149 (int) $row->obj_id,
150 (string) $row->obj_type
151 );
152 }
154 }

References $res, ilAbstractSearch\$search_result, __createInStatement(), ilAbstractSearch\__createLocateString(), ilDBConstants\FETCHMODE_OBJECT, and ilAbstractSearch\setFields().

Referenced by performSearch().

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

◆ getMode()

ilMetaDataSearch::getMode ( )

Definition at line 39 of file class.ilMetaDataSearch.php.

39 : string
40 {
41 return $this->mode;
42 }

References $mode.

Referenced by performSearch().

+ Here is the caller graph for this function:

◆ performSearch()

ilMetaDataSearch::performSearch ( )

Reimplemented from ilAbstractSearch.

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

46 {
47 switch ($this->getMode()) {
48 case 'keyword':
49 return $this->__searchKeywords();
50
51 case 'contribute':
52 return $this->__searchContribute();
53
54 case 'title':
55 return $this->__searchTitles();
56
57 case 'description':
58 return $this->__searchDescriptions();
59 }
60 throw new InvalidArgumentException('ilMDSearch: no mode given');
61 }

References __searchContribute(), __searchDescriptions(), __searchKeywords(), __searchTitles(), and getMode().

+ Here is the call graph for this function:

◆ setMode()

ilMetaDataSearch::setMode ( string  $a_mode)

Definition at line 35 of file class.ilMetaDataSearch.php.

35 : void
36 {
37 $this->mode = $a_mode;
38 }

Field Documentation

◆ $mode

string ilMetaDataSearch::$mode = ''
private

Definition at line 32 of file class.ilMetaDataSearch.php.

Referenced by getMode().


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