ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilForumSearch.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.ilAbstractSearch.php';
36
38{
44 {
45 parent::ilAbstractSearch($query_parser);
46 }
47
48 function &performSearch()
49 {
50 // Search in topic titles, posting title, posting
51
52 // First: search topics:
53 $this->setFields(array('thr_subject'));
54
55 $and = $this->__createTopicAndCondition();
56 $locate = $this->__createLocateString();
57
58 $query = "SELECT thr_pk,top_frm_fk frm_id ".
59 $locate.
60 "FROM frm_threads,frm_data ".
61 "WHERE top_pk = thr_top_fk ".
62 $and;
63
64 $res = $this->db->query($query);
65
66 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
67 {
68 #$thread_post = $row->thr_pk.'_0';
69 $thread_post = $row->thr_pk;
70 $this->search_result->addEntry($row->frm_id,'frm',$this->__prepareFound($row),$thread_post);
71 }
72
73 // First: search post title, content:
74 $this->setFields(array('pos_subject','pos_message'));
75
76 $and = $this->__createPostAndCondition();
77 $locate = $this->__createLocateString();
78
79 $query = "SELECT top_frm_fk frm_id,pos_thr_fk,pos_pk ".
80 $locate.
81 "FROM frm_posts,frm_data ".
82 "WHERE pos_top_fk = top_pk ".
83 $and;
84
85 $res = $this->db->query($query);
86 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
87 {
88 #$thread_post = $row->pos_thr_fk.'_'.$row->pos_pk;
89 $thread_post = $row->pos_thr_fk;
90 $this->search_result->addEntry($row->frm_id,'frm',$this->__prepareFound($row),$thread_post);
91 }
93 }
94
96 {
97 echo "Overwrite me!";
98 }
99
100}
101?>
const DB_FETCHMODE_OBJECT
Definition: class.ilDB.php:11
__createLocateString()
build locate string in case of AND search
setFields($a_fields)
Set fields to search.
ilForumSearch(&$query_parser)
Constructor @access public.