Public Member Functions | |
ilUserFilter ($a_usr_id) | |
enableField ($key) | |
disableField ($key) | |
enableMemberFilter ($a_status) | |
setPossibleUsers ($a_users) | |
getLimit () | |
limitReached () | |
getUserId () | |
storeQueryStrings ($a_strings) | |
getQueryString ($a_field) | |
getUsers () | |
__searchObjects () | |
& | __parseQueryString ($a_string) |
parse query string, using query parser instance | |
__storeEntries (&$new_res) | |
__toArray ($entries) | |
memberFilter ($a_usr_id, $entry_data) | |
Data Fields | |
$limit = 0 | |
$limit_reached = false | |
$search_fields | |
$enabled_member_filter = false | |
$possible_users = array() | |
$usr_id = null | |
$db = null |
Definition at line 40 of file class.ilUserFilter.php.
& ilUserFilter::__parseQueryString | ( | $ | a_string | ) |
parse query string, using query parser instance
Definition at line 188 of file class.ilUserFilter.php.
References ilUtil::stripSlashes().
Referenced by __searchObjects().
{ include_once 'Services/Search/classes/class.ilQueryParser.php'; $query_parser = new ilQueryParser(ilUtil::stripSlashes($a_string)); $query_parser->setCombination(QP_COMBINATION_OR); $query_parser->setMinWordLength(1); $query_parser->parse(); if(!$query_parser->validate()) { return $query_parser->getMessage(); } return $query_parser; }
ilUserFilter::__searchObjects | ( | ) |
Definition at line 142 of file class.ilUserFilter.php.
References $_SESSION, __parseQueryString(), __storeEntries(), __toArray(), ilObjectSearchFactory::_getUserSearchInstance(), and sendInfo().
Referenced by getUsers().
{ foreach($this->search_fields as $field => $enabled) { // Disabled ? if(!$enabled) { continue; } $query_string = $_SESSION['search_usr_filter'][$field]; if(!$query_string) { continue; } if(!is_object($query_parser = $this->__parseQueryString($query_string))) { sendInfo($query_parser); return false; } $user_search =& ilObjectSearchFactory::_getUserSearchInstance($query_parser); $user_search->setFields(array($field)); // store entries $this->__storeEntries($result_obj = $user_search->performSearch()); } // no filter entries if(is_object($this->result_obj)) { if($this->enabled_member_filter) { $this->result_obj->addObserver($this,'memberFilter'); } $this->result_obj->filter(ROOT_FOLDER_ID,QP_COMBINATION_OR); return $this->__toArray($this->result_obj->getResults()); } return array(); }
ilUserFilter::__storeEntries | ( | &$ | new_res | ) |
Definition at line 205 of file class.ilUserFilter.php.
Referenced by __searchObjects().
{ if($this->stored == false) { $this->result_obj->mergeEntries($new_res); $this->stored = true; return true; } else { $this->result_obj->intersectEntries($new_res); return true; } }
ilUserFilter::__toArray | ( | $ | entries | ) |
Definition at line 220 of file class.ilUserFilter.php.
References $entries, and $users.
Referenced by __searchObjects().
ilUserFilter::disableField | ( | $ | key | ) |
Definition at line 75 of file class.ilUserFilter.php.
References $key.
{ $this->search_fields[$key] = true; }
ilUserFilter::enableField | ( | $ | key | ) |
Definition at line 71 of file class.ilUserFilter.php.
References $key.
{ $this->search_fields[$key] = true; }
ilUserFilter::enableMemberFilter | ( | $ | a_status | ) |
Definition at line 79 of file class.ilUserFilter.php.
{ $this->enabled_member_filter = $a_status; }
ilUserFilter::getLimit | ( | ) |
Definition at line 90 of file class.ilUserFilter.php.
{
return $this->limit;
}
ilUserFilter::getQueryString | ( | $ | a_field | ) |
Definition at line 110 of file class.ilUserFilter.php.
References $_SESSION.
ilUserFilter::getUserId | ( | ) |
Definition at line 100 of file class.ilUserFilter.php.
{
return $this->usr_id;
}
ilUserFilter::getUsers | ( | ) |
Definition at line 116 of file class.ilUserFilter.php.
References $_SESSION, and __searchObjects().
{ // Check if a query string is given foreach($this->search_fields as $field => $enabled) { if(!$enabled) { continue; } if(strlen($_SESSION['search_usr_filter'][$field])) { $search = true; break; } } if($search) { return $this->__searchObjects(); } else { return $this->possible_users; } }
ilUserFilter::ilUserFilter | ( | $ | a_usr_id | ) |
Definition at line 58 of file class.ilUserFilter.php.
References $ilias.
{ global $ilDB,$ilias; $this->usr_id = $a_usr_id; $this->db =& $ilDB; // Limit of filtered objects is search max hits $this->limit = $ilias->getSetting('search_max_hits',50); $this->result_obj = new ilSearchResult(); }
ilUserFilter::limitReached | ( | ) |
Definition at line 95 of file class.ilUserFilter.php.
{
return $this->limit_reached;
}
ilUserFilter::memberFilter | ( | $ | a_usr_id, | |
$ | entry_data | |||
) |
Definition at line 229 of file class.ilUserFilter.php.
{
return in_array($a_usr_id,$this->possible_users);
}
ilUserFilter::setPossibleUsers | ( | $ | a_users | ) |
Definition at line 84 of file class.ilUserFilter.php.
{ $this->possible_users = $a_users ? $a_users : array(); }
ilUserFilter::storeQueryStrings | ( | $ | a_strings | ) |
Definition at line 105 of file class.ilUserFilter.php.
References $_SESSION.
{ $_SESSION['search_usr_filter'] = $a_strings; }
ilUserFilter::$db = null |
Definition at line 56 of file class.ilUserFilter.php.
ilUserFilter::$enabled_member_filter = false |
Definition at line 50 of file class.ilUserFilter.php.
ilUserFilter::$limit = 0 |
Definition at line 42 of file class.ilUserFilter.php.
ilUserFilter::$limit_reached = false |
Definition at line 43 of file class.ilUserFilter.php.
ilUserFilter::$possible_users = array() |
Definition at line 51 of file class.ilUserFilter.php.
ilUserFilter::$search_fields |
array('login' => true, 'firstname' => true, 'lastname' => true)
Definition at line 46 of file class.ilUserFilter.php.
ilUserFilter::$usr_id = null |
Definition at line 55 of file class.ilUserFilter.php.