ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilLikeForumSearch.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.ilForumSearch.php';
36
38{
39 public function __createPostAndCondition()
40 {
41 global $ilDB;
42
43 /*
44 $concat = " CONCAT(";
45 $concat .= 'pos_message,pos_subject';
46 $concat .= ") ";
47 */
48 $concat = $ilDB->concat(
49 array(
50 array('pos_subject','text'),
51 array('pos_message','text'))
52 );
53
54 $and = " AND ( ";
55 $counter = 0;
56 foreach ($this->query_parser->getQuotedWords() as $word) {
57 if ($counter++) {
58 $and .= " OR";
59 }
60 #$and .= $concat;
61 #$and .= ("LIKE ('%".$word."%')");
62 $and .= $ilDB->like($concat, 'clob', '%' . $word . '%');
63 }
64 return $and . ") ";
65 }
66
67 public function __createTopicAndCondition()
68 {
69 global $ilDB;
70
71 $field = 'thr_subject ';
72 $and = " AND( ";
73
74 $counter = 0;
75 foreach ($this->query_parser->getQuotedWords() as $word) {
76 if ($counter++) {
77 $and .= " OR ";
78 }
79 #$and .= $field;
80 #$and .= ("LIKE ('%".$word."%')");
81 $and .= $ilDB->like($field, 'text', '%' . $word . '%');
82 }
83 return $and . " ) ";
84 }
85}
An exception for terminatinating execution or to throw for unit testing.
$counter
global $ilDB