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
00071 if ($row->parent_type == "gdf")
00072 {
00073
00074 include_once("./Modules/Glossary/classes/class.ilGlossaryDefinition.php");
00075 $row->page_id = ilGlossaryDefinition::_lookupTermId($row->page_id);
00076 }
00077
00078 $this->search_result->addEntry($row->parent_id,$row->parent_type,$this->__prepareFound($row),$row->page_id);
00079 }
00080
00081 return $this->search_result;
00082 }
00083
00084
00085
00086
00087 function __createInStatement()
00088 {
00089 if(!$this->getFilter())
00090 {
00091 return '';
00092 }
00093 else
00094 {
00095 $type = "('";
00096 $type .= implode("','",$this->getFilter());
00097 $type .= "')";
00098
00099 $in = " AND parent_type IN ".$type;
00100
00101 return $in;
00102 }
00103 }
00104
00105 function __createAndCondition()
00106 {
00107 echo "Overwrite me!";
00108 }
00109
00110 }
00111 ?>