ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ilRepositorySearchGUI Class Reference
+ Inheritance diagram for ilRepositorySearchGUI:
+ Collaboration diagram for ilRepositorySearchGUI:

Public Member Functions

 __construct ()
 
 addUserAccessFilterCallable (callable $user_filter)
 Closure for filtering users e.g $rep_search_gui->addUserAccessFilterCallable(function($user_ids) use($ref_id,$rbac_perm,$pos_perm)) { // filter users return $filtered_users }. More...
 
 setTitle (string $a_title)
 
 getTitle ()
 
 enableSearchableCheck (bool $a_status)
 
 isSearchableCheckEnabled ()
 
 setPrivacyMode (int $privacy_mode)
 
 getPrivacyMode ()
 
 getSearchType ()
 
 getRoleCallback ()
 
 setString (string $a_str)
 
 getString ()
 
 executeCommand ()
 
 __clearSession ()
 
 cancel ()
 
 start ()
 
 addRole ()
 
 addUser ()
 
 setCallback (object $class, string $method, array $a_add_options=[], string $default_option='')
 
 setRoleCallback (object $class, string $method, array $a_add_options=[], string $default_option='')
 
 setPermissionQueryCallback (object $class, string $method)
 
 showSearch ()
 
 showSearchSelected ()
 
 initFormSearch (ilObjUser $user=null)
 
 show ()
 
 appendSearch ()
 
 performSearch ()
 
 __performUserSearch ()
 
 __performGroupSearch ()
 
 __performRoleSearch ()
 
 __parseQueryString (string $a_string, bool $a_combination_or=true, bool $a_ignore_length=false)
 
 __loadQueries ()
 
 __setSearchType ()
 
 __updateResults ()
 
 __appendToStoredResults (array $a_usr_ids)
 
 __storeEntries (ilSearchResult $new_res)
 
 showSearchResults ()
 
 searchResultFilterListener (int $a_ref_id, array $a_data)
 Listener called from ilSearchResult Id is obj_id for role, usr Id is ref_id for crs grp. More...
 
 allowObjectSelection (bool $a_value=false)
 
 setUserLimitations (bool $a_limitations)
 allow user limitations like inactive and access limitations More...
 
 getUserLimitations ()
 allow user limitations like inactive and access limitations More...
 

Static Public Member Functions

static fillAutoCompleteToolbar (object $parent_object, ilToolbarGUI $toolbar=null, array $a_options=[], bool $a_sticky=false)
 array( auto_complete_name = $lng->txt('user'), auto_complete_size = 15, user_type = array(ilCourseParticipants::CRS_MEMBER,ilCourseParticpants::CRS_TUTOR), submit_name = $lng->txt('add') ) More...
 

Protected Member Functions

 initUserTypeFromQuery ()
 
 initUserTypeFromPost ()
 
 doUserAutoComplete ()
 
 addUserFromAutoComplete ()
 
 showClipboard ()
 
 addFromClipboard ()
 
 removeFromClipboard ()
 
 emptyClipboard ()
 
 handleMultiCommand ()
 
 __performCourseSearch ()
 
 addNewSearchButton ()
 
 showSearchUserTable (array $a_usr_ids, string $a_parent_cmd)
 
 showSearchRoleTable (array $a_obj_ids)
 
 showSearchGroupTable (array $a_obj_ids)
 
 showSearchCourseTable (array $a_obj_ids)
 
 listUsers (array $selected_entries=[])
 
 storedUserList ()
 
 selectObject ()
 Return selection of course/group/roles to calling script. More...
 

Protected Attributes

array $add_options = []
 
string $default_option = ''
 
bool $object_selection = false
 
bool $searchable_check = true
 
string $search_title = ''
 
bool $user_limitations = true
 
bool $stored = false
 
array $callback = []
 
array $role_callback = []
 
ilSearchResult $result_obj
 
ilSearchSettings $settings
 
ilPropertyFormGUI $form = null
 
 $user_filter = null
 
ilTree $tree
 
Renderer $ui_renderer
 
Factory $ui_factory
 
ilCtrl $ctrl
 
ilGlobalTemplateInterface $tpl
 
ilObjUser $user = null
 
ilRbacReview $rbacreview
 
ilTabsGUI $tabs
 
ilLanguage $lng
 

Private Attributes

array $search_results = []
 
string $search_type = 'usr'
 
string $string = ''
 
int $privacy_mode = ilUserAutoComplete::PRIVACY_MODE_IGNORE_USER_SETTING
 
GlobalHttpState $http
 
RefineryFactory $refinery
 

Detailed Description

Definition at line 38 of file class.ilRepositorySearchGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilRepositorySearchGUI::__construct ( )

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

References $DIC, __loadQueries(), __setSearchType(), ILIAS\Repository\ctrl(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), ILIAS\Repository\settings(), setTitle(), ILIAS\Repository\tabs(), and ILIAS\Repository\user().

81  {
82  global $DIC;
83 
84 
85 
86  $this->ctrl = $DIC->ctrl();
87  $this->tpl = $DIC->ui()->mainTemplate();
88  $this->tree = $DIC->repositoryTree();
89  $this->ui_renderer = $DIC->ui()->renderer();
90  $this->ui_factory = $DIC->ui()->factory();
91  $this->lng = $DIC->language();
92  $this->rbacreview = $DIC->rbac()->review();
93  $this->refinery = $DIC->refinery();
94  $this->http = $DIC->http();
95  $this->user = $DIC->user();
96  $this->tabs = $DIC->tabs();
97 
98  $this->lng->loadLanguageModule('search');
99  $this->lng->loadLanguageModule('crs');
100 
101  $this->setTitle($this->lng->txt('add_members_header'));
102 
103  $this->__setSearchType();
104  $this->__loadQueries();
105 
106  $this->result_obj = new ilSearchResult();
107  $this->result_obj->setMaxHits(1000000);
108  $this->settings = new ilSearchSettings();
109  }
global $DIC
Definition: feed.php:28
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

Member Function Documentation

◆ __appendToStoredResults()

ilRepositorySearchGUI::__appendToStoredResults ( array  $a_usr_ids)
Returns
int[]

Definition at line 1125 of file class.ilRepositorySearchGUI.php.

References ilSession\get(), and ilSession\set().

Referenced by listUsers().

1125  : array
1126  {
1127  if (!ilSession::get('search_append')) {
1128  $rep_search = ilSession::get('rep_search') ?? [];
1129  $rep_search['usr'] = $a_usr_ids;
1130  ilSession::set('rep_search', $rep_search);
1131  return $a_usr_ids;
1132  }
1133  $rep_search = ilSession::get('rep_search') ?? [];
1134  foreach ($a_usr_ids as $usr_id) {
1135  $rep_search['usr'][] = $usr_id;
1136  }
1137  $rep_search['usr'] = array_unique($rep_search['usr'] ?? []);
1138  ilSession::set('rep_search', $rep_search);
1139  return $rep_search['usr'];
1140  }
static get(string $a_var)
static set(string $a_var, $a_val)
Set a value.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __clearSession()

ilRepositorySearchGUI::__clearSession ( )

Definition at line 427 of file class.ilRepositorySearchGUI.php.

References ilSession\clear().

Referenced by start().

427  : void
428  {
429  ilSession::clear('rep_search');
430  ilSession::clear('append_results');
431  ilSession::clear('rep_query');
432  ilSession::clear('rep_search_type');
433  }
static clear(string $a_var)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __loadQueries()

ilRepositorySearchGUI::__loadQueries ( )

Definition at line 1077 of file class.ilRepositorySearchGUI.php.

References ILIAS\FileDelivery\http(), and ilSession\set().

Referenced by __construct().

1077  : void
1078  {
1079  if ($this->http->wrapper()->post()->has('rep_query')) {
1081  'rep_query',
1082  $this->http->request()->getParsedBody()['rep_query']
1083  );
1084  }
1085  }
static http()
Fetches the global http state from ILIAS.
static set(string $a_var, $a_val)
Set a value.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __parseQueryString()

ilRepositorySearchGUI::__parseQueryString ( string  $a_string,
bool  $a_combination_or = true,
bool  $a_ignore_length = false 
)
Returns
ilQueryParser|string

Definition at line 1057 of file class.ilRepositorySearchGUI.php.

References ilQueryParser\QP_COMBINATION_AND, ilQueryParser\QP_COMBINATION_OR, and ilUtil\stripSlashes().

Referenced by __performCourseSearch(), __performGroupSearch(), __performRoleSearch(), and __performUserSearch().

1058  {
1059  $query_parser = new ilQueryParser(ilUtil::stripSlashes($a_string));
1060  $query_parser->setCombination($a_combination_or ? ilQueryParser::QP_COMBINATION_OR : ilQueryParser::QP_COMBINATION_AND);
1061  $query_parser->setMinWordLength(1);
1062 
1063  // #17502
1064  if (!$a_ignore_length) {
1065  $query_parser->setGlobalMinLength(3); // #14768
1066  }
1067 
1068  $query_parser->parse();
1069 
1070  if (!$query_parser->validate()) {
1071  return $query_parser->getMessage();
1072  }
1073  return $query_parser;
1074  }
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __performCourseSearch()

ilRepositorySearchGUI::__performCourseSearch ( )
protected

Definition at line 1021 of file class.ilRepositorySearchGUI.php.

