ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilUserAutoComplete Class Reference

Auto completion class for user lists. More...

+ Inheritance diagram for ilUserAutoComplete:
+ Collaboration diagram for ilUserAutoComplete:

Public Member Functions

 __construct ()
 Default constructor. More...
 
 respectMinimumSearchCharacterCount ($a_status)
 
 getRespectMinimumSearchCharacterCount ()
 
 setLimit ($a_limit)
 
 getLimit ()
 
 setSearchType ($search_type)
 
 getSearchType ()
 
 setPrivacyMode ($privacy_mode)
 
 getPrivacyMode ()
 
 setUser ($user)
 
 getUser ()
 
 enableFieldSearchableCheck ($a_status)
 Enable the check whether the field is searchable in Administration -> Settings -> Standard Fields. More...
 
 isFieldSearchableCheckEnabled ()
 Searchable check enabled. More...
 
 enableUserAccessCheck ($a_status)
 Enable user access check. More...
 
 isUserAccessCheckEnabled ()
 Check if user access check is enabled. More...
 
 setSearchFields ($a_fields)
 Set searchable fields. More...
 
 getSearchFields ()
 get possible search fields More...
 
 setResultField ($a_field)
 Set result field. More...
 
 setUserLimitations ($a_limitations)
 allow user limitations like inactive and access limitations More...
 
 getUserLimitations ()
 allow user limitations like inactive and access limitations More...
 
 isMoreLinkAvailable ()
 
 setMoreLinkAvailable ($more_link_available)
 IMPORTANT: remember to read request parameter 'fetchall' to use this function. More...
 
 parseQueryString ($a_query)
 Parse query string. More...
 

Data Fields

const MAX_ENTRIES = 1000
 
const SEARCH_TYPE_LIKE = 1
 
const SEARCH_TYPE_EQUALS = 2
 
const PRIVACY_MODE_RESPECT_USER_SETTING = 1
 
const PRIVACY_MODE_IGNORE_USER_SETTING = 2
 

Protected Member Functions

 getFields ()
 Get searchable fields. More...
 
 getSelectPart ()
 
 getOrderByPart ()
 

Private Attributes

 $logger = null
 
 $searchable_check = false
 
 $user_access_check = true
 
 $possible_fields = array()
 
 $result_field
 
 $search_type
 
 $privacy_mode
 
 $user
 
 $limit = 0
 
 $user_limitations = true
 
 $respect_min_search_character_count = true
 
 $more_link_available = false
 

Detailed Description

Auto completion class for user lists.

Definition at line 7 of file class.ilUserAutoComplete.php.

Constructor & Destructor Documentation

◆ __construct()

ilUserAutoComplete::__construct ( )

Default constructor.

Definition at line 90 of file class.ilUserAutoComplete.php.

91 {
92 global $DIC;
93
94 $this->result_field = 'login';
95
96 $this->setSearchType(self::SEARCH_TYPE_LIKE);
97 $this->setPrivacyMode(self::PRIVACY_MODE_IGNORE_USER_SETTING);
98
99 $this->logger = $DIC->logger()->user();
100 }
global $DIC
Definition: saml.php:7

References $DIC, setPrivacyMode(), and setSearchType().

+ Here is the call graph for this function:

Member Function Documentation

◆ enableFieldSearchableCheck()

ilUserAutoComplete::enableFieldSearchableCheck (   $a_status)

Enable the check whether the field is searchable in Administration -> Settings -> Standard Fields.

Parameters
bool$a_status

Definition at line 181 of file class.ilUserAutoComplete.php.

182 {
183 $this->searchable_check = $a_status;
184 }

◆ enableUserAccessCheck()

ilUserAutoComplete::enableUserAccessCheck (   $a_status)

Enable user access check.

See also
Administration -> User Accounts -> Settings -> General Settings
Parameters
bool$a_status

Definition at line 200 of file class.ilUserAutoComplete.php.

201 {
202 $this->user_access_check = $a_status;
203 }

◆ getFields()

ilUserAutoComplete::getFields ( )
protected

Get searchable fields.

Returns
array

Definition at line 236 of file class.ilUserAutoComplete.php.

237 {
238 if (!$this->isFieldSearchableCheckEnabled()) {
239 return $this->getSearchFields();
240 }
241 $available_fields = array();
242 foreach ($this->getSearchFields() as $field) {
243 include_once 'Services/Search/classes/class.ilUserSearchOptions.php';
245 $available_fields[] = $field;
246 }
247 }
248 return $available_fields;
249 }
isFieldSearchableCheckEnabled()
Searchable check enabled.
getSearchFields()
get possible search fields

References ilUserSearchOptions\_isEnabled(), getSearchFields(), and isFieldSearchableCheckEnabled().

+ Here is the call graph for this function:

◆ getLimit()

ilUserAutoComplete::getLimit ( )

Definition at line 124 of file class.ilUserAutoComplete.php.

References $limit.

◆ getOrderByPart()

ilUserAutoComplete::getOrderByPart ( )
protected
Returns
string

Definition at line 510 of file class.ilUserAutoComplete.php.

