ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
class.ilLikeUserDefinedFieldSearch.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once 'Services/Search/classes/class.ilUserDefinedFieldSearch.php';
5
18{
19
25 public function setFields($a_fields)
26 {
27 foreach ($a_fields as $field) {
28 $fields[] = 'f_' . $field;
29 }
30 parent::setFields($fields ? $fields : array());
31 }
32
33
34 public function __createWhereCondition()
35 {
36 global $DIC;
37
38 $ilDB = $DIC['ilDB'];
39
40 $fields = $this->getFields();
41 $field = $fields[0];
42
43 $and = " WHERE field_id = " . $ilDB->quote((int) substr($field, 2), "integer") . " AND ( ";
44 $counter = 0;
45 foreach ($this->query_parser->getQuotedWords() as $word) {
46 if ($counter++) {
47 $and .= " OR ";
48 }
49
50 if (strpos($word, '^') === 0) {
51 $and .= $ilDB->like("value", "text", substr($word, 1) . "%");
52 } else {
53 $and .= $ilDB->like("value", "text", "%" . $word . "%");
54 }
55 }
56 return $and . ") ";
57 }
58}
An exception for terminatinating execution or to throw for unit testing.
getFields()
Get fields to search.
global $ilDB
$DIC
Definition: xapitoken.php:46