ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilLikeMetaDataSearch.php
Go to the documentation of this file.
1<?php
2/*
3 +-----------------------------------------------------------------------------+
4 | ILIAS open source |
5 +-----------------------------------------------------------------------------+
6 | Copyright (c) 1998-2001 ILIAS open source, University of Cologne |
7 | |
8 | This program is free software; you can redistribute it and/or |
9 | modify it under the terms of the GNU General Public License |
10 | as published by the Free Software Foundation; either version 2 |
11 | of the License, or (at your option) any later version. |
12 | |
13 | This program is distributed in the hope that it will be useful, |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | GNU General Public License for more details. |
17 | |
18 | You should have received a copy of the GNU General Public License |
19 | along with this program; if not, write to the Free Software |
20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21 +-----------------------------------------------------------------------------+
22*/
23
35include_once 'Services/Search/classes/class.ilMetaDataSearch.php';
36
38{
39
44 function ilLikeMetaDataSearch(&$qp_obj)
45 {
46 parent::ilMetaDataSearch($qp_obj);
47 }
48
49 // Private
51 {
52 global $ilDB;
53
54 $concat = ' keyword ';
55 $where = " WHERE (";
56 $counter = 0;
57 foreach($this->query_parser->getQuotedWords() as $word)
58 {
59 if($counter++)
60 {
61 $where .= "OR";
62 }
63 $where .= $ilDB->like($concat,'text','%'.$word.'%');
64 #$where .= $concat;
65 #$where .= (" LIKE ('%".$word."%')");
66 }
67 return $where.') ';
68 }
69
71 {
72 global $ilDB;
73
74 $concat = ' entity ';
75 $where = " WHERE (";
76 $counter = 0;
77 foreach($this->query_parser->getQuotedWords() as $word)
78 {
79 if($counter++)
80 {
81 $where .= "OR";
82 }
83 #$where .= $concat;
84 #$where .= (" LIKE ('%".$word."%')");
85 $where .= $ilDB->like($concat,'text','%'.$word.'%');
86 }
87 return $where.') ';
88 }
90 {
91 global $ilDB;
92
93 /*
94 $concat = ' CONCAT(title,coverage) '; // broken if coverage is null
95 // DONE: fix coverage search
96 $concat = ' title ';
97 */
98
99 $concat = $ilDB->concat(
100 array(
101 array('title','text'),
102 array('coverage','text')));
103
104
105 $where = " WHERE (";
106 $counter = 0;
107 foreach($this->query_parser->getQuotedWords() as $word)
108 {
109 if($counter++)
110 {
111 $where .= "OR";
112 }
113 #$where .= $concat;
114 #$where .= (" LIKE ('%".$word."%')");
115 $where .= $ilDB->like($concat,'text','%'.$word.'%');
116 }
117 return $where.' )';
118 }
119
121 {
122 global $ilDB;
123
124 $concat = ' description ';
125 $where = " WHERE (";
126 $counter = 0;
127 foreach($this->query_parser->getQuotedWords() as $word)
128 {
129 if($counter++)
130 {
131 $where .= "OR";
132 }
133 #$where .= $concat;
134 #$where .= (" LIKE ('%".$word."%')");
135 $where .= $ilDB->like($concat,'text','%'.$word.'%');
136 }
137 return $where.') ';
138 }
139}
140?>
ilLikeMetaDataSearch(&$qp_obj)
Constructor @access public.
global $ilDB