References __parseQueryString(), __storeEntries(), and ilSession\get().

Referenced by performSearch().

1021  : bool
1022  {
1023  $rep_query = ilSession::get('rep_query');
1024  $query_string = $rep_query['crs']['title'] ?? '';
1025  if (!is_object($query_parser = $this->__parseQueryString($query_string))) {
1026  $this->tpl->setOnScreenMessage('info', $query_parser, true);
1027  return false;
1028  }
1029 
1030  $object_search = new ilLikeObjectSearch($query_parser);
1031  $object_search->setFilter(array('crs'));
1032  $this->__storeEntries($object_search->performSearch());
1033 
1034  return true;
1035  }
static get(string $a_var)
__storeEntries(ilSearchResult $new_res)
__parseQueryString(string $a_string, bool $a_combination_or=true, bool $a_ignore_length=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __performGroupSearch()

ilRepositorySearchGUI::__performGroupSearch ( )

Definition at line 1005 of file class.ilRepositorySearchGUI.php.

References __parseQueryString(), __storeEntries(), and ilSession\get().

Referenced by performSearch().

1005  : bool
1006  {
1007  $rep_query = ilSession::get('rep_query');
1008  $query_string = $rep_query['grp']['title'] ?? '';
1009  if (!is_object($query_parser = $this->__parseQueryString($query_string))) {
1010  $this->tpl->setOnScreenMessage('info', $query_parser, true);
1011  return false;
1012  }
1013 
1014  $object_search = new ilLikeObjectSearch($query_parser);
1015  $object_search->setFilter(array('grp'));
1016  $this->__storeEntries($object_search->performSearch());
1017 
1018  return true;
1019  }
static get(string $a_var)
__storeEntries(ilSearchResult $new_res)
__parseQueryString(string $a_string, bool $a_combination_or=true, bool $a_ignore_length=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __performRoleSearch()

ilRepositorySearchGUI::__performRoleSearch ( )

Definition at line 1037 of file class.ilRepositorySearchGUI.php.

References __parseQueryString(), __storeEntries(), and ilSession\get().

Referenced by performSearch().

1037  : bool
1038  {
1039  $rep_query = ilSession::get('rep_query');
1040  $query_string = $rep_query['role']['title'] ?? '';
1041  if (!is_object($query_parser = $this->__parseQueryString($query_string))) {
1042  $this->tpl->setOnScreenMessage('info', $query_parser, true);
1043  return false;
1044  }
1045 
1046  // Perform like search
1047  $object_search = new ilLikeObjectSearch($query_parser);
1048  $object_search->setFilter(array('role'));
1049  $this->__storeEntries($object_search->performSearch());
1050 
1051  return true;
1052  }
static get(string $a_var)
__storeEntries(ilSearchResult $new_res)
__parseQueryString(string $a_string, bool $a_combination_or=true, bool $a_ignore_length=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __performUserSearch()

ilRepositorySearchGUI::__performUserSearch ( )

Definition at line 944 of file class.ilRepositorySearchGUI.php.

References __parseQueryString(), __storeEntries(), ilUserSearchOptions\_getSearchableFieldsInfo(), ilObjectSearchFactory\_getUserDefinedFieldSearchInstance(), ilObjectSearchFactory\_getUserSearchInstance(), ilUserSearchOptions\FIELD_TYPE_MULTI, ilUserSearchOptions\FIELD_TYPE_SELECT, ilUserSearchOptions\FIELD_TYPE_TEXT, ilUserSearchOptions\FIELD_TYPE_UDF_SELECT, ilUserSearchOptions\FIELD_TYPE_UDF_TEXT, ilSession\get(), ilObjectSearchFactory\getUserMultiFieldSearchInstance(), ilObjectSearchFactory\getUserOrgUnitAssignmentInstance(), and isSearchableCheckEnabled().

Referenced by performSearch().

944  : bool
945  {
947  $name = $info['db'];
948 
949  $rep_query = ilSession::get('rep_query');
950  $query_string = $rep_query['usr'][$name] ?? '';
951  // continue if no query string is given
952  if (!$query_string) {
953  continue;
954  }
955 
956  if (!is_object($query_parser = $this->__parseQueryString($query_string, true, ($info['type'] == ilUserSearchOptions::FIELD_TYPE_SELECT)))) {
957  $this->tpl->setOnScreenMessage('info', $query_parser);
958  return false;
959  }
960  switch ($info['type']) {
962  $query_parser = $this->__parseQueryString($query_string);
963 
964  // no break
967  $udf_search->setFields(array($name));
968  $result_obj = $udf_search->performSearch();
969 
970  // Store entries
971  $this->__storeEntries($result_obj);
972  break;
973 
975 
976  if ($info['db'] == 'org_units') {
977  $user_search = ilObjectSearchFactory::getUserOrgUnitAssignmentInstance($query_parser);
978  $result_obj = $user_search->performSearch();
979  $this->__storeEntries($result_obj);
980  break;
981  }
982  $query_parser = $this->__parseQueryString($query_string, true, true);
983 
984  // no break
986  $user_search = ilObjectSearchFactory::_getUserSearchInstance($query_parser);
987  $user_search->setFields(array($name));
988  $result_obj = $user_search->performSearch();
989 
990  // store entries
991  $this->__storeEntries($result_obj);
992  break;
993 
995  $multi_search = ilObjectSearchFactory::getUserMultiFieldSearchInstance($query_parser);
996  $multi_search->setFields(array($name));
997  $result_obj = $multi_search->performSearch();
998  $this->__storeEntries($result_obj);
999  break;
1000  }
1001  }
1002  return true;
1003  }
static get(string $a_var)
__storeEntries(ilSearchResult $new_res)
static getUserOrgUnitAssignmentInstance(ilQueryParser $query_parser)
__parseQueryString(string $a_string, bool $a_combination_or=true, bool $a_ignore_length=false)
static _getUserSearchInstance(ilQueryParser $query_parser)
static getUserMultiFieldSearchInstance(ilQueryParser $query_parser)
static _getUserDefinedFieldSearchInstance(ilQueryParser $query_parser)
static _getSearchableFieldsInfo(bool $a_admin=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __setSearchType()

ilRepositorySearchGUI::__setSearchType ( )

Definition at line 1088 of file class.ilRepositorySearchGUI.php.

References ilSession\get(), ILIAS\FileDelivery\http(), and ilSession\set().

Referenced by __construct().

1088  : bool
1089  {
1090  // Update search type. Default to user search
1091  if ($this->http->wrapper()->post()->has('search_for')) {
1093  'rep_search_type',
1094  $this->http->request()->getParsedBody()['search_for']
1095  );
1096  } elseif (!ilSession::get('rep_search_type')) {
1097  ilSession::set('rep_search_type', 'usr');
1098  }
1099  $this->search_type = (string) ilSession::get('rep_search_type');
1100  return true;
1101  }
static get(string $a_var)
static http()
Fetches the global http state from ILIAS.
static set(string $a_var, $a_val)
Set a value.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __storeEntries()

ilRepositorySearchGUI::__storeEntries ( ilSearchResult  $new_res)

Definition at line 1142 of file class.ilRepositorySearchGUI.php.

Referenced by __performCourseSearch(), __performGroupSearch(), __performRoleSearch(), and __performUserSearch().

1142  : bool
1143  {
1144  if ($this->stored == false) {
1145  $this->result_obj->mergeEntries($new_res);
1146  $this->stored = true;
1147  return true;
1148  } else {
1149  $this->result_obj->intersectEntries($new_res);
1150  return true;
1151  }
1152  }
+ Here is the caller graph for this function:

◆ __updateResults()

ilRepositorySearchGUI::__updateResults ( )

Definition at line 1104 of file class.ilRepositorySearchGUI.php.

References $search_type, ilSession\get(), and ilSession\set().

Referenced by performSearch().

1104  : bool
1105  {
1106  if (!ilSession::get('search_append')) {
1107  ilSession::set('rep_search', []);
1108  }
1109  $rep_search = ilSession::get('rep_search') ?? [];
1110  foreach ($this->search_results as $result) {
1111  $rep_search[$this->search_type][] = $result;
1112  }
1113  if (!$rep_search[$this->search_type]) {
1114  $rep_search[$this->search_type] = [];
1115  } else {
1116  $rep_search[$this->search_type] = array_unique($rep_search[$this->search_type]);
1117  }
1118  ilSession::set('rep_search', $rep_search);
1119  return true;
1120  }
static get(string $a_var)
static set(string $a_var, $a_val)
Set a value.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addFromClipboard()

ilRepositorySearchGUI::addFromClipboard ( )
protected

Definition at line 552 of file class.ilRepositorySearchGUI.php.

References ILIAS\Repository\ctrl(), ILIAS\FileDelivery\http(), initUserTypeFromPost(), initUserTypeFromQuery(), ILIAS\Repository\lng(), and ILIAS\Repository\refinery().

552  : void
553  {
554  $user_type = $this->initUserTypeFromPost();
555  if ($user_type === '') {
556  $user_type = $this->initUserTypeFromQuery();
557  }
558  $this->ctrl->setParameter($this, 'user_type', $user_type);
559 
560  $users = [];
561  if ($this->http->wrapper()->post()->has('uids')) {
562  $users = $this->http->wrapper()->post()->retrieve(
563  'uids',
564  $this->refinery->kindlyTo()->dictOf(
565  $this->refinery->kindlyTo()->int()
566  )
567  );
568  }
569  if (!count($users)) {
570  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('select_one'), true);
571  $this->ctrl->redirect($this, 'showClipboard');
572  }
573  $class = $this->callback['class'];
574  $method = $this->callback['method'];
575  if (!$class->$method($users, $user_type)) {
576  $this->ctrl->returnToParent($this);
577  }
578  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

◆ addNewSearchButton()

ilRepositorySearchGUI::addNewSearchButton ( )
protected

Definition at line 1154 of file class.ilRepositorySearchGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

Referenced by listUsers(), showSearchResults(), and showSearchSelected().

1154  : void
1155  {
1156  $toolbar = new ilToolbarGUI();
1157  $toolbar->addButton(
1158  $this->lng->txt('search_new'),
1159  $this->ctrl->getLinkTarget($this, 'showSearch')
1160  );
1161  $this->tpl->setVariable('ACTION_BUTTONS', $toolbar->getHTML());
1162  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addRole()

ilRepositorySearchGUI::addRole ( )

Definition at line 450 of file class.ilRepositorySearchGUI.php.

References $id, $ref_id, ilObject\_getAllReferences(), ilObject\_lookupType(), ilParticipants\getDefaultMemberRole(), ILIAS\FileDelivery\http(), ILIAS\Repository\refinery(), and showSearchResults().

450  : void
451  {
452  $class = $this->role_callback['class'];
453  $method = $this->role_callback['method'];
454 
455  // call callback if that function does give a return value => show error message
456  // listener redirects if everything is ok.
457  $obj_ids = [];
458  if ($this->http->wrapper()->post()->has('obj')) {
459  $obj_ids = $this->http->wrapper()->post()->retrieve(
460  'obj',
461  $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int())
462  );
463  }
464  $role_ids = array();
465  foreach ($obj_ids as $id) {
466  $obj_type = ilObject::_lookupType($id);
467  if ($obj_type == "crs" || $obj_type == "grp") {
468  $refs = ilObject::_getAllReferences($id);
469  $ref_id = end($refs);
471  $role_ids[] = $mem_role;
472  } else {
473  $role_ids[] = $id;
474  }
475  }
476  $class->$method($role_ids);
477 
478  $this->showSearchResults();
479  }
static _getAllReferences(int $id)
get all reference ids for object ID
static getDefaultMemberRole(int $a_ref_id)
$ref_id
Definition: ltiauth.php:67
static http()
Fetches the global http state from ILIAS.
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
static _lookupType(int $id, bool $reference=false)
+ Here is the call graph for this function:

◆ addUser()

ilRepositorySearchGUI::addUser ( )

Definition at line 481 of file class.ilRepositorySearchGUI.php.

References ILIAS\FileDelivery\http(), ILIAS\Repository\refinery(), and showSearchResults().

481  : void
482  {
483  $class = $this->callback['class'];
484  $method = $this->callback['method'];
485 
486  $users = [];
487  if ($this->http->wrapper()->post()->has('user')) {
488  $users = $this->http->wrapper()->post()->retrieve(
489  'user',
490  $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int())
491  );
492  }
493 
494  // call callback if that function does give a return value => show error message
495  // listener redirects if everything is ok.
496  $class->$method($users);
497 
498  $this->showSearchResults();
499  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

◆ addUserAccessFilterCallable()

ilRepositorySearchGUI::addUserAccessFilterCallable ( callable  $user_filter)

Closure for filtering users e.g $rep_search_gui->addUserAccessFilterCallable(function($user_ids) use($ref_id,$rbac_perm,$pos_perm)) { // filter users return $filtered_users }.

Definition at line 141 of file class.ilRepositorySearchGUI.php.

References $user_filter.

141  : void
142  {
143  $this->user_filter = $user_filter;
144  }

◆ addUserFromAutoComplete()

ilRepositorySearchGUI::addUserFromAutoComplete ( )
protected

Definition at line 502 of file class.ilRepositorySearchGUI.php.

References ilObjUser\_lookupId(), ILIAS\Repository\ctrl(), ILIAS\FileDelivery\http(), initUserTypeFromPost(), and ILIAS\Repository\refinery().

502  : void
503  {
504  $class = $this->callback['class'];
505  $method = $this->callback['method'];
506 
507  $post_users = '';
508  if ($this->http->wrapper()->post()->has('user_login')) {
509  $post_users = $this->http->wrapper()->post()->retrieve(
510  'user_login',
511  $this->refinery->kindlyTo()->string()
512  );
513  }
514 
515  $users = explode(',', $post_users);
516  $user_ids = array();
517  foreach ($users as $user) {
518  $user_id = ilObjUser::_lookupId($user);
519  if ($user_id) {
520  $user_ids[] = $user_id;
521  }
522  }
523 
524  $user_type = $this->initUserTypeFromPost();
525  if (!$class->$method($user_ids, $user_type)) {
526  $this->ctrl->returnToParent($this);
527  }
528  }
static _lookupId($a_user_str)
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

◆ allowObjectSelection()

ilRepositorySearchGUI::allowObjectSelection ( bool  $a_value = false)

Definition at line 1376 of file class.ilRepositorySearchGUI.php.

1376  : void
1377  {
1378  $this->object_selection = $a_value;
1379  }

◆ appendSearch()

ilRepositorySearchGUI::appendSearch ( )

Definition at line 835 of file class.ilRepositorySearchGUI.php.

References performSearch(), and ilSession\set().

835  : void
836  {
837  ilSession::set('search_append', true);
838  $this->performSearch();
839  }
static set(string $a_var, $a_val)
Set a value.
+ Here is the call graph for this function:

◆ cancel()

ilRepositorySearchGUI::cancel ( )

Definition at line 435 of file class.ilRepositorySearchGUI.php.

References ILIAS\Repository\ctrl().

435  : void
436  {
437  $this->ctrl->returnToParent($this);
438  }
+ Here is the call graph for this function:

◆ doUserAutoComplete()

ilRepositorySearchGUI::doUserAutoComplete ( )
protected

Definition at line 342 of file class.ilRepositorySearchGUI.php.

References ANONYMOUS_USER_ID, exit, getPrivacyMode(), getUserLimitations(), ILIAS\FileDelivery\http(), ilUserAutoComplete\MAX_ENTRIES, ILIAS\Repository\refinery(), and ILIAS\Repository\user().

342  : ?string
343  {
344  // hide anonymout request
345  if ($this->user->getId() == ANONYMOUS_USER_ID) {
346  echo json_encode(new stdClass(), JSON_THROW_ON_ERROR);
347  exit;
348  }
349  if (!$this->http->wrapper()->query()->has('autoCompleteField')) {
350  $a_fields = [
351  'login',
352  'firstname',
353  'lastname',
354  'email'
355  ];
356  $result_field = 'login';
357  } else {
358  $auto_complete_field = $this->http->wrapper()->query()->retrieve(
359  'autoCompleteField',
360  $this->refinery->kindlyTo()->string()
361  );
362  $a_fields = [$auto_complete_field];
363  $result_field = $auto_complete_field;
364  }
365  $auto = new ilUserAutoComplete();
366  $auto->setPrivacyMode($this->getPrivacyMode());
367 
368  if ($this->http->wrapper()->query()->has('fetchall')) {
369  $auto->setLimit(ilUserAutoComplete::MAX_ENTRIES);
370  }
371 
372  $auto->setMoreLinkAvailable(true);
373  $auto->setSearchFields($a_fields);
374  $auto->setResultField($result_field);
375  $auto->enableFieldSearchableCheck(true);
376  $auto->setUserLimitations($this->getUserLimitations());
377  if (is_callable($this->user_filter)) { // #0024249
378  $auto->addUserAccessFilterCallable(Closure::fromCallable($this->user_filter));
379  }
380 
381  $query = '';
382  if ($this->http->wrapper()->post()->has('term')) {
383  $query = $this->http->wrapper()->post()->retrieve(
384  'term',
385  $this->refinery->kindlyTo()->string()
386  );
387  }
388  if ($query === "") {
389  if ($this->http->wrapper()->query()->has('term')) {
390  $query = $this->http->wrapper()->query()->retrieve(
391  'term',
392  $this->refinery->kindlyTo()->string()
393  );
394  }
395  }
396  echo $auto->getList($query);
397  exit;
398  }
exit
Definition: login.php:29
const ANONYMOUS_USER_ID
Definition: constants.php:27
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static http()
Fetches the global http state from ILIAS.
getUserLimitations()
allow user limitations like inactive and access limitations
+ Here is the call graph for this function:

◆ emptyClipboard()

ilRepositorySearchGUI::emptyClipboard ( )
protected

Definition at line 608 of file class.ilRepositorySearchGUI.php.

References ILIAS\Repository\ctrl(), ilUserClipboard\getInstance(), ILIAS\Repository\lng(), and ILIAS\Repository\user().

608  : void
609  {
610  $clip = ilUserClipboard::getInstance($this->user->getId());
611  $clip->clear();
612  $clip->save();
613 
614  $this->tpl->setOnScreenMessage('success', $this->lng->txt('settings_saved'), true);
615  $this->ctrl->returnToParent($this);
616  }
static getInstance(int $a_usr_id)
+ Here is the call graph for this function:

◆ enableSearchableCheck()

ilRepositorySearchGUI::enableSearchableCheck ( bool  $a_status)

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

156  : void
157  {
158  $this->searchable_check = $a_status;
159  }

◆ executeCommand()

ilRepositorySearchGUI::executeCommand ( )

Definition at line 412 of file class.ilRepositorySearchGUI.php.

References ILIAS\Repository\ctrl().

412  : bool
413  {
414  $next_class = $this->ctrl->getNextClass($this);
415  $cmd = $this->ctrl->getCmd();
416  switch ($next_class) {
417  default:
418  if (!$cmd) {
419  $cmd = "showSearch";
420  }
421  $this->$cmd();
422  break;
423  }
424  return true;
425  }
+ Here is the call graph for this function:

◆ fillAutoCompleteToolbar()

static ilRepositorySearchGUI::fillAutoCompleteToolbar ( object  $parent_object,
ilToolbarGUI  $toolbar = null,
array  $a_options = [],
bool  $a_sticky = false 
)
static

array( auto_complete_name = $lng->txt('user'), auto_complete_size = 15, user_type = array(ilCourseParticipants::CRS_MEMBER,ilCourseParticpants::CRS_TUTOR), submit_name = $lng->txt('add') )

Definition at line 195 of file class.ilRepositorySearchGUI.php.

References $DIC, ilObject\_lookupObjId(), ILIAS\UI\Factory\button(), ilTree\checkForParentType(), ilObject\getId(), ilSubmitButton\getInstance(), ilUserClipboard\getInstance(), ilSplitButtonGUI\getInstance(), ILIAS\Repository\int(), ilLanguage\loadLanguageModule(), and ilLanguage\txt().

Referenced by ilTestParticipantsGUI\addUserSearchControls(), ilObjBlogGUI\contributors(), ilForumModeratorsGUI\detachModeratorRole(), ilOrgUnitUserAssignmentGUI\index(), ilSurveyParticipantsGUI\listAppraiseesObject(), ilExerciseManagementGUI\membersObject(), ilBookingParticipantGUI\render(), ilLearningSequenceMembershipGUI\showParticipantsToolbar(), ilMembershipGUI\showParticipantsToolbar(), ilSkillProfileGUI\showUsers(), ilExSubmissionTeamGUI\submissionScreenTeamObject(), ilObjRoleGUI\userassignmentObject(), and ilIndividualAssessmentMembersGUI\view().

200  : ilToolbarGUI {
201  global $DIC;
202 
203  $ilToolbar = $DIC->toolbar();
204  $lng = $DIC->language();
205  $ilCtrl = $DIC->ctrl();
206  $tree = $DIC->repositoryTree();
207  $user = $DIC->user();
208  $ui_factory = $DIC->ui()->factory();
209  $ui_renderer = $DIC->ui()->renderer();
210 
211  if (!$toolbar instanceof ilToolbarGUI) {
212  $toolbar = $ilToolbar;
213  }
214 
215  // Fill default options
216  if (!isset($a_options['auto_complete_name'])) {
217  $a_options['auto_complete_name'] = $lng->txt('obj_user');
218  }
219  if (!isset($a_options['auto_complete_size'])) {
220  $a_options['auto_complete_size'] = 15;
221  }
222  if (!isset($a_options['submit_name'])) {
223  $a_options['submit_name'] = $lng->txt('btn_add');
224  }
225  if (!isset($a_options['user_type_default'])) {
226  $a_options['user_type_default'] = null;
227  }
228 
229  if (!isset($a_options['add_search'])) {
230  $a_options['add_search'] = false;
231  }
232  if (!isset($a_options['add_from_container'])) {
233  $a_options['add_from_container'] = null;
234  }
235 
236  $ajax_url = $ilCtrl->getLinkTargetByClass(
237  array(get_class($parent_object),'ilRepositorySearchGUI'),
238  'doUserAutoComplete',
239  '',
240  true,
241  false
242  );
243 
244  $ul = new ilTextInputGUI($a_options['auto_complete_name'], 'user_login');
245  $ul->setDataSource($ajax_url);
246  $ul->setSize($a_options['auto_complete_size']);
247  if (!$a_sticky) {
248  $toolbar->addInputItem($ul, true);
249  } else {
250  $toolbar->addStickyItem($ul, true);
251  }
252 
253  if (isset($a_options['user_type']) && count((array) $a_options['user_type'])) {
254  $si = new ilSelectInputGUI("", "user_type");
255  $si->setOptions($a_options['user_type']);
256  $si->setValue($a_options['user_type_default']);
257  if (!$a_sticky) {
258  $toolbar->addInputItem($si);
259  } else {
260  $toolbar->addStickyItem($si);
261  }
262  }
263 
265  if ($clip->hasContent()) {
266  $action_button = ilSplitButtonGUI::getInstance();
267 
268  $add_button = ilSubmitButton::getInstance();
269  $add_button->setCaption($a_options['submit_name'], false);
270  $add_button->setCommand('addUserFromAutoComplete');
271 
272  $action_button->setDefaultButton($add_button);
273 
274  $clip_button = ilSubmitButton::getInstance();
275  $clip_button->addCSSClass('btn btndefault');
276  $lng->loadLanguageModule('user');
277  $clip_button->setCaption($lng->txt('clipboard_add_from_btn'), false);
278  $clip_button->setCommand('showClipboard');
279 
280  $action_button->addMenuItem(new ilButtonToSplitButtonMenuItemAdapter($clip_button));
281 
282  $toolbar->addButtonInstance($action_button);
283  } else {
284  $button = ilSubmitButton::getInstance();
285  $button->setCaption($a_options['submit_name'], false);
286  $button->setCommand('addUserFromAutoComplete');
287  if (!$a_sticky) {
288  $toolbar->addButtonInstance($button);
289  } else {
290  $toolbar->addStickyItem($button);
291  }
292  }
293 
294  if ($a_options['add_search'] ||
295  is_numeric($a_options['add_from_container'])) {
296  $lng->loadLanguageModule("search");
297 
298  $toolbar->addSeparator();
299 
300  if ($a_options['add_search']) {
301  $button = $ui_factory->button()->standard(
302  $lng->txt('search_users'),
303  $ilCtrl->getLinkTargetByClass(strtolower(self::class), '')
304  );
305  $toolbar->addComponent($button);
306  }
307 
308  if (is_numeric($a_options['add_from_container'])) {
309  $parent_ref_id = (int) $a_options['add_from_container'];
310  $parent_container_ref_id = $tree->checkForParentType($parent_ref_id, "grp");
311  $parent_container_type = "grp";
312  if (!$parent_container_ref_id) {
313  $parent_container_ref_id = $tree->checkForParentType($parent_ref_id, "crs");
314  $parent_container_type = "crs";
315  }
316  if ($parent_container_ref_id) {
317  if ($a_options['add_search']) {
318  $toolbar->addSpacer();
319  }
320 
321  $ilCtrl->setParameterByClass('ilRepositorySearchGUI', "list_obj", ilObject::_lookupObjId($parent_container_ref_id));
322 
323  $button = $ui_factory->button()->standard(
324  $lng->txt('search_add_members_from_container_' . $parent_container_type),
325  $ilCtrl->getLinkTargetByClass(array(get_class($parent_object),'ilRepositorySearchGUI'), 'listUsers')
326  );
327  $toolbar->addComponent($button);
328  }
329  }
330  }
331 
332  $toolbar->setFormAction(
333  $ilCtrl->getFormActionByClass(
334  array(
335  get_class($parent_object),
336  'ilRepositorySearchGUI')
337  )
338  );
339  return $toolbar;
340  }
This class represents a selection list property in a property form.
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setFormAction(string $a_val, bool $a_multipart=false, string $a_target="")
Set form action (if form action is set, toolbar is wrapped into form tags)
addComponent(\ILIAS\UI\Component\Component $a_comp)
loadLanguageModule(string $a_module)
Load language module.
addButtonInstance(ilButtonBase $a_button)
Add button instance.
static _lookupObjId(int $ref_id)
global $DIC
Definition: feed.php:28
checkForParentType(int $a_ref_id, string $a_type, bool $a_exclude_source_check=false)
Check for parent type e.g check if a folder (ref_id 3) is in a parent course obj => checkForParentTyp...
addSpacer(string $a_width=null)
button()
description: purpose: > Buttons trigger interactions that change the system’s or view's status...
addStickyItem( $a_item, bool $a_output_label=false)
Add a sticky item.
addInputItem(ilToolbarItem $a_item, bool $a_output_label=false)
static getInstance(int $a_usr_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPrivacyMode()

ilRepositorySearchGUI::getPrivacyMode ( )

Definition at line 171 of file class.ilRepositorySearchGUI.php.

References $privacy_mode.

Referenced by doUserAutoComplete(), performSearch(), and showSearch().

171  : int
172  {
173  return $this->privacy_mode;
174  }
+ Here is the caller graph for this function:

◆ getRoleCallback()

ilRepositorySearchGUI::getRoleCallback ( )

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

References $role_callback.

181  : array
182  {
183  return $this->role_callback;
184  }

◆ getSearchType()

ilRepositorySearchGUI::getSearchType ( )

Definition at line 176 of file class.ilRepositorySearchGUI.php.

References $search_type.

176  : string
177  {
178  return $this->search_type;
179  }

◆ getString()

ilRepositorySearchGUI::getString ( )

Definition at line 407 of file class.ilRepositorySearchGUI.php.

References $string.

407  : string
408  {
409  return $this->string;
410  }

◆ getTitle()

ilRepositorySearchGUI::getTitle ( )

Definition at line 151 of file class.ilRepositorySearchGUI.php.

References $search_title.

Referenced by initFormSearch().

151  : string
152  {
153  return $this->search_title;
154  }
+ Here is the caller graph for this function:

◆ getUserLimitations()

ilRepositorySearchGUI::getUserLimitations ( )

allow user limitations like inactive and access limitations

Definition at line 1426 of file class.ilRepositorySearchGUI.php.

References $user_limitations.

Referenced by doUserAutoComplete(), and showSearchUserTable().

1426  : bool
1427  {
1428  return $this->user_limitations;
1429  }
+ Here is the caller graph for this function:

◆ handleMultiCommand()

ilRepositorySearchGUI::handleMultiCommand ( )
protected

Definition at line 619 of file class.ilRepositorySearchGUI.php.

References ILIAS\FileDelivery\http(), ILIAS\Repository\refinery(), and showSearchResults().

619  : void
620  {
621  $class = $this->callback['class'];
622  $method = $this->callback['method'];
623 
624  $post_user = (array) ($this->http->request()->getParsedBody()['user'] ?? []);
625  $post_selected_command = '';
626  if (
627  $this->http->wrapper()->post()->has('table_top_cmd') &&
628  $this->http->wrapper()->post()->has('selectedCommand_2')
629  ) {
630  $post_selected_command = $this->http->wrapper()->post()->retrieve(
631  'selectedCommand_2',
632  $this->refinery->kindlyTo()->string()
633  );
634  } elseif ($this->http->wrapper()->post()->has('selectedCommand')) {
635  $post_selected_command = $this->http->wrapper()->post()->retrieve(
636  'selectedCommand',
637  $this->refinery->kindlyTo()->string()
638  );
639  }
640  // Redirects if everything is ok
641  if (!$class->$method($post_user, $post_selected_command)) {
642  $this->showSearchResults();
643  }
644  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

◆ initFormSearch()

ilRepositorySearchGUI::initFormSearch ( ilObjUser  $user = null)

Definition at line 704 of file class.ilRepositorySearchGUI.php.

References $form, $txt, ilUserSearchOptions\_getSearchableFieldsInfo(), ilUserSearchOptions\_isEnabled(), ilRadioOption\addSubItem(), ILIAS\Repository\ctrl(), ilUserSearchOptions\FIELD_TYPE_MULTI, ilUserSearchOptions\FIELD_TYPE_SELECT, ilUserSearchOptions\FIELD_TYPE_TEXT, ilUserSearchOptions\FIELD_TYPE_UDF_SELECT, ilUserSearchOptions\FIELD_TYPE_UDF_TEXT, ilUserSearchOptions\FIELD_TYPE_UDF_UNDEFINED, ILIAS\Repository\form(), ilObjUser\getFirstname(), ilObjUser\getLastname(), ilObjUser\getLogin(), ilObjOrgUnit\getRootOrgRefId(), getTitle(), isSearchableCheckEnabled(), ILIAS\Repository\lng(), and ilRadioGroupInputGUI\setValue().

Referenced by showSearch().

704  : void
705  {
706  $this->form = new ilPropertyFormGUI();
707  $this->form->setFormAction($this->ctrl->getFormAction($this, 'showSearch'));
708  $this->form->setTitle($this->getTitle());
709  $this->form->addCommandButton('performSearch', $this->lng->txt('search'));
710  $this->form->addCommandButton('cancel', $this->lng->txt('cancel'));
711 
712 
713  $kind = new ilRadioGroupInputGUI($this->lng->txt('search_type'), 'search_for');
714  $kind->setValue($this->search_type);
715  $this->form->addItem($kind);
716 
717  // Users
718  $users = new ilRadioOption($this->lng->txt('search_for_users'), 'usr');
719 
720  // UDF
722  switch ($info['type'] ?? ilUserSearchOptions::FIELD_TYPE_UDF_UNDEFINED) {
725 
726  $sel = new ilSelectInputGUI($info['lang'], "rep_query[usr][" . $info['db'] . "]");
727  $sel->setOptions($info['values']);
728  $users->addSubItem($sel);
729  break;
730 
734 
735  if (isset($info['autoComplete']) and $info['autoComplete']) {
736  $this->ctrl->setParameterByClass(get_class($this), 'autoCompleteField', $info['db']);
737  $ul = new ilTextInputGUI($info['lang'], "rep_query[usr][" . $info['db'] . "]");
738  $ul->setDataSourceSubmitOnSelection(true);
739  $ul->setDataSourceSubmitUrl(
740  $this->ctrl->getLinkTarget(
741  $this,
742  'showSearchSelected',
743  '',
744  false,
745  false
746  )
747  );
748  $ul->setDataSource($this->ctrl->getLinkTarget(
749  $this,
750  "doUserAutoComplete",
751  "",
752  true
753  ));
754  $ul->setSize(30);
755  $ul->setMaxLength(120);
756 
757  if ($user instanceof ilObjUser) {
758  switch ($info['db']) {
759  case 'firstname':
760  $ul->setValue($user->getFirstname());
761  break;
762  case 'lastname':
763  $ul->setValue($user->getLastname());
764  break;
765  case 'login':
766  $ul->setValue($user->getLogin());
767  break;
768  }
769  }
770 
771 
772 
773  $users->addSubItem($ul);
774  } else {
775  $txt = new ilTextInputGUI($info['lang'], "rep_query[usr][" . $info['db'] . "]");
776  $txt->setSize(30);
777  $txt->setMaxLength(120);
778  $users->addSubItem($txt);
779  }
780  break;
781  }
782  }
783  $kind->addOption($users);
784 
785 
786 
787  // Role
788  $roles = new ilRadioOption($this->lng->txt('search_for_role_members'), 'role');
789  $role = new ilTextInputGUI($this->lng->txt('search_role_title'), 'rep_query[role][title]');
790  $role->setSize(30);
791  $role->setMaxLength(120);
792  $roles->addSubItem($role);
793  $kind->addOption($roles);
794 
795  // Course
796  $groups = new ilRadioOption($this->lng->txt('search_for_crs_members'), 'crs');
797  $group = new ilTextInputGUI($this->lng->txt('search_crs_title'), 'rep_query[crs][title]');
798  $group->setSize(30);
799  $group->setMaxLength(120);
800  $groups->addSubItem($group);
801  $kind->addOption($groups);
802 
803  // Group
804  $groups = new ilRadioOption($this->lng->txt('search_for_grp_members'), 'grp');
805  $group = new ilTextInputGUI($this->lng->txt('search_grp_title'), 'rep_query[grp][title]');
806  $group->setSize(30);
807  $group->setMaxLength(120);
808  $groups->addSubItem($group);
809  $kind->addOption($groups);
810 
811  // Orgus
812  if (ilUserSearchOptions::_isEnabled("org_units")) {
813  $orgus = new ilRadioOption($this->lng->txt('search_for_orgu_members'), 'orgu');
814  $orgu = new ilRepositorySelector2InputGUI(
815  $this->lng->txt('select_orgu'),
816  'rep_query_orgu',
817  true,
819  );
820  $orgu->getExplorerGUI()->setSelectableTypes(["orgu"]);
821  $orgu->getExplorerGUI()->setTypeWhiteList(["root", "orgu"]);
822  $orgu->getExplorerGUI()->setRootId(ilObjOrgUnit::getRootOrgRefId());
823  $orgu->getExplorerGUI()->setAjax(false);
824  $orgus->addSubItem($orgu);
825  $kind->addOption($orgus);
826  }
827  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a selection list property in a property form.
This class represents a property in a property form.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$txt
Definition: error.php:14
static _getSearchableFieldsInfo(bool $a_admin=false)
static getRootOrgRefId()
form( $class_path, string $cmd, string $submit_caption="")
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initUserTypeFromPost()

ilRepositorySearchGUI::initUserTypeFromPost ( )
protected

Definition at line 122 of file class.ilRepositorySearchGUI.php.

References ILIAS\FileDelivery\http(), and ILIAS\Repository\refinery().

Referenced by addFromClipboard(), addUserFromAutoComplete(), and showClipboard().

122  : string
123  {
124  if ($this->http->wrapper()->post()->has('user_type')) {
125  return $this->http->wrapper()->post()->retrieve(
126  'user_type',
127  $this->refinery->kindlyTo()->string()
128  );
129  }
130  return '';
131  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initUserTypeFromQuery()

ilRepositorySearchGUI::initUserTypeFromQuery ( )
protected

Definition at line 111 of file class.ilRepositorySearchGUI.php.

References ILIAS\FileDelivery\http(), and ILIAS\Repository\refinery().

Referenced by addFromClipboard(), removeFromClipboard(), and showClipboard().

111  : string
112  {
113  if ($this->http->wrapper()->query()->has('user_type')) {
114  return $this->http->wrapper()->query()->retrieve(
115  'user_type',
116  $this->refinery->kindlyTo()->string()
117  );
118  }
119  return '';
120  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isSearchableCheckEnabled()

ilRepositorySearchGUI::isSearchableCheckEnabled ( )

Definition at line 161 of file class.ilRepositorySearchGUI.php.

References $searchable_check.

Referenced by __performUserSearch(), and initFormSearch().

161  : bool
162  {
164  }
+ Here is the caller graph for this function:

◆ listUsers()

ilRepositorySearchGUI::listUsers ( array  $selected_entries = [])
protected

Definition at line 1253 of file class.ilRepositorySearchGUI.php.

References __appendToStoredResults(), ilObject\_getAllReferences(), ilObject\_lookupType(), addNewSearchButton(), ILIAS\Repository\filter(), ilSession\get(), ilOrgUnitUserAssignmentQueries\getInstance(), ilUserFilter\getInstance(), ilParticipants\getInstanceByObjId(), ilParticipants\hasParticipantListAccess(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), ilSession\set(), showSearchResults(), and showSearchUserTable().

Referenced by performSearch(), and storedUserList().

1253  : bool
1254  {
1255  // get parameter is used e.g. in exercises to provide
1256  // "add members of course" link
1257  if (
1258  $this->http->wrapper()->post()->has('obj') &&
1259  !count($selected_entries)
1260  ) {
1261  $selected_entries = $this->http->wrapper()->post()->retrieve(
1262  'obj',
1263  $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int())
1264  );
1265  }
1266  if (
1267  $this->http->wrapper()->query()->has('list_obj') &&
1268  !count($selected_entries)
1269  ) {
1270  $selected_entries[] = $this->http->wrapper()->query()->retrieve(
1271  'list_obj',
1272  $this->refinery->kindlyTo()->int()
1273  );
1274  }
1275  if (!count($selected_entries)) {
1276  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('select_one'));
1277  $this->showSearchResults();
1278  return false;
1279  }
1280  $rep_search = ilSession::get('rep_search') ?? [];
1281  $rep_search['objs'] = $selected_entries;
1282  ilSession::set('rep_search', $rep_search);
1283 
1284  // Get all members
1285  $members = array();
1286  foreach ($selected_entries as $obj_id) {
1287  $type = ilObject::_lookupType($obj_id);
1288  switch ($type) {
1289  case 'crs':
1290  case 'grp':
1292  $part = [];
1293  if (is_callable($this->user_filter)) {
1294  $part = call_user_func_array(
1295  $this->user_filter,
1296  [
1297  ilParticipants::getInstanceByObjId($obj_id)->getParticipants()
1298  ]
1299  );
1300  } else {
1301  $part = ilParticipants::getInstanceByObjId($obj_id)->getParticipants();
1302  }
1303 
1304  $members = array_merge((array) $members, $part);
1305  }
1306  break;
1307 
1308  case 'role':
1309  $assigned = [];
1310  if (is_callable($this->user_filter)) {
1311  $assigned = call_user_func_array(
1312  $this->user_filter,
1313  [
1314  $this->rbacreview->assignedUsers($obj_id)
1315  ]
1316  );
1317  } else {
1318  $assigned = $this->rbacreview->assignedUsers($obj_id);
1319  }
1320 
1321  $members = array_merge($members, ilUserFilter::getInstance()->filter($assigned));
1322  break;
1323  case 'orgu':
1324  if ($ref_ids = ilObject::_getAllReferences($obj_id)) {
1326  ->getUserIdsOfOrgUnit(array_shift($ref_ids));
1327  if (is_callable($this->user_filter)) {
1328  $assigned = call_user_func_array(
1329  $this->user_filter,
1330  [$assigned]
1331  );
1332  }
1333 
1334  $members = array_merge(
1335  $members,
1336  $assigned
1337  );
1338  }
1339  break;
1340  }
1341  }
1342  $members = array_unique($members);
1343  $this->__appendToStoredResults($members);
1344 
1345  $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.rep_search_result.html', 'Services/Search');
1346 
1347  $this->addNewSearchButton();
1348  $rep_search = ilSession::get('rep_search');
1349  $this->showSearchUserTable($rep_search['usr'] ?? [], 'storedUserList');
1350  return true;
1351  }
static get(string $a_var)
static _getAllReferences(int $id)
get all reference ids for object ID
static getInstanceByObjId(int $a_obj_id)
Get instance by obj type.
static http()
Fetches the global http state from ILIAS.
static hasParticipantListAccess(int $a_obj_id, int $a_usr_id=null)
Check if (current) user has access to the participant list.
filter(string $filter_id, $class_path, string $cmd, bool $activated=true, bool $expanded=true)
static _lookupType(int $id, bool $reference=false)
static set(string $a_var, $a_val)
Set a value.
showSearchUserTable(array $a_usr_ids, string $a_parent_cmd)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ performSearch()

ilRepositorySearchGUI::performSearch ( )

Definition at line 841 of file class.ilRepositorySearchGUI.php.

References $message, $ref_id, $res, __performCourseSearch(), __performGroupSearch(), __performRoleSearch(), __performUserSearch(), __updateResults(), ilObject\_lookupObjId(), ilSession\clear(), ILIAS\Repository\filter(), ilUserFilter\getInstance(), getPrivacyMode(), ILIAS\FileDelivery\http(), listUsers(), ILIAS\Repository\lng(), ilUserAutoComplete\PRIVACY_MODE_RESPECT_USER_SETTING, ROOT_FOLDER_ID, ILIAS\Repository\settings(), show(), showSearch(), start(), and ilUtil\stripSlashes().

Referenced by appendSearch().

841  : bool
842  {
843  // only autocomplete input field, no search form if user privay should be respected
844  // see bug 25481
846  return false;
847  }
848  $found_query = false;
849 
850  $post_rep_query = (array) ($this->http->request()->getParsedBody()['rep_query'] ?? []);
851  $post_search_for = (string) ($this->http->request()->getParsedBody()['search_for'] ?? '');
852  if (isset($post_rep_query[$post_search_for])) {
853  foreach ((array) $post_rep_query[$post_search_for] as $field => $value) {
854  if (trim(ilUtil::stripSlashes($value))) {
855  $found_query = true;
856  break;
857  }
858  }
859  }
860  if ($this->http->wrapper()->post()->has('rep_query_orgu')) {
861  $found_query = true;
862  }
863  if (!$found_query) {
864  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('msg_no_search_string'));
865  $this->start();
866  return false;
867  }
868 
869  $post_cmd = (array) ($this->http->request()->getParsedBody()['cmd'] ?? []);
870  // unset search_append if called directly
871  if (isset($post_cmd['performSearch'])) {
872  ilSession::clear('search_append');
873  }
874 
875  switch ($this->search_type) {
876  case 'usr':
877  $this->__performUserSearch();
878  break;
879 
880  case 'grp':
881  $this->__performGroupSearch();
882  break;
883 
884  case 'crs':
885  $this->__performCourseSearch();
886  break;
887 
888  case 'role':
889  $this->__performRoleSearch();
890  break;
891  case 'orgu':
892  $post_rep_query_orgu = (array) ($this->http->request()->getParsedBody()['rep_query_orgu'] ?? []);
893  $selected_objects = array_map(
894  function ($ref_id) {
895  return ilObject::_lookupObjId((int) $ref_id);
896  },
897  $post_rep_query_orgu
898  );
899  return $this->listUsers($selected_objects);
900  default:
901  echo 'not defined';
902  }
903 
904  $this->result_obj->setRequiredPermission('read');
905  $this->result_obj->addObserver($this, 'searchResultFilterListener');
906  $this->result_obj->filter(ROOT_FOLDER_ID, true);
907 
908  // User access filter
909  if ($this->search_type == 'usr') {
910  $callable_name = '';
911  if (is_callable($this->user_filter, true, $callable_name)) {
912  $result_ids = call_user_func_array($this->user_filter, [$this->result_obj->getResultIds()]);
913  } else {
914  $result_ids = $this->result_obj->getResultIds();
915  }
916 
917  $this->search_results = array_intersect(
918  $result_ids,
919  ilUserFilter::getInstance()->filter($result_ids)
920  );
921  } else {
922  $this->search_results = array();
923  foreach ($this->result_obj->getResults() as $res) {
924  $this->search_results[] = $res['obj_id'];
925  }
926  }
927 
928  if (!count($this->search_results)) {
929  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('search_no_match'));
930  $this->showSearch();
931  return true;
932  }
933  $this->__updateResults();
934  if ($this->result_obj->isLimitReached()) {
935  $message = sprintf($this->lng->txt('search_limit_reached'), $this->settings->getMaxHits());
936  $this->tpl->setOnScreenMessage('info', $message);
937  return true;
938  }
939  // show results
940  $this->show();
941  return true;
942  }
$res
Definition: ltiservices.php:69
const ROOT_FOLDER_ID
Definition: constants.php:32
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
listUsers(array $selected_entries=[])
static _lookupObjId(int $ref_id)
$ref_id
Definition: ltiauth.php:67
static http()
Fetches the global http state from ILIAS.
$message
Definition: xapiexit.php:32
filter(string $filter_id, $class_path, string $cmd, bool $activated=true, bool $expanded=true)
static clear(string $a_var)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeFromClipboard()

ilRepositorySearchGUI::removeFromClipboard ( )
protected

Definition at line 581 of file class.ilRepositorySearchGUI.php.

References ILIAS\Repository\ctrl(), ilUserClipboard\getInstance(), ILIAS\FileDelivery\http(), initUserTypeFromQuery(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), and ILIAS\Repository\user().

581  : void
582  {
583  $users = [];
584  if ($this->http->wrapper()->post()->has('uids')) {
585  $users = $this->http->wrapper()->post()->retrieve(
586  'uids',
587  $this->refinery->kindlyTo()->listOf(
588  $this->refinery->kindlyTo()->int()
589  )
590  );
591  }
592 
593  $this->ctrl->setParameter($this, 'user_type', $this->initUserTypeFromQuery());
594  if (!count($users)) {
595  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('select_one'), true);
596  $this->ctrl->redirect($this, 'showClipboard');
597  }
598 
599  $clip = ilUserClipboard::getInstance($this->user->getId());
600  $clip->delete($users);
601  $clip->save();
602 
603  $this->tpl->setOnScreenMessage('success', $this->lng->txt('settings_saved'), true);
604  $this->ctrl->redirect($this, 'showClipboard');
605  }
static http()
Fetches the global http state from ILIAS.
static getInstance(int $a_usr_id)
+ Here is the call graph for this function:

