ILIAS  trunk Revision v11.0_alpha-1861-g09f3d197f78
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator 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 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.

References ilAbstractSearch\getFilter().

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

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  }
+ 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.

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

Referenced by performSearch().

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  );
98  }
99 
100  return $this->search_result;
101  }
$res
Definition: ltiservices.php:66
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...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __searchDescriptions()

ilMetaDataSearch::__searchDescriptions ( )

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

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

Referenced by performSearch().

153  {
154  $this->setFields(array('description'));
155 
156  $in = $this->__createInStatement();
157  $where = $this->__createDescriptionWhereCondition();
158  $locate = $this->__createLocateString();
159 
160  $query = "SELECT rbac_id,obj_id,obj_type " .
161  $locate .
162  "FROM il_meta_description " .
163  $where . " " . $in . ' ';
164 
165  $res = $this->db->query($query);
166  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
167  $this->search_result->addEntry(
168  (int) $row->rbac_id,
169  (string) $row->obj_type,
170  $this->__prepareFound($row),
171  (int) $row->obj_id
172  );
173  }
174  return $this->search_result;
175  }
$res
Definition: ltiservices.php:66
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...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __searchKeywords()

ilMetaDataSearch::__searchKeywords ( )

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

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

Referenced by performSearch().

105  {
106  $this->setFields(array('keyword'));
107 
108  $in = $this->__createInStatement();
109  $where = $this->__createKeywordWhereCondition();
110  $locate = $this->__createLocateString();
111 
112  $query = "SELECT rbac_id,obj_id,obj_type " .
113  $locate .
114  "FROM il_meta_keyword " .
115  $where . " " . $in . ' ';
116 
117  $res = $this->db->query($query);
118  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
119  $this->search_result->addEntry(
120  (int) $row->rbac_id,
121  (string) $row->obj_type,
122  $this->__prepareFound($row),
123  (int) $row->obj_id
124  );
125  }
126  return $this->search_result;
127  }
$res
Definition: ltiservices.php:66
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...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __searchTitles()

ilMetaDataSearch::__searchTitles ( )

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

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

Referenced by performSearch().

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

References $mode.

Referenced by performSearch().

39  : string
40  {
41  return $this->mode;
42  }
+ Here is the caller graph for this function:

◆ performSearch()

ilMetaDataSearch::performSearch ( )

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

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

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  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ 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: