ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
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 Attributes inherited from ilAbstractSearch
ilDBInterface $db
 
ilQueryParser $query_parser
 
ilSearchResult $search_result
 
array $object_types
 

Detailed Description

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

Member Function Documentation

◆ __createInStatement()

ilMetaDataSearch::__createInStatement ( )

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

References $type, and ilAbstractSearch\getFilter().

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

73  : string
74  {
75  if (!$this->getFilter()) {
76  return '';
77  } else {
78  $type = "('";
79  $type .= implode("','", $this->getFilter());
80  $type .= "')";
81  return " AND obj_type IN " . $type;
82  }
83  }
$type
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __searchContribute()

ilMetaDataSearch::__searchContribute ( )

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

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

Referenced by performSearch().

85  {
86  $this->setFields(array('entity'));
87 
88  $in = $this->__createInStatement();
89  $where = $this->__createContributeWhereCondition();
90  $locate = $this->__createLocateString();
91 
92  $query = "SELECT rbac_id,obj_id,obj_type " .
93  $locate .
94  "FROM il_meta_entity " .
95  $where . " " . $in . ' ';
96 
97  $res = $this->db->query($query);
98  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
99  $this->search_result->addEntry(
100  (int) $row->rbac_id,
101  (string) $row->obj_type,
102  $this->__prepareFound($row),
103  (int) $row->obj_id
104  );
105  }
106 
107  return $this->search_result;
108  }
$res
Definition: ltiservices.php:69
setFields(array $a_fields)
$query
ilSearchResult $search_result
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __searchDescriptions()

ilMetaDataSearch::__searchDescriptions ( )

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

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

Referenced by performSearch().

160  {
161  $this->setFields(array('description'));
162 
163  $in = $this->__createInStatement();
164  $where = $this->__createDescriptionWhereCondition();
165  $locate = $this->__createLocateString();
166 
167  $query = "SELECT rbac_id,obj_id,obj_type " .
168  $locate .
169  "FROM il_meta_description " .
170  $where . " " . $in . ' ';
171 
172  $res = $this->db->query($query);
173  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
174  $this->search_result->addEntry(
175  (int) $row->rbac_id,
176  (string) $row->obj_type,
177  $this->__prepareFound($row),
178  (int) $row->obj_id
179  );
180  }
181  return $this->search_result;
182  }
$res
Definition: ltiservices.php:69
setFields(array $a_fields)
$query
ilSearchResult $search_result
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __searchKeywords()

ilMetaDataSearch::__searchKeywords ( )

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

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

Referenced by performSearch().

112  {
113  $this->setFields(array('keyword'));
114 
115  $in = $this->__createInStatement();
116  $where = $this->__createKeywordWhereCondition();
117  $locate = $this->__createLocateString();
118 
119  $query = "SELECT rbac_id,obj_id,obj_type " .
120  $locate .
121  "FROM il_meta_keyword " .
122  $where . " " . $in . ' ';
123 
124  $res = $this->db->query($query);
125  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
126  $this->search_result->addEntry(
127  (int) $row->rbac_id,
128  (string) $row->obj_type,
129  $this->__prepareFound($row),
130  (int) $row->obj_id
131  );
132  }
133  return $this->search_result;
134  }
$res
Definition: ltiservices.php:69
setFields(array $a_fields)
$query
ilSearchResult $search_result
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __searchTitles()

ilMetaDataSearch::__searchTitles ( )

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

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

Referenced by performSearch().

136  {
137  $this->setFields(array('title'));
138 
139  $in = $this->__createInStatement();
140  $where = $this->__createTitleWhereCondition();
141  $locate = $this->__createLocateString();
142 
143  $query = "SELECT rbac_id,obj_id,obj_type " .
144  $locate .
145  "FROM il_meta_general " .
146  $where . " " . $in . ' ';
147 
148  $res = $this->db->query($query);
149  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
150  $this->search_result->addEntry(
151  (int) $row->rbac_id,
152  (string) $row->obj_type,
153  $this->__prepareFound($row),
154  (int) $row->obj_id
155  );
156  }
157  return $this->search_result;
158  }
$res
Definition: ltiservices.php:69
setFields(array $a_fields)
$query
ilSearchResult $search_result
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getMode()

ilMetaDataSearch::getMode ( )

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

References $mode.

Referenced by performSearch().

46  : string
47  {
48  return $this->mode;
49  }
+ Here is the caller graph for this function:

◆ performSearch()

ilMetaDataSearch::performSearch ( )

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

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

53  {
54  switch ($this->getMode()) {
55  case 'keyword':
56  return $this->__searchKeywords();
57 
58  case 'contribute':
59  return $this->__searchContribute();
60 
61  case 'title':
62  return $this->__searchTitles();
63 
64  case 'description':
65  return $this->__searchDescriptions();
66  }
67  throw new InvalidArgumentException('ilMDSearch: no mode given');
68  }
+ Here is the call graph for this function:

◆ setMode()

ilMetaDataSearch::setMode ( string  $a_mode)

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

42  : void
43  {
44  $this->mode = $a_mode;
45  }

Field Documentation

◆ $mode

string ilMetaDataSearch::$mode = ''
private

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

Referenced by getMode().


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