◆ searchResultFilterListener()

ilRepositorySearchGUI::searchResultFilterListener ( int  $a_ref_id,
array  $a_data 
)

Listener called from ilSearchResult Id is obj_id for role, usr Id is ref_id for crs grp.

Definition at line 1366 of file class.ilRepositorySearchGUI.php.

References ANONYMOUS_USER_ID.

1366  : bool
1367  {
1368  if ($a_data['type'] == 'usr') {
1369  if ($a_data['obj_id'] == ANONYMOUS_USER_ID) {
1370  return false;
1371  }
1372  }
1373  return true;
1374  }
const ANONYMOUS_USER_ID
Definition: constants.php:27

◆ selectObject()

ilRepositorySearchGUI::selectObject ( )
protected

Return selection of course/group/roles to calling script.

Definition at line 1384 of file class.ilRepositorySearchGUI.php.

References ILIAS\Repository\ctrl(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), and showSearchResults().

1384  : bool
1385  {
1386  // get parameter is used e.g. in exercises to provide
1387  // "add members of course"
1388  $selected_entries = [];
1389  if ($this->http->wrapper()->post()->has('obj')) {
1390  $selected_entries = $this->http->wrapper()->post()->retrieve(
1391  'obj',
1392  $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int())
1393  );
1394  }
1395  if (
1396  $this->http->wrapper()->query()->has('list_obj') &&
1397  !count($selected_entries)
1398  ) {
1399  $selected_entries[] = $this->http->wrapper()->query()->retrieve(
1400  'list_obj',
1401  $this->refinery->kindlyTo()->int()
1402  );
1403  }
1404 
1405  if (!count($selected_entries)) {
1406  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('select_one'));
1407  $this->showSearchResults();
1408  return false;
1409  }
1410  $this->ctrl->setParameter($this->callback["class"], "obj", implode(";", $selected_entries));
1411  $this->ctrl->redirect($this->callback["class"], $this->callback["method"]);
1412  return true;
1413  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

