3 declare(strict_types=1);
    29     protected \ilDBInterface 
$db;
    34         $this->db = (
$db) ?: $DIC->database();
    42         string $title_filter = 
"",
    43         string $format_filter = 
"",
    44         string $keyword_filter = 
'',
    45         string $caption_filter = 
""    49         $query = 
"SELECT DISTINCT mep_tree.*, object_data.* " .
    50             "FROM mep_tree JOIN mep_item ON (mep_tree.child = mep_item.obj_id) " .
    51             " JOIN object_data ON (mep_item.foreign_id = object_data.obj_id) ";
    53         if ($format_filter != 
"" or $caption_filter != 
'') {
    54             $query .= 
" JOIN media_item ON (media_item.mob_id = object_data.obj_id) ";
    58             " WHERE mep_tree.mep_id = " . $db->
quote($pool_id, 
"integer") .
    59             " AND object_data.type = " . $db->quote(
"mob", 
"text");
    62         if (trim($title_filter) != 
"") {    
    63             $query .= 
" AND " . $db->like(
"object_data.title", 
"text", 
"%" . trim($title_filter) . 
"%");
    65         if (!in_array($format_filter, [
"", 
"mob"])) {            
    66             $filter = ($format_filter === 
"unknown")
    69             $query .= 
" AND " . $db->equals(
"media_item.format", $filter, 
"text", 
true);
    71         if (trim($caption_filter)) {
    72             $query .= 
'AND ' . $db->like(
'media_item.caption', 
'text', 
'%' . trim($caption_filter) . 
'%');
    76             " ORDER BY object_data.title";
    79         $set = $db->query($query);
    80         while ($rec = $db->fetchAssoc($set)) {
    81             $rec[
"foreign_id"] = $rec[
"obj_id"];
    87         if ($keyword_filter) {
    91             foreach ($objs as $obj) {
    92                 if (in_array($obj[
'foreign_id'], 
$res)) {
    96             return (array) $filtered;
   106         string $title_filter = 
"",
   107         string $format_filter = 
"",
   108         string $keyword_filter = 
'',
   109         string $caption_filter = 
""   112         if (!in_array($format_filter, [
"pg", 
""])) {
   117         if ($caption_filter != 
"") {
   123         $query = 
"SELECT DISTINCT mep_tree.*, mep_item.* " .
   124             "FROM mep_tree JOIN mep_item ON (mep_tree.child = mep_item.obj_id) ";
   127             " WHERE mep_tree.mep_id = " . $db->
quote($pool_id, 
"integer") .
   128             " AND mep_item.type = " . $db->quote(
"pg", 
"text");
   131         if (trim($title_filter) != 
"") {    
   132             $query .= 
" AND " . $db->like(
"mep_item.title", 
"text", 
"%" . trim($title_filter) . 
"%");
   136         $set = $db->query($query);
   137         while ($rec = $db->fetchAssoc($set)) {
   144         if ($keyword_filter) {
   145             include_once 
'./Services/MetaData/classes/class.ilMDKeyword.php';
   148             foreach ($objs as $obj) {
   149                 if (in_array($obj[
'obj_id'], 
$res)) {
   153             return (array) $filtered;
   163         string $title_filter = 
"",
   164         string $format_filter = 
"",
   165         string $keyword_filter = 
"",
   166         string $caption_filter = 
""   184         return \ilArrayUtil::sortArray(array_merge($mobs, $snippets), 
"title", 
"asc");
 
quote($value, string $type)
 
static _searchKeywords(string $a_query, string $a_type, int $a_rbac_id=0)