ILIAS  trunk Revision v12.0_alpha-16-g3e876e53c80
ILIAS\User\Search\AutocompleteQuery Class Reference

This class provides some pre-processing for search terms provided by a user when searching for users. More...

+ Collaboration diagram for ILIAS\User\Search\AutocompleteQuery:

Public Member Functions

 __construct (private readonly int $required_search_term_length, private readonly string $search_term,)
 
 checkSearchTermLength (?string $search_term)
 
 getUnprocessedSearchTerm ()
 The returned search term might contain wild cards or any other input. More...
 
 getSearchTermQueryString ()
 
 getLastnameQueryString ()
 
 getFirstnameQueryString ()
 

Private Attributes

string $processed_search_term
 
string $lastname_search_term = null
 
string $firstname_search_term = null
 

Detailed Description

This class provides some pre-processing for search terms provided by a user when searching for users.

It treats strings containing one comma as being of the form lastname, firstname and parses them correspondingly.

Definition at line 28 of file AutocompleteQuery.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\User\Search\AutocompleteQuery::__construct ( private readonly int  $required_search_term_length,
private readonly string  $search_term 
)

Definition at line 34 of file AutocompleteQuery.php.

37 {
38 $this->processed_search_term = str_replace(
39 ['%', '_'],
40 ['\%', '\_'],
41 trim($search_term)
42 );
43
44 $comma_separated = explode(',', $search_term);
45
46 if (count($comma_separated) !== 2) {
47 return;
48 }
49
50 $lastname_search_term = trim($comma_separated[0]);
51 $firstname_search_term = trim($comma_separated[1]);
52
54 return;
55 }
56
57 $this->lastname_search_term = $lastname_search_term === '' ? null : $lastname_search_term;
58 $this->firstname_search_term = $firstname_search_term === '' ? null : $firstname_search_term;
59 }

References ILIAS\User\Search\AutocompleteQuery\$firstname_search_term, and ILIAS\User\Search\AutocompleteQuery\$lastname_search_term.

Member Function Documentation

◆ checkSearchTermLength()

ILIAS\User\Search\AutocompleteQuery::checkSearchTermLength ( ?string  $search_term)

Definition at line 61 of file AutocompleteQuery.php.

61 : bool
62 {
63 if ($search_term === null) {
64 return false;
65 }
66 return mb_strlen($search_term) >= $this->required_search_term_length;
67 }

◆ getFirstnameQueryString()

ILIAS\User\Search\AutocompleteQuery::getFirstnameQueryString ( )

Definition at line 106 of file AutocompleteQuery.php.

106 : ?string
107 {
108 if ($this->firstname_search_term !== null) {
110 }
111
112 if ($this->lastname_search_term === null) {
113 return $this->search_term;
114 }
115
116 return null;
117 }

References ILIAS\User\Search\AutocompleteQuery\$firstname_search_term.

◆ getLastnameQueryString()

ILIAS\User\Search\AutocompleteQuery::getLastnameQueryString ( )

Definition at line 93 of file AutocompleteQuery.php.

93 : ?string
94 {
95 if ($this->lastname_search_term !== null) {
97 }
98
99 if ($this->firstname_search_term === null) {
100 return $this->search_term;
101 }
102
103 return null;
104 }

References ILIAS\User\Search\AutocompleteQuery\$lastname_search_term.

◆ getSearchTermQueryString()

ILIAS\User\Search\AutocompleteQuery::getSearchTermQueryString ( )
Returns
string|null The return value will be null, if it is determined that a search for lastname and/or firstname is needed.

Definition at line 83 of file AutocompleteQuery.php.

83 : ?string
84 {
85 if ($this->lastname_search_term !== null
86 || $this->firstname_search_term !== null) {
87 return null;
88 }
89
90 return $this->search_term;
91 }

◆ getUnprocessedSearchTerm()

ILIAS\User\Search\AutocompleteQuery::getUnprocessedSearchTerm ( )

The returned search term might contain wild cards or any other input.

Please make sure to process the string to avoid any privacy issues.

Definition at line 73 of file AutocompleteQuery.php.

73 : string
74 {
75 return $this->search_term;
76 }

Field Documentation

◆ $firstname_search_term

string ILIAS\User\Search\AutocompleteQuery::$firstname_search_term = null
private

◆ $lastname_search_term

string ILIAS\User\Search\AutocompleteQuery::$lastname_search_term = null
private

◆ $processed_search_term

string ILIAS\User\Search\AutocompleteQuery::$processed_search_term
private

Definition at line 30 of file AutocompleteQuery.php.


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