◆ setCallback()

ilRepositorySearchGUI::setCallback ( object  $class,
string  $method,
array  $a_add_options = [],
string  $default_option = '' 
)
Parameters
string[]$a_add_options

Definition at line 649 of file class.ilRepositorySearchGUI.php.

References $default_option.

654  : void {
655  $this->callback = array('class' => $class,'method' => $method);
656  $this->add_options = $a_add_options;
657  $this->default_option = $default_option;
658  }

◆ setPermissionQueryCallback()

ilRepositorySearchGUI::setPermissionQueryCallback ( object  $class,
string  $method 
)

Definition at line 675 of file class.ilRepositorySearchGUI.php.

675  : void
676  {
677  }

◆ setPrivacyMode()

ilRepositorySearchGUI::setPrivacyMode ( int  $privacy_mode)

Definition at line 166 of file class.ilRepositorySearchGUI.php.

References $privacy_mode.

166  : void
167  {
168  $this->privacy_mode = $privacy_mode;
169  }

◆ setRoleCallback()

ilRepositorySearchGUI::setRoleCallback ( object  $class,
string  $method,
array  $a_add_options = [],
string  $default_option = '' 
)
Parameters
string[]$a_add_options

Definition at line 663 of file class.ilRepositorySearchGUI.php.

References $default_option.

