Inheritance diagram for ilAdvancedMDSearch:
Collaboration diagram for ilAdvancedMDSearch:Public Member Functions | |
| __construct ($query_parser) | |
| Constructor. | |
| setDefinition ($a_def) | |
| set Definition | |
| getDefinition () | |
| get definition | |
| performSearch () | |
| perform search | |
| setTimeRange ($start, $end) | |
| set time range | |
Protected Attributes | |
| $definition | |
Definition at line 35 of file class.ilAdvancedMDSearch.php.
| ilAdvancedMDSearch::__construct | ( | $ | query_parser | ) |
Constructor.
public
| obj | query parser |
Reimplemented in ilAdvancedMDLikeSearch.
Definition at line 46 of file class.ilAdvancedMDSearch.php.
References ilAbstractSearch::$query_parser.
| ilAdvancedMDSearch::getDefinition | ( | ) |
get definition
public
Definition at line 69 of file class.ilAdvancedMDSearch.php.
Referenced by performSearch().
{
return $this->definition;
}
Here is the caller graph for this function:| ilAdvancedMDSearch::performSearch | ( | ) |
perform search
public
Reimplemented from ilAbstractSearch.
Definition at line 81 of file class.ilAdvancedMDSearch.php.
References $res, ilAbstractSearch::__createLocateString(), getDefinition(), ilAbstractSearch::getFilter(), ilAbstractSearch::setFields(), ilAdvancedMDFieldDefinition::TYPE_DATE, ilAdvancedMDFieldDefinition::TYPE_SELECT, and ilAdvancedMDFieldDefinition::TYPE_TEXT.
{
$this->setFields(array('value'));
$and = '';
if(count($this->getFilter()))
{
$and = "AND type IN ('".implode("','",$this->getFilter())."')";
}
switch($this->getDefinition()->getFieldType())
{
case ilAdvancedMDFieldDefinition::TYPE_DATE:
$query = "SELECT amv.obj_id,type ".
"FROM adv_md_values AS amv ".
"JOIN object_data USING (obj_id) ".
"WHERE value >= ".(int) $this->range_start." ".
"AND value <= ".(int) $this->range_end." ".
"AND field_id = ".$this->db->quote($this->getDefinition()->getFieldId())." ".
$and;
break;
case ilAdvancedMDFieldDefinition::TYPE_SELECT:
case ilAdvancedMDFieldDefinition::TYPE_TEXT:
$where = $this->__createWhereCondition();
$locate = $this->__createLocateString();
$query = "SELECT amv.obj_id,type ".
$locate.
"FROM adv_md_values as amv ".
"JOIN object_data USING(obj_id) ".
$where.
"AND field_id = ".$this->db->quote($this->getDefinition()->getFieldId())." ".
$and;
break;
}
if($query)
{
$res = $this->db->query($query);
while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
{
$this->search_result->addEntry($row->obj_id,$row->type,$this->__prepareFound($row));
}
}
return $this->search_result;
}
Here is the call graph for this function:| ilAdvancedMDSearch::setDefinition | ( | $ | a_def | ) |
set Definition
public
| obj | field definition object |
Definition at line 58 of file class.ilAdvancedMDSearch.php.
{
$this->definition = $a_def;
}
| ilAdvancedMDSearch::setTimeRange | ( | $ | start, | |
| $ | end | |||
| ) |
set time range
public
| int | unix start time | |
| int | unix end time |
Definition at line 139 of file class.ilAdvancedMDSearch.php.
{
$this->range_start = $start;
$this->range_end = $end;
}
ilAdvancedMDSearch::$definition [protected] |
Definition at line 37 of file class.ilAdvancedMDSearch.php.
1.7.1