Go to the documentation of this file.00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00035 include_once 'Services/Search/classes/class.ilAbstractSearch.php';
00036
00037 class ilLMContentSearch extends ilAbstractSearch
00038 {
00039
00044 function ilLMContentSearch(&$query_parser)
00045 {
00046 global $ilDB;
00047
00048 parent::ilAbstractSearch($query_parser);
00049 }
00050
00051 function &performSearch()
00052 {
00053 $this->setFields(array('content'));
00054
00055 $in = $this->__createInStatement();
00056 $where = $this->__createWhereCondition();
00057 $locate = $this->__createLocateString();
00058
00059 $query = "SELECT page_id,parent_id,parent_type ".
00060 $locate.
00061 "FROM page_object, lm_data ".
00062 $where.
00063 "AND obj_id = page_id ".
00064 $in;
00065
00066
00067 $res = $this->db->query($query);
00068 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
00069 {
00070 $this->search_result->addEntry($row->parent_id,$row->parent_type,$this->__prepareFound($row),$row->page_id);
00071 }
00072
00073 return $this->search_result;
00074 }
00075
00076
00077
00078
00079 function __createInStatement()
00080 {
00081 if(!$this->getFilter())
00082 {
00083 return '';
00084 }
00085 else
00086 {
00087 $type = "('";
00088 $type .= implode("','",$this->getFilter());
00089 $type .= "')";
00090
00091 $in = " AND parent_type IN ".$type;
00092
00093 return $in;
00094 }
00095 }
00096
00097 function __createAndCondition()
00098 {
00099 echo "Overwrite me!";
00100 }
00101
00102 }
00103 ?>