668  : void {
669  $this->role_callback = array('class' => $class,'method' => $method);
670  $this->add_options = $a_add_options;
671  $this->default_option = $default_option;
672  }

◆ setString()

ilRepositorySearchGUI::setString ( string  $a_str)

Definition at line 401 of file class.ilRepositorySearchGUI.php.

References ilSession\get(), and ilSession\set().

401  : void
402  {
403  $search = ilSession::get('search');
404  $search['string'] = $this->string = $a_str;
405  ilSession::set('search', $search);
406  }
static get(string $a_var)
static set(string $a_var, $a_val)
Set a value.
+ Here is the call graph for this function:

◆ setTitle()

ilRepositorySearchGUI::setTitle ( string  $a_title)

Definition at line 146 of file class.ilRepositorySearchGUI.php.

Referenced by __construct().

146  : void
147  {
148  $this->search_title = $a_title;
149  }
+ Here is the caller graph for this function:

◆ setUserLimitations()

ilRepositorySearchGUI::setUserLimitations ( bool  $a_limitations)

allow user limitations like inactive and access limitations

Definition at line 1418 of file class.ilRepositorySearchGUI.php.

1418  : void
1419  {
1420  $this->user_limitations = $a_limitations;
1421  }

◆ show()

ilRepositorySearchGUI::show ( )

