36include_once 
'Services/Search/classes/class.ilSearchResult.php';
 
   37include_once 
'Services/Search/classes/class.ilSearchSettings.php';
 
   38include_once 
'./Services/User/classes/class.ilUserAccountSettings.php';
 
   39include_once 
'Services/Search/classes/class.ilQueryParser.php';
 
   40include_once(
"./Services/User/classes/class.ilUserAutoComplete.php");
 
   89        $ilCtrl = 
$DIC[
'ilCtrl'];
 
   96        $this->ctrl = $ilCtrl;
 
  103        $this->lng->loadLanguageModule(
'search');
 
  104        $this->lng->loadLanguageModule(
'crs');
 
  106        $this->
setTitle($this->lng->txt(
'add_members_header'));
 
  112        $this->result_obj->setMaxHits(1000000);
 
  136        $this->search_title = $a_title;
 
  154        $this->searchable_check = $a_status;
 
  200        $ilToolbar = 
$DIC[
'ilToolbar'];
 
  202        $ilCtrl = 
$DIC[
'ilCtrl'];
 
  206            $toolbar = $ilToolbar;
 
  210        if (!isset($a_options[
'auto_complete_name'])) {
 
  211            $a_options[
'auto_complete_name'] = 
$lng->txt(
'obj_user');
 
  213        if (!isset($a_options[
'auto_complete_size'])) {
 
  214            $a_options[
'auto_complete_size'] = 15;
 
  216        if (!isset($a_options[
'submit_name'])) {
 
  217            $a_options[
'submit_name'] = 
$lng->txt(
'btn_add');
 
  219        if (!isset($a_options[
'user_type_default'])) {
 
  220            $a_options[
'user_type_default'] = 
null;
 
  223        $ajax_url = $ilCtrl->getLinkTargetByClass(
 
  224            array(get_class($parent_object),
'ilRepositorySearchGUI'),
 
  225            'doUserAutoComplete',
 
  231        include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
 
  232        $ul = 
new ilTextInputGUI($a_options[
'auto_complete_name'], 
'user_login');
 
  233        $ul->setDataSource($ajax_url);
 
  234        $ul->setSize($a_options[
'auto_complete_size']);
 
  236            $toolbar->addInputItem($ul, 
true);
 
  238            $toolbar->addStickyItem($ul, 
true);
 
  241        if (count((array) $a_options[
'user_type'])) {
 
  242            include_once 
'./Services/Form/classes/class.ilSelectInputGUI.php';
 
  244            $si->setOptions($a_options[
'user_type']);
 
  245            $si->setValue($a_options[
'user_type_default']);
 
  247                $toolbar->addInputItem(
$si);
 
  249                $toolbar->addStickyItem(
$si);
 
  253        include_once 
'./Services/User/classes/class.ilUserClipboard.php';
 
  255        if ($clip->hasContent()) {
 
  256            include_once 
'./Services/UIComponent/SplitButton/classes/class.ilSplitButtonGUI.php';
 
  259            include_once 
'./Services/UIComponent/Button/classes/class.ilLinkButton.php';
 
  261            $add_button->setCaption($a_options[
'submit_name'], 
false);
 
  262            $add_button->setCommand(
'addUserFromAutoComplete');
 
  264            $action_button->setDefaultButton($add_button);
 
  266            include_once 
'./Services/UIComponent/Button/classes/class.ilLinkButton.php';
 
  268            $clip_button->addCSSClass(
'btn btndefault');
 
  269            $GLOBALS[
'DIC']->language()->loadLanguageModule(
'user');
 
  270            $clip_button->setCaption(
$GLOBALS[
'DIC']->
language()->txt(
'clipboard_add_from_btn'), 
false);
 
  271            $clip_button->setCommand(
'showClipboard');
 
  275            $toolbar->addButtonInstance($action_button);
 
  277            include_once 
"Services/UIComponent/Button/classes/class.ilSubmitButton.php";
 
  279            $button->setCaption($a_options[
'submit_name'], 
false);
 
  280            $button->setCommand(
'addUserFromAutoComplete');
 
  282                $toolbar->addButtonInstance($button);
 
  284                $toolbar->addStickyItem($button);
 
  288        if ((
bool) $a_options[
'add_search'] ||
 
  289            is_numeric($a_options[
'add_from_container'])) {
 
  290            $lng->loadLanguageModule(
"search");
 
  292            $toolbar->addSeparator();
 
  294            if ((
bool) $a_options[
'add_search']) {
 
  295                include_once 
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
 
  297                $button->setCaption(
"search_users");
 
  298                $button->setUrl($ilCtrl->getLinkTargetByClass(
'ilRepositorySearchGUI', 
''));
 
  299                $toolbar->addButtonInstance($button);
 
  302            if (is_numeric($a_options[
'add_from_container'])) {
 
  303                $parent_ref_id = (int) $a_options[
'add_from_container'];
 
  304                $parent_container_ref_id = 
$tree->checkForParentType($parent_ref_id, 
"grp");
 
  305                $parent_container_type = 
"grp";
 
  306                if (!$parent_container_ref_id) {
 
  307                    $parent_container_ref_id = 
$tree->checkForParentType($parent_ref_id, 
"crs");
 
  308                    $parent_container_type = 
"crs";
 
  310                if ($parent_container_ref_id) {
 
  311                    if ((
bool) $a_options[
'add_search']) {
 
  312                        $toolbar->addSpacer();
 
  315                    $ilCtrl->setParameterByClass(
'ilRepositorySearchGUI', 
"list_obj", 
ilObject::_lookupObjId($parent_container_ref_id));
 
  317                    include_once 
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
 
  319                    $button->setCaption(
"search_add_members_from_container_" . $parent_container_type);
 
  320                    $button->setUrl($ilCtrl->getLinkTargetByClass(array(get_class($parent_object),
'ilRepositorySearchGUI'), 
'listUsers'));
 
  321                    $toolbar->addButtonInstance($button);
 
  326        $toolbar->setFormAction(
 
  327            $ilCtrl->getFormActionByClass(
 
  329                    get_class($parent_object),
 
  330                    'ilRepositorySearchGUI')
 
  344            include_once 
'./Services/JSON/classes/class.ilJsonUtil.php';
 
  350        if (!isset(
$_GET[
'autoCompleteField'])) {
 
  351            $a_fields = array(
'login',
'firstname',
'lastname',
'email');
 
  352            $result_field = 
'login';
 
  354            $a_fields = array((
string) 
$_GET[
'autoCompleteField']);
 
  355            $result_field = (string) 
$_GET[
'autoCompleteField'];
 
  358        include_once 
'./Services/User/classes/class.ilUserAutoComplete.php';
 
  362        if (($_REQUEST[
'fetchall'])) {
 
  366        $auto->setMoreLinkAvailable(
true);
 
  367        $auto->setSearchFields($a_fields);
 
  368        $auto->setResultField($result_field);
 
  369        $auto->enableFieldSearchableCheck(
true);
 
  371        if (is_callable($this->user_filter)) {          
 
  372            $auto->addUserAccessFilterCallable($this->user_filter);
 
  375        echo $auto->getList($_REQUEST[
'term']);
 
  386        $_SESSION[
'search'][
'string'] = $this->
string = $a_str;
 
  390        return $this->string;
 
  401        $rbacsystem = 
$DIC[
'rbacsystem'];
 
  403        $next_class = $this->ctrl->getNextClass($this);
 
  404        $cmd = $this->ctrl->getCmd();
 
  406        $this->ctrl->setReturn($this, 
'');
 
  408        switch ($next_class) {
 
  429        $this->ctrl->returnToParent($this);
 
  444        $class = $this->role_callback[
'class'];
 
  445        $method = $this->role_callback[
'method'];
 
  449        $obj_ids = (array) 
$_POST[
'obj'];
 
  451        foreach ($obj_ids as $id) {
 
  453            if ($obj_type == 
"crs" || $obj_type == 
"grp") {
 
  455                $ref_id = end($refs);
 
  457                $role_ids[] = $mem_role;
 
  462        $class->$method((array) $role_ids);
 
  469        $class = $this->callback[
'class'];
 
  470        $method = $this->callback[
'method'];
 
  474        $class->$method((array) 
$_POST[
'user']);
 
  484        $class = $this->callback[
'class'];
 
  485        $method = $this->callback[
'method'];
 
  487        $users = explode(
',', 
$_POST[
'user_login']);
 
  489        foreach ($users as $user) {
 
  492                $user_ids[] = $user_id;
 
  496        $user_type = isset($_REQUEST[
'user_type']) ? $_REQUEST[
'user_type'] : 0;
 
  498        if (!$class->$method($user_ids, $user_type)) {
 
  499            $GLOBALS[
'DIC'][
'ilCtrl']->returnToParent($this);
 
  505        $GLOBALS[
'DIC'][
'ilCtrl']->setParameter($this, 
'user_type', (
int) $_REQUEST[
'user_type']);
 
  509        $GLOBALS[
'DIC'][
'ilTabs']->clearTargets();
 
  510        $GLOBALS[
'DIC'][
'ilTabs']->setBackTarget(
 
  511            $GLOBALS[
'DIC'][
'lng']->txt(
'back'),
 
  512            $GLOBALS[
'DIC'][
'ilCtrl']->getParentReturn($this)
 
  515        include_once 
'./Services/User/classes/class.ilUserClipboardTableGUI.php';
 
  517        $clip->setFormAction(
$GLOBALS[
'DIC'][
'ilCtrl']->getFormAction($this));
 
  521        $GLOBALS[
'DIC'][
'tpl']->setContent($clip->getHTML());
 
  529        $GLOBALS[
'DIC'][
'ilCtrl']->setParameter($this, 
'user_type', (
int) $_REQUEST[
'user_type']);
 
  530        $users = (array) 
$_POST[
'uids'];
 
  531        if (!count($users)) {
 
  533            $GLOBALS[
'DIC'][
'ilCtrl']->redirect($this, 
'showClipboard');
 
  535        $class = $this->callback[
'class'];
 
  536        $method = $this->callback[
'method'];
 
  537        $user_type = isset($_REQUEST[
'user_type']) ? $_REQUEST[
'user_type'] : 0;
 
  539        if (!$class->$method($users, $user_type)) {
 
  540            $GLOBALS[
'DIC'][
'ilCtrl']->returnToParent($this);
 
  549        $GLOBALS[
'DIC'][
'ilCtrl']->setParameter($this, 
'user_type', (
int) $_REQUEST[
'user_type']);
 
  550        $users = (array) 
$_POST[
'uids'];
 
  551        if (!count($users)) {
 
  553            $GLOBALS[
'DIC'][
'ilCtrl']->redirect($this, 
'showClipboard');
 
  556        include_once 
'./Services/User/classes/class.ilUserClipboard.php';
 
  558        $clip->delete($users);
 
  561        ilUtil::sendSuccess($this->lng->txt(
'settings_saved'), 
true);
 
  562        $this->ctrl->redirect($this, 
'showClipboard');
 
  570        include_once 
'./Services/User/classes/class.ilUserClipboard.php';
 
  575        ilUtil::sendSuccess($this->lng->txt(
'settings_saved'), 
true);
 
  576        $this->ctrl->returnToParent($this);
 
  584        $class = $this->callback[
'class'];
 
  585        $method = $this->callback[
'method'];
 
  588        if (!$class->$method((array) 
$_POST[
'user'], 
$_POST[
'selectedCommand'])) {
 
  595        $this->callback = array(
'class' => $class,
'method' => $method);
 
  596        $this->add_options = $a_add_options ? $a_add_options : array();
 
  602        $this->role_callback = array(
'class' => $class,
'method' => $method);
 
  603        $this->add_options = $a_add_options ? $a_add_options : array();
 
  622        $this->tpl->setContent($this->form->getHTML());
 
  630        $selected = (int) $_REQUEST[
'selected_id'];
 
  632        #include_once './Services/Object/classes/class.ilObjectFactory.php'; 
  633        #$factory = new ilObjectFactory(); 
  634        #$user = $factory->getInstanceByObjId($selected); 
  636        #$this->initFormSearch($user); 
  637        #$this->tpl->setContent($this->form->getHTML()); 
  639        $this->tpl->addBlockFile(
'ADM_CONTENT', 
'adm_content', 
'tpl.rep_search_result.html', 
'Services/Search');
 
  648        $ilCtrl = 
$DIC[
'ilCtrl'];
 
  650        include_once 
'./Services/Form/classes/class.ilPropertyFormGUI.php';
 
  653        $this->form->setFormAction($this->ctrl->getFormAction($this, 
'showSearch'));
 
  654        $this->form->setTitle($this->
getTitle());
 
  655        $this->form->addCommandButton(
'performSearch', $this->lng->txt(
'search'));
 
  656        $this->form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
 
  660        $kind->setValue($this->search_type);
 
  661        $this->form->addItem($kind);
 
  664        $users = 
new ilRadioOption($this->lng->txt(
'search_for_users'), 
'usr');
 
  667        include_once 
'Services/Search/classes/class.ilUserSearchOptions.php';
 
  669            switch ($info[
'type']) {
 
  673                    $sel = 
new ilSelectInputGUI($info[
'lang'], 
"rep_query[usr][" . $info[
'db'] . 
"]");
 
  674                    $sel->setOptions($info[
'values']);
 
  675                    $users->addSubItem($sel);
 
  682                    if (isset($info[
'autoComplete']) and $info[
'autoComplete']) {
 
  683                        $ilCtrl->setParameterByClass(get_class($this), 
'autoCompleteField', $info[
'db']);
 
  684                        $ul = 
new ilTextInputGUI($info[
'lang'], 
"rep_query[usr][" . $info[
'db'] . 
"]");
 
  685                        $ul->setDataSourceSubmitOnSelection(
true);
 
  686                        $ul->setDataSourceSubmitUrl(
 
  687                            $this->ctrl->getLinkTarget(
 
  689                                'showSearchSelected',
 
  695                        $ul->setDataSource($ilCtrl->getLinkTarget(
 
  697                            "doUserAutoComplete",
 
  702                        $ul->setMaxLength(120);
 
  705                            switch ($info[
'db']) {
 
  707                                    $ul->setValue($user->getFirstname());
 
  710                                    $ul->setValue($user->getLastname());
 
  713                                    $ul->setValue($user->getLogin());
 
  720                        $users->addSubItem($ul);
 
  724                        $txt->setMaxLength(120);
 
  725                        $users->addSubItem(
$txt);
 
  730        $kind->addOption($users);
 
  735        $roles = 
new ilRadioOption($this->lng->txt(
'search_for_role_members'), 
'role');
 
  736        $role = 
new ilTextInputGUI($this->lng->txt(
'search_role_title'), 
'rep_query[role][title]');
 
  738        $role->setMaxLength(120);
 
  739        $roles->addSubItem($role);
 
  740        $kind->addOption($roles);
 
  743        $groups = 
new ilRadioOption($this->lng->txt(
'search_for_crs_members'), 
'crs');
 
  744        $group = 
new ilTextInputGUI($this->lng->txt(
'search_crs_title'), 
'rep_query[crs][title]');
 
  746        $group->setMaxLength(120);
 
  747        $groups->addSubItem($group);
 
  748        $kind->addOption($groups);
 
  751        $groups = 
new ilRadioOption($this->lng->txt(
'search_for_grp_members'), 
'grp');
 
  752        $group = 
new ilTextInputGUI($this->lng->txt(
'search_grp_title'), 
'rep_query[grp][title]');
 
  754        $group->setMaxLength(120);
 
  755        $groups->addSubItem($group);
 
  756        $kind->addOption($groups);
 
  760            $orgus = 
new ilRadioOption($this->lng->txt(
'search_for_orgu_members'), 
'orgu');
 
  762            $orgu->getExplorerGUI()->setSelectableTypes([
"orgu"]);
 
  763            $orgu->getExplorerGUI()->setTypeWhiteList([
"root", 
"orgu"]);
 
  765            $orgu->getExplorerGUI()->setAjax(
false);
 
  766            $orgus->addSubItem($orgu);
 
  767            $kind->addOption($orgus);
 
  794        $found_query = 
false;
 
  795        foreach ((array) 
$_POST[
'rep_query'][
$_POST[
'search_for']] as $field => $value) {
 
  801        if (array_key_exists(
'rep_query_orgu', 
$_POST) && count(
$_POST[
'rep_query_orgu']) > 0) {
 
  811        if (
$_POST[
'cmd'][
'performSearch']) {
 
  815        switch ($this->search_type) {
 
  832                $_POST[
'obj'] = array_map(
 
  843        $this->result_obj->setRequiredPermission(
'read');
 
  844        $this->result_obj->addObserver($this, 
'searchResultFilterListener');
 
  848        if ($this->search_type == 
'usr') {
 
  850            if (is_callable($this->user_filter, 
true, $callable_name)) {
 
  851                $result_ids = call_user_func_array($this->user_filter, [$this->result_obj->getResultIds()]);
 
  853                $result_ids = $this->result_obj->getResultIds();
 
  856            include_once 
'./Services/User/classes/class.ilUserFilter.php';
 
  857            $this->search_results = array_intersect(
 
  862            $this->search_results = array();
 
  863            foreach ((array) $this->result_obj->getResults() as 
$res) {
 
  864                $this->search_results[] = 
$res[
'obj_id'];
 
  868        if (!count($this->search_results)) {
 
  874        if ($this->result_obj->isLimitReached()) {
 
  875            $message = sprintf($this->lng->txt(
'search_limit_reached'), $this->settings->getMaxHits());
 
  886        include_once 
'Services/Search/classes/class.ilUserSearchOptions.php';
 
  887        include_once 
'Services/Search/classes/class.ilObjectSearchFactory.php';
 
  894            if (!$query_string) {
 
  902            switch ($info[
'type']) {
 
  910                    $udf_search->setFields(array(
$name));
 
  911                    $result_obj = $udf_search->performSearch();
 
  919                    if ($info[
'db'] == 
'org_units') {
 
  921                        $result_obj = $user_search->performSearch();
 
  932                    $user_search->setFields(array(
$name));
 
  933                    $result_obj = $user_search->performSearch();
 
  941                    $multi_search->setFields(array(
$name));
 
  942                    $result_obj = $multi_search->performSearch();
 
  956        include_once 
'Services/Search/classes/class.ilObjectSearchFactory.php';
 
  958        $query_string = 
$_SESSION[
'rep_query'][
'grp'][
'title'];
 
  964        include_once 
'Services/Search/classes/Like/class.ilLikeObjectSearch.php';
 
  966        $object_search->setFilter(array(
'grp'));
 
  978        include_once 
'Services/Search/classes/class.ilObjectSearchFactory.php';
 
  980        $query_string = 
$_SESSION[
'rep_query'][
'crs'][
'title'];
 
  986        include_once 
'Services/Search/classes/Like/class.ilLikeObjectSearch.php';
 
  988        $object_search->setFilter(array(
'crs'));
 
 1000        include_once 
'Services/Search/classes/class.ilObjectSearchFactory.php';
 
 1002        $query_string = 
$_SESSION[
'rep_query'][
'role'][
'title'];
 
 1009        include_once 
'Services/Search/classes/Like/class.ilLikeObjectSearch.php';
 
 1011        $object_search->setFilter(array(
'role'));
 
 1026        $query_parser->setMinWordLength(1);
 
 1029        if (!(
bool) $a_ignore_length) {
 
 1030            $query_parser->setGlobalMinLength(3); 
 
 1033        $query_parser->parse();
 
 1035        if (!$query_parser->validate()) {
 
 1036            return $query_parser->getMessage();
 
 1038        return $query_parser;
 
 1044        if (is_array(
$_POST[
'rep_query'])) {
 
 1053        if (
$_POST[
'search_for']) {
 
 1062        $this->search_type = 
$_SESSION[
'rep_search_type'];
 
 1063        #echo $this->search_type; 
 1074        foreach ($this->search_results as 
$result) {
 
 1077        if (!
$_SESSION[
'rep_search'][$this->search_type]) {
 
 1089            return $_SESSION[
'rep_search'][
'usr'] = $a_usr_ids;
 
 1091        $_SESSION[
'rep_search'][
'usr'] = array();
 
 1092        foreach ($a_usr_ids as $usr_id) {
 
 1093            $_SESSION[
'rep_search'][
'usr'][] = $usr_id;
 
 1095        return $_SESSION[
'rep_search'][
'usr'] ? array_unique(
$_SESSION[
'rep_search'][
'usr']) : array();
 
 1100        if ($this->stored == 
false) {
 
 1101            $this->result_obj->mergeEntries($new_res);
 
 1102            $this->stored = 
true;
 
 1105            $this->result_obj->intersectEntries($new_res);
 
 1116        include_once 
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
 
 1118        $toolbar->addButton(
 
 1119            $this->lng->txt(
'search_new'),
 
 1120            $this->ctrl->getLinkTarget($this, 
'showSearch')
 
 1122        $this->tpl->setVariable(
'ACTION_BUTTONS', $toolbar->getHTML());
 
 1128        $f_result = array();
 
 1130        $this->tpl->addBlockFile(
'ADM_CONTENT', 
'adm_content', 
'tpl.rep_search_result.html', 
'Services/Search');
 
 1133        switch ($this->search_type) {
 
 1159        $is_in_admin = ($_REQUEST[
'baseClass'] == 
'ilAdministrationGUI');
 
 1162            $_SESSION[
"usr_search_link"] = $this->ctrl->getLinkTarget($this, 
'show');
 
 1165        include_once 
'./Services/Search/classes/class.ilRepositoryUserResultTableGUI.php';
 
 1168        if (count($this->add_options)) {
 
 1169            $table->addMultiItemSelectionButton(
 
 1172                'handleMultiCommand',
 
 1173                $this->lng->txt(
'execute'),
 
 1174                $this->default_option
 
 1177            $table->addMultiCommand(
'addUser', $this->lng->txt(
'btn_add'));
 
 1180        $table->parseUserIds($a_usr_ids);
 
 1182        $this->tpl->setVariable(
'RES_TABLE', $table->getHTML());
 
 1192        include_once 
'./Services/Search/classes/class.ilRepositoryObjectResultTableGUI.php';
 
 1195        $table->parseObjectIds($a_obj_ids);
 
 1197        $this->tpl->setVariable(
'RES_TABLE', $table->getHTML());
 
 1207        include_once 
'./Services/Search/classes/class.ilRepositoryObjectResultTableGUI.php';
 
 1210        $table->parseObjectIds($a_obj_ids);
 
 1212        $this->tpl->setVariable(
'RES_TABLE', $table->getHTML());
 
 1222        include_once 
'./Services/Search/classes/class.ilRepositoryObjectResultTableGUI.php';
 
 1225        $table->parseObjectIds($a_obj_ids);
 
 1227        $this->tpl->setVariable(
'RES_TABLE', $table->getHTML());
 
 1238        if (
$_GET[
"list_obj"] != 
"" && !is_array(
$_POST[
'obj'])) {
 
 1251        foreach (
$_POST[
'obj'] as $obj_id) {
 
 1257                    include_once 
'./Services/Membership/classes/class.ilParticipants.php';
 
 1260                        if (is_callable($this->user_filter)) {
 
 1261                            $part = call_user_func_array(
 
 1271                        $members = array_merge((array) $members, $part);
 
 1278                    $rbacreview = 
$DIC[
'rbacreview'];
 
 1281                    if (is_callable($this->user_filter)) {
 
 1282                        $assigned = call_user_func_array(
 
 1285                                $rbacreview->assignedUsers($obj_id)
 
 1289                        $assigned = $rbacreview->assignedUsers($obj_id);
 
 1297                            ->getUserIdsOfOrgUnit(array_shift($ref_ids));
 
 1298                        if (is_callable($this->user_filter)) {
 
 1299                            $assigned = call_user_func_array(
 
 1305                        $members = array_merge(
 
 1313        $members = array_unique((array) $members);
 
 1316        $this->tpl->addBlockFile(
'ADM_CONTENT', 
'adm_content', 
'tpl.rep_search_result.html', 
'Services/Search');
 
 1344        if ($a_data[
'type'] == 
'usr') {
 
 1359        $this->object_selection = (bool) $a_value;
 
 1369        if (
$_GET[
"list_obj"] != 
"" && !is_array(
$_POST[
'obj'])) {
 
 1378        $this->ctrl->setParameter($this->callback[
"class"], 
"obj", implode(
";", 
$_POST[
"obj"]));
 
 1379        $this->ctrl->redirect($this->callback[
"class"], $this->callback[
"method"]);
 
 1389        $this->user_limitations = (bool) $a_limitations;
 
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
An exception for terminatinating execution or to throw for unit testing.
const QP_COMBINATION_AND
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const FIELD_TYPE_UDF_SELECT
Class ilUserSearchOptions.
const FIELD_TYPE_UDF_TEXT
static encode($mixed, $suppress_native=false)
static getLogger($a_component_id)
Get component logger.
static _lookupId($a_user_str)
Lookup id by login.
static _getUserDefinedFieldSearchInstance($query_parser)
get reference of ilLikeUserDefinedFieldSearch
static getUserMultiFieldSearchInstance($query_parser)
static getUserOrgUnitAssignmentInstance($query_parser)
get orgunit search instance
static _getUserSearchInstance($query_parser)
get reference of ilLikeUserSearch
static _lookupObjId($a_id)
static _getAllReferences($a_id)
get all reference ids of object
static _lookupType($a_id, $a_reference=false)
lookup object type
static getDefaultMemberRole($a_ref_id)
static hasParticipantListAccess($a_obj_id, $a_usr_id=null)
Check if (current) user has access to the participant list.
static getInstanceByObjId($a_obj_id)
Get instance by obj type.
This class represents an option in a radio group.
TableGUI class object (course,group and role) search results Used in member search.
selectObject()
Return selection of course/group/roles to calling script.
showSearchCourseTable($a_obj_ids)
initFormSearch(ilObjUser $user=null)
setRoleCallback(&$class, $method, $a_add_options=array(), $default_option='')
performSearch()
Perform a search.
emptyClipboard()
Remove from clipboard.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
removeFromClipboard()
Remove from clipboard.
__performCourseSearch()
Search courses.
isSearchableCheckEnabled()
__storeEntries(&$new_res)
showSearchRoleTable($a_obj_ids)
Show usr table.
setTitle($a_title)
Set form title.
__appendToStoredResults($a_usr_ids)
enableSearchableCheck($a_status)
En/disable the validation of the searchable flag.
storedUserList()
Called from table sort.
showSearchGroupTable($a_obj_ids)
__performRoleSearch()
Search roles.
setCallback(&$class, $method, $a_add_options=array(), $default_option='')
showSearchSelected()
submit from autocomplete
doUserAutoComplete()
Do auto completion.
getTitle()
Get search form title.
addFromClipboard()
add users from clipboard
setUserLimitations($a_limitations)
allow user limitations like inactive and access limitations
showSearchUserTable($a_usr_ids, $a_parent_cmd)
Show usr table.
setPermissionQueryCallback($class, $method)
Set callback method for user permission access queries.
searchResultFilterListener($a_ref_id, $a_data)
Listener called from ilSearchResult Id is obj_id for role, usr Id is ref_id for crs grp.
addUserAccessFilterCallable(callable $user_filter)
Closure for filtering users e.g $rep_search_gui->addUserAccessFilterCallable(function($user_ids) use(...
__performGroupSearch()
Search groups.
setPrivacyMode($privacy_mode)
listUsers()
List users of course/group/roles.
addNewSearchButton()
Add new search button.
getUserLimitations()
allow user limitations like inactive and access limitations
executeCommand()
Control @access public.
setString($a_str)
Set/get search string @access public.
addUserFromAutoComplete()
Add user from auto complete input.
handleMultiCommand()
Handle multi command.
allowObjectSelection($a_value=false)
Toggle object selection status.
& __parseQueryString($a_string, $a_combination_or=true, $a_ignore_length=false)
parse query string, using query parser instance
__construct()
Constructor @access public.
TableGUI class user search results.
This class represents a text property in a property form.
Auto completion class for user lists.
const PRIVACY_MODE_RESPECT_USER_SETTING
const PRIVACY_MODE_IGNORE_USER_SETTING
Show administrate clipboard content.
static getInstance($a_usr_id)
Get singelton instance.
static getInstance()
Singelton get instance.
static _getSearchableFieldsInfo($a_admin=false)
static _isEnabled($a_key)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
foreach($_POST as $key=> $value) $res