511 {
512 return 'login ASC';
513 }

◆ getPrivacyMode()

ilUserAutoComplete::getPrivacyMode ( )
Returns
int

Definition at line 156 of file class.ilUserAutoComplete.php.

References $privacy_mode.

Referenced by getSelectPart().

+ Here is the caller graph for this function:

◆ getRespectMinimumSearchCharacterCount()

ilUserAutoComplete::getRespectMinimumSearchCharacterCount ( )
Returns
bool

Definition at line 113 of file class.ilUserAutoComplete.php.

References $respect_min_search_character_count.

◆ getSearchFields()

ilUserAutoComplete::getSearchFields ( )

get possible search fields

Returns
array

Definition at line 227 of file class.ilUserAutoComplete.php.

References $possible_fields.

Referenced by getFields().

+ Here is the caller graph for this function:

◆ getSearchType()

ilUserAutoComplete::getSearchType ( )
Returns
mixed

Definition at line 140 of file class.ilUserAutoComplete.php.

References $search_type.

◆ getSelectPart()

ilUserAutoComplete::getSelectPart ( )
protected
Returns
string

Definition at line 351 of file class.ilUserAutoComplete.php.

352 {
353 $fields = array(
354 'ud.usr_id',
355 'ud.login',
356 'ud.firstname',
357 'ud.lastname',
358 'ud.email',
359 'ud.second_email'
360 );
361
362 if (self::PRIVACY_MODE_RESPECT_USER_SETTING == $this->getPrivacyMode()) {
363 $fields[] = 'profpref.value profile_value';
364 $fields[] = 'pubemail.value email_value';
365 $fields[] = 'pubsecondemail.value second_email_value';
366 }
367
368 return implode(', ', $fields);
369 }

References getPrivacyMode().

+ Here is the call graph for this function:

◆ getUser()

ilUserAutoComplete::getUser ( )
Returns
ilObjUser

Definition at line 172 of file class.ilUserAutoComplete.php.

173 {
174 return $this->user;
175 }

References $user.

Referenced by ilOnScreenChatUserUserAutoComplete\getWherePart().

+ Here is the caller graph for this function:

◆ getUserLimitations()

ilUserAutoComplete::getUserLimitations ( )

allow user limitations like inactive and access limitations

Returns
bool

Definition at line 565 of file class.ilUserAutoComplete.php.

References $user_limitations.

◆ isFieldSearchableCheckEnabled()

ilUserAutoComplete::isFieldSearchableCheckEnabled ( )

Searchable check enabled.

Returns
bool

Definition at line 190 of file class.ilUserAutoComplete.php.

References $searchable_check.

Referenced by getFields().

+ Here is the caller graph for this function:

◆ isMoreLinkAvailable()

ilUserAutoComplete::isMoreLinkAvailable ( )
Returns
boolean

Definition at line 573 of file class.ilUserAutoComplete.php.

References $more_link_available.

◆ isUserAccessCheckEnabled()

ilUserAutoComplete::isUserAccessCheckEnabled ( )

Check if user access check is enabled.

Returns
bool

Definition at line 209 of file class.ilUserAutoComplete.php.

References $user_access_check.

◆ parseQueryString()

ilUserAutoComplete::parseQueryString (   $a_query)

Parse query string.

Parameters
string$a_query
Returns
$query

Definition at line 593 of file class.ilUserAutoComplete.php.

594 {
595 $query = array();
596
597 if (!stristr($a_query, '\\')) {
598 $a_query = str_replace('%', '\%', $a_query);
599 $a_query = str_replace('_', '\_', $a_query);
600 }
601
602 $query['query'] = trim($a_query);
603
604 // "," means fixed search for lastname, firstname
605 if (strpos($a_query, ',')) {
606 $comma_separated = (array) explode(',', $a_query);
607
608 if (count($comma_separated) == 2) {
609 if (trim($comma_separated[0])) {
610 $query['lastname'] = trim($comma_separated[0]);
611 }
612 if (trim($comma_separated[1])) {
613 $query['firstname'] = trim($comma_separated[1]);
614 }
615 }
616 } else {
617 $whitespace_separated = (array) explode(' ', $a_query);
618 foreach ($whitespace_separated as $part) {
619 if (trim($part)) {
620 $query['parts'][] = trim($part);
621 }
622 }
623 }
624
625 $this->logger->dump($query, ilLogLevel::DEBUG);
626
627 return $query;
628 }
$query

References $query, and ilLogLevel\DEBUG.

◆ respectMinimumSearchCharacterCount()

ilUserAutoComplete::respectMinimumSearchCharacterCount (   $a_status)
Parameters
bool$a_status

Definition at line 105 of file class.ilUserAutoComplete.php.

106 {
107 $this->respect_min_search_character_count = $a_status;
108 }

◆ setLimit()

ilUserAutoComplete::setLimit (   $a_limit)

Definition at line 119 of file class.ilUserAutoComplete.php.

120 {
121 $this->limit = $a_limit;
122 }

◆ setMoreLinkAvailable()