Definition at line 830 of file class.ilRepositorySearchGUI.php.

References showSearchResults().

Referenced by performSearch().

830  : void
831  {
832  $this->showSearchResults();
833  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showClipboard()

ilRepositorySearchGUI::showClipboard ( )
protected

Definition at line 530 of file class.ilRepositorySearchGUI.php.

References ILIAS\Repository\ctrl(), initUserTypeFromPost(), initUserTypeFromQuery(), ILIAS\Repository\lng(), ilTable2GUI\setFormAction(), ILIAS\Repository\tabs(), and ILIAS\Repository\user().

530  : void
531  {
532  $user_type = $this->initUserTypeFromQuery();
533  if ($user_type === '') {
534  $user_type = $this->initUserTypeFromPost();
535  }
536  $this->ctrl->setParameter($this, 'user_type', $user_type);
537  $this->tabs->clearTargets();
538  $this->tabs->setBackTarget(
539  $this->lng->txt('back'),
540  $this->ctrl->getParentReturn($this)
541  );
542 
543  $clip = new ilUserClipboardTableGUI($this, 'showClipboard', $this->user->getId());
544  $clip->setFormAction($this->ctrl->getFormAction($this));
545  $clip->init();
546  $clip->parse();
547 
548  $this->tpl->setContent($clip->getHTML());
549  }
setFormAction(string $a_form_action, bool $a_multipart=false)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ showSearch()

ilRepositorySearchGUI::showSearch ( )

Definition at line 679 of file class.ilRepositorySearchGUI.php.

References ILIAS\Repository\form(), getPrivacyMode(), initFormSearch(), and ilUserAutoComplete\PRIVACY_MODE_RESPECT_USER_SETTING.

Referenced by performSearch(), and start().

679  : void
680  {
681  // only autocomplete input field, no search form if user privay should be respected
682  // see bug 25481
684  return;
685  }
686  $this->initFormSearch();
687  $this->tpl->setContent($this->form->getHTML());
688  }
initFormSearch(ilObjUser $user=null)
form( $class_path, string $cmd, string $submit_caption="")
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showSearchCourseTable()

ilRepositorySearchGUI::showSearchCourseTable ( array  $a_obj_ids)
protected

Definition at line 1245 of file class.ilRepositorySearchGUI.php.

Referenced by showSearchResults().

1245  : void
1246  {
1247  $table = new ilRepositoryObjectResultTableGUI($this, 'showSearchResults', $this->object_selection);
1248  $table->parseObjectIds($a_obj_ids);
1249 
1250  $this->tpl->setVariable('RES_TABLE', $table->getHTML());
1251  }
TableGUI class object (course,group and role) search results Used in member search.
+ Here is the caller graph for this function:

◆ showSearchGroupTable()

ilRepositorySearchGUI::showSearchGroupTable ( array  $a_obj_ids)
protected

Definition at line 1237 of file class.ilRepositorySearchGUI.php.

Referenced by showSearchResults().

1237  : void
1238  {
1239  $table = new ilRepositoryObjectResultTableGUI($this, 'showSearchResults', $this->object_selection);
1240  $table->parseObjectIds($a_obj_ids);
1241 
1242  $this->tpl->setVariable('RES_TABLE', $table->getHTML());
1243  }
TableGUI class object (course,group and role) search results Used in member search.
+ Here is the caller graph for this function:

◆ showSearchResults()

ilRepositorySearchGUI::showSearchResults ( )

Definition at line 1164 of file class.ilRepositorySearchGUI.php.

References addNewSearchButton(), ilSession\get(), showSearchCourseTable(), showSearchGroupTable(), showSearchRoleTable(), and showSearchUserTable().

Referenced by addRole(), addUser(), handleMultiCommand(), listUsers(), selectObject(), and show().

1164  : void
1165  {
1166  $counter = 0;
1167  $f_result = array();
1168 
1169  $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.rep_search_result.html', 'Services/Search');
1170  $this->addNewSearchButton();
1171 
1172  $rep_search = ilSession::get('rep_search');
1173 
1174  switch ($this->search_type) {
1175  case "usr":
1176  $this->showSearchUserTable($rep_search['usr'] ?? [], 'showSearchResults');
1177  break;
1178 
1179  case 'grp':
1180  $this->showSearchGroupTable($rep_search['grp'] ?? []);
1181  break;
1182 
1183  case 'crs':
1184  $this->showSearchCourseTable($rep_search['crs'] ?? []);
1185  break;
1186 
1187  case 'role':
1188  $this->showSearchRoleTable($rep_search['role'] ?? []);
1189  break;
1190  }
1191  }
static get(string $a_var)
showSearchUserTable(array $a_usr_ids, string $a_parent_cmd)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showSearchRoleTable()

ilRepositorySearchGUI::showSearchRoleTable ( array  $a_obj_ids)
protected

Definition at line 1229 of file class.ilRepositorySearchGUI.php.

Referenced by showSearchResults().

1229  : void
1230  {
1231  $table = new ilRepositoryObjectResultTableGUI($this, 'showSearchResults', $this->object_selection);
1232  $table->parseObjectIds($a_obj_ids);
1233 
1234  $this->tpl->setVariable('RES_TABLE', $table->getHTML());
1235  }
TableGUI class object (course,group and role) search results Used in member search.
+ Here is the caller graph for this function:

◆ showSearchSelected()

ilRepositorySearchGUI::showSearchSelected ( )

Definition at line 690 of file class.ilRepositorySearchGUI.php.

References addNewSearchButton(), ILIAS\FileDelivery\http(), ILIAS\Repository\refinery(), and showSearchUserTable().

690  : void
691  {
692  $selected = [];
693  if ($this->http->wrapper()->query()->has('selected_id')) {
694  $selected = $this->http->wrapper()->query()->retrieve(
695  'selected_id',
696  $this->refinery->kindlyTo()->int()
697  );
698  }
699  $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.rep_search_result.html', 'Services/Search');
700  $this->addNewSearchButton();
701  $this->showSearchUserTable([$selected], 'showSearchResults');
702  }
static http()
Fetches the global http state from ILIAS.
showSearchUserTable(array $a_usr_ids, string $a_parent_cmd)
+ Here is the call graph for this function:

◆ showSearchUserTable()

ilRepositorySearchGUI::showSearchUserTable ( array  $a_usr_ids,
string  $a_parent_cmd 
)
protected

Definition at line 1193 of file class.ilRepositorySearchGUI.php.

References $default_option, ILIAS\Repository\ctrl(), getUserLimitations(), ILIAS\FileDelivery\http(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), and ilSession\set().

Referenced by listUsers(), showSearchResults(), and showSearchSelected().

1193  : void
1194  {
1195  $base_class = '';
1196  if ($this->http->wrapper()->query()->has('baseClass')) {
1197  $base_class = $this->http->wrapper()->query()->retrieve(
1198  'baseClass',
1199  $this->refinery->kindlyTo()->string()
1200  );
1201  }
1202 
1203  // String value of 'baseClass' is in lower case
1204  $is_in_admin = ($base_class === strtolower(ilAdministrationGUI::class));
1205 
1206  if ($is_in_admin) {
1207  // remember link target to admin search gui (this)
1208  ilSession::set('usr_search_link', $this->ctrl->getLinkTarget($this, 'show'));
1209  }
1210 
1211  $table = new ilRepositoryUserResultTableGUI($this, $a_parent_cmd, $is_in_admin);
1212  if (count($this->add_options)) {
1213  $table->addMultiItemSelectionButton(
1214  'selectedCommand',
1215  $this->add_options,
1216  'handleMultiCommand',
1217  $this->lng->txt('execute'),
1219  );
1220  } else {
1221  $table->addMultiCommand('addUser', $this->lng->txt('btn_add'));
1222  }
1223  $table->setUserLimitations($this->getUserLimitations());
1224  $table->parseUserIds($a_usr_ids);
1225 
1226  $this->tpl->setVariable('RES_TABLE', $table->getHTML());
1227  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static http()
Fetches the global http state from ILIAS.
getUserLimitations()
allow user limitations like inactive and access limitations
static set(string $a_var, $a_val)
Set a value.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ start()

ilRepositorySearchGUI::start ( )

Definition at line 440 of file class.ilRepositorySearchGUI.php.

References __clearSession(), and showSearch().

Referenced by performSearch().

440  : bool
441  {
442  // delete all session info
443  $this->__clearSession();
444  $this->showSearch();
445 
446  return true;
447  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ storedUserList()

ilRepositorySearchGUI::storedUserList ( )
protected

Definition at line 1353 of file class.ilRepositorySearchGUI.php.

References ilSession\get(), and listUsers().

1353  : bool
1354  {
1355  $rep_search = ilSession::get('rep_search');
1356  $objects = $rep_search['objs'] ?? [];
1357  $this->listUsers($objects);
1358  return true;
1359  }
static get(string $a_var)
listUsers(array $selected_entries=[])
+ Here is the call graph for this function:

Field Documentation

◆ $add_options

array ilRepositorySearchGUI::$add_options = []
protected

Definition at line 42 of file class.ilRepositorySearchGUI.php.

◆ $callback

array ilRepositorySearchGUI::$callback = []
protected

Definition at line 54 of file class.ilRepositorySearchGUI.php.

◆ $ctrl

ilCtrl ilRepositorySearchGUI::$ctrl
protected

Definition at line 71 of file class.ilRepositorySearchGUI.php.

◆ $default_option

string ilRepositorySearchGUI::$default_option = ''
protected

◆ $form

ilPropertyFormGUI ilRepositorySearchGUI::$form = null
protected

Definition at line 59 of file class.ilRepositorySearchGUI.php.

Referenced by initFormSearch().

◆ $http

GlobalHttpState ilRepositorySearchGUI::$http
private

Definition at line 77 of file class.ilRepositorySearchGUI.php.

◆ $lng

ilLanguage ilRepositorySearchGUI::$lng
protected

◆ $object_selection

bool ilRepositorySearchGUI::$object_selection = false
protected

Definition at line 44 of file class.ilRepositorySearchGUI.php.

◆ $privacy_mode

int ilRepositorySearchGUI::$privacy_mode = ilUserAutoComplete::PRIVACY_MODE_IGNORE_USER_SETTING
private

Definition at line 66 of file class.ilRepositorySearchGUI.php.

Referenced by getPrivacyMode(), and setPrivacyMode().

◆ $rbacreview

ilRbacReview ilRepositorySearchGUI::$rbacreview
protected

Definition at line 74 of file class.ilRepositorySearchGUI.php.

◆ $refinery

RefineryFactory ilRepositorySearchGUI::$refinery
private

◆ $result_obj

ilSearchResult ilRepositorySearchGUI::$result_obj
protected

Definition at line 57 of file class.ilRepositorySearchGUI.php.

◆ $role_callback

array ilRepositorySearchGUI::$role_callback = []
protected

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

Referenced by getRoleCallback().

◆ $search_results

array ilRepositorySearchGUI::$search_results = []
private

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

◆ $search_title

string ilRepositorySearchGUI::$search_title = ''
protected

Definition at line 47 of file class.ilRepositorySearchGUI.php.

Referenced by getTitle().

◆ $search_type

string ilRepositorySearchGUI::$search_type = 'usr'
private

Definition at line 49 of file class.ilRepositorySearchGUI.php.

Referenced by __updateResults(), and getSearchType().

◆ $searchable_check

bool ilRepositorySearchGUI::$searchable_check = true
protected

Definition at line 46 of file class.ilRepositorySearchGUI.php.

Referenced by isSearchableCheckEnabled().

◆ $settings

ilSearchSettings ilRepositorySearchGUI::$settings
protected

Definition at line 58 of file class.ilRepositorySearchGUI.php.

◆ $stored

bool ilRepositorySearchGUI::$stored = false
protected

Definition at line 53 of file class.ilRepositorySearchGUI.php.

◆ $string

string ilRepositorySearchGUI::$string = ''
private

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

Referenced by getString().

◆ $tabs

ilTabsGUI ilRepositorySearchGUI::$tabs
protected

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

◆ $tpl

ilGlobalTemplateInterface ilRepositorySearchGUI::$tpl
protected

Definition at line 72 of file class.ilRepositorySearchGUI.php.

◆ $tree

ilTree ilRepositorySearchGUI::$tree
protected

◆ $ui_factory

Factory ilRepositorySearchGUI::$ui_factory
protected

◆ $ui_renderer

Renderer ilRepositorySearchGUI::$ui_renderer
protected

Definition at line 69 of file class.ilRepositorySearchGUI.php.

◆ $user

ilObjUser ilRepositorySearchGUI::$user = null
protected

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

◆ $user_filter

ilRepositorySearchGUI::$user_filter = null
protected

Definition at line 64 of file class.ilRepositorySearchGUI.php.

Referenced by addUserAccessFilterCallable().

◆ $user_limitations

bool ilRepositorySearchGUI::$user_limitations = true
protected

Definition at line 51 of file class.ilRepositorySearchGUI.php.

Referenced by getUserLimitations().


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