ilUserAutoComplete::setMoreLinkAvailable (   $more_link_available)

IMPORTANT: remember to read request parameter 'fetchall' to use this function.

Parameters
boolean$more_link_available

Definition at line 583 of file class.ilUserAutoComplete.php.

584 {
585 $this->more_link_available = $more_link_available;
586 }

References $more_link_available.

◆ setPrivacyMode()

ilUserAutoComplete::setPrivacyMode (   $privacy_mode)
Parameters
int$privacy_mode

Definition at line 148 of file class.ilUserAutoComplete.php.

149 {
150 $this->privacy_mode = $privacy_mode;
151 }

References $privacy_mode.

Referenced by __construct().

+ Here is the caller graph for this function:

◆ setResultField()

ilUserAutoComplete::setResultField (   $a_field)

Set result field.

Parameters
string$a_field

Definition at line 255 of file class.ilUserAutoComplete.php.

256 {
257 $this->result_field = $a_field;
258 }

◆ setSearchFields()

ilUserAutoComplete::setSearchFields (   $a_fields)

Set searchable fields.

Parameters
array$a_fields

Definition at line 218 of file class.ilUserAutoComplete.php.

219 {
220 $this->possible_fields = $a_fields;
221 }

◆ setSearchType()

ilUserAutoComplete::setSearchType (   $search_type)
Parameters
int$search_type

Definition at line 132 of file class.ilUserAutoComplete.php.

133 {
134 $this->search_type = $search_type;
135 }

References $search_type.

Referenced by __construct().

+ Here is the caller graph for this function:

◆ setUser()

ilUserAutoComplete::setUser (   $user)
Parameters
ilObjUser$user

Definition at line 164 of file class.ilUserAutoComplete.php.

165 {
166 $this->user = $user;
167 }
user()
Definition: user.php:4

References $user, and user().

+ Here is the call graph for this function:

◆ setUserLimitations()

ilUserAutoComplete::setUserLimitations (   $a_limitations)

allow user limitations like inactive and access limitations

Parameters
bool$a_limitations

Definition at line 556 of file class.ilUserAutoComplete.php.

557 {
558 $this->user_limitations = (bool) $a_limitations;
559 }

Field Documentation

◆ $limit

ilUserAutoComplete::$limit = 0
private

Definition at line 73 of file class.ilUserAutoComplete.php.

Referenced by getLimit().

◆ $logger

ilUserAutoComplete::$logger = null
private

Definition at line 35 of file class.ilUserAutoComplete.php.

◆ $more_link_available

ilUserAutoComplete::$more_link_available = false
private

Definition at line 85 of file class.ilUserAutoComplete.php.

Referenced by isMoreLinkAvailable(), and setMoreLinkAvailable().

◆ $possible_fields

ilUserAutoComplete::$possible_fields = array()
private

Definition at line 50 of file class.ilUserAutoComplete.php.

Referenced by getSearchFields().

◆ $privacy_mode

ilUserAutoComplete::$privacy_mode
private

Definition at line 65 of file class.ilUserAutoComplete.php.

Referenced by getPrivacyMode(), and setPrivacyMode().

◆ $respect_min_search_character_count

ilUserAutoComplete::$respect_min_search_character_count = true
private

Definition at line 80 of file class.ilUserAutoComplete.php.

Referenced by getRespectMinimumSearchCharacterCount().

◆ $result_field

ilUserAutoComplete::$result_field
private

Definition at line 55 of file class.ilUserAutoComplete.php.

◆ $search_type

ilUserAutoComplete::$search_type
private

Definition at line 60 of file class.ilUserAutoComplete.php.

Referenced by getSearchType(), and setSearchType().

◆ $searchable_check

ilUserAutoComplete::$searchable_check = false
private

Definition at line 40 of file class.ilUserAutoComplete.php.

Referenced by isFieldSearchableCheckEnabled().

◆ $user

ilUserAutoComplete::$user
private

Definition at line 70 of file class.ilUserAutoComplete.php.

Referenced by getUser(), and setUser().

◆ $user_access_check

ilUserAutoComplete::$user_access_check = true
private

Definition at line 45 of file class.ilUserAutoComplete.php.

Referenced by isUserAccessCheckEnabled().

◆ $user_limitations

ilUserAutoComplete::$user_limitations = true
private

Definition at line 75 of file class.ilUserAutoComplete.php.

Referenced by getUserLimitations().

◆ MAX_ENTRIES

◆ PRIVACY_MODE_IGNORE_USER_SETTING

const ilUserAutoComplete::PRIVACY_MODE_IGNORE_USER_SETTING = 2

Definition at line 30 of file class.ilUserAutoComplete.php.

◆ PRIVACY_MODE_RESPECT_USER_SETTING

◆ SEARCH_TYPE_EQUALS

const ilUserAutoComplete::SEARCH_TYPE_EQUALS = 2

◆ SEARCH_TYPE_LIKE

const ilUserAutoComplete::SEARCH_TYPE_LIKE = 1

Definition at line 15 of file class.ilUserAutoComplete.php.


The documentation for this class was generated from the following file: