ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
ilRepositorySearchGUI Class Reference
+ Collaboration diagram for ilRepositorySearchGUI:

Public Member Functions

 ilRepositorySearchGUI ()
 Constructor public. More...
 
 setTitle ($a_title)
 Set form title. More...
 
 getTitle ()
 Get search form title. More...
 
 enableSearchableCheck ($a_status)
 En/disable the validation of the searchable flag. More...
 
 isSearchableCheckEnabled ()
 
 setString ($a_str)
 Set/get search string public. More...
 
 getString ()
 
executeCommand ()
 Control public. More...
 
 __clearSession ()
 
 cancel ()
 
 start ()
 
 addUser ()
 
 setCallback (&$class, $method, $a_add_options=array())
 
 showSearch ()
 
 showSearchSelected ()
 submit from autocomplete More...
 
 initFormSearch (ilObjUser $user=NULL)
 
 show ()
 
 appendSearch ()
 
 performSearch ()
 Perform a search. More...
 
 __performUserSearch ()
 
 __performGroupSearch ()
 Search groups. More...
 
 __performRoleSearch ()
 Search roles. More...
 
__parseQueryString ($a_string, $a_combination_or=true, $a_ignore_length=false)
 parse query string, using query parser instance More...
 
 __loadQueries ()
 
 __setSearchType ()
 
 __updateResults ()
 
 __appendToStoredResults ($a_usr_ids)
 
 __storeEntries (&$new_res)
 
 showSearchResults ()
 
 searchResultFilterListener ($a_ref_id, $a_data)
 Listener called from ilSearchResult Id is obj_id for role, usr Id is ref_id for crs grp. More...
 
 allowObjectSelection ($a_value=false)
 Toggle object selection status. More...
 

Static Public Member Functions

static fillAutoCompleteToolbar ($parent_object, ilToolbarGUI $toolbar=null, $a_options=array())
 fill toolbar with More...
 

Data Fields

 $search_type = 'usr'
 

Protected Member Functions

 doUserAutoComplete ()
 Do auto completion. More...
 
 addUserFromAutoComplete ()
 Add user from auto complete input. More...
 
 handleMultiCommand ()
 Handle multi command. More...
 
 __performCourseSearch ()
 Search courses. More...
 
 addNewSearchButton ()
 Add new search button. More...
 
 showSearchUserTable ($a_usr_ids, $a_parent_cmd)
 Show usr table. More...
 
 showSearchRoleTable ($a_obj_ids)
 Show usr table. More...
 
 showSearchGroupTable ($a_obj_ids)
 
 showSearchCourseTable ($a_obj_ids)
 
 listUsers ()
 List users of course/group/roles. More...
 
 storedUserList ()
 Called from table sort. More...
 
 selectObject ()
 Return selection of course/group/roles to calling script. More...
 

Protected Attributes

 $add_options = array()
 
 $object_selection = false
 
 $searchable_check = true
 
 $search_title = ''
 

Private Attributes

 $search_results = array()
 

Detailed Description

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

Member Function Documentation

◆ __appendToStoredResults()

ilRepositorySearchGUI::__appendToStoredResults (   $a_usr_ids)

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

References $_SESSION.

Referenced by listUsers().

845  {
846  if(!$_SESSION['search_append'])
847  {
848  return $_SESSION['rep_search']['usr'] = $a_usr_ids;
849  }
850  $_SESSION['rep_search']['usr'] = array();
851  foreach($a_usr_ids as $usr_id)
852  {
853  $_SESSION['rep_search']['usr'][] = $usr_id;
854  }
855  return $_SESSION['rep_search']['usr'] ? array_unique($_SESSION['rep_search']['usr']) : array();
856  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
+ Here is the caller graph for this function:

◆ __clearSession()

ilRepositorySearchGUI::__clearSession ( )

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

References $_SESSION.

Referenced by start().

311  {
312 
313  unset($_SESSION['rep_search']);
314  unset($_SESSION['append_results']);
315  unset($_SESSION['rep_query']);
316  unset($_SESSION['rep_search_type']);
317  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
+ Here is the caller graph for this function:

◆ __loadQueries()

ilRepositorySearchGUI::__loadQueries ( )

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

References $_POST, and $_SESSION.

Referenced by ilRepositorySearchGUI().

793  {
794  if(is_array($_POST['rep_query']))
795  {
796  $_SESSION['rep_query'] = $_POST['rep_query'];
797  }
798  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
$_POST['username']
Definition: cron.php:12
+ Here is the caller graph for this function:

◆ __parseQueryString()

& ilRepositorySearchGUI::__parseQueryString (   $a_string,
  $a_combination_or = true,
  $a_ignore_length = false 
)

parse query string, using query parser instance

Returns
object of query parser or error message if an error occured public

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

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

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

771  {
772  $query_parser = new ilQueryParser(ilUtil::stripSlashes($a_string));
773  $query_parser->setCombination($a_combination_or ? QP_COMBINATION_OR : QP_COMBINATION_AND);
774  $query_parser->setMinWordLength(1);
775 
776  // #17502
777  if(!(bool)$a_ignore_length)
778  {
779  $query_parser->setGlobalMinLength(3); // #14768
780  }
781 
782  $query_parser->parse();
783 
784  if(!$query_parser->validate())
785  {
786  return $query_parser->getMessage();
787  }
788  return $query_parser;
789  }
const QP_COMBINATION_OR
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
const QP_COMBINATION_AND
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __performCourseSearch()

ilRepositorySearchGUI::__performCourseSearch ( )
protected

Search courses.

Returns

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

References $_SESSION, __parseQueryString(), __storeEntries(), and ilUtil\sendInfo().

Referenced by performSearch().

723  {
724  include_once 'Services/Search/classes/class.ilObjectSearchFactory.php';
725 
726  $query_string = $_SESSION['rep_query']['crs']['title'];
727  if(!is_object($query_parser = $this->__parseQueryString($query_string)))
728  {
729  ilUtil::sendInfo($query_parser,true);
730  return false;
731  }
732 
733  include_once 'Services/Search/classes/Like/class.ilLikeObjectSearch.php';
734  $object_search = new ilLikeObjectSearch($query_parser);
735  $object_search->setFilter(array('crs'));
736  $this->__storeEntries($object_search->performSearch());
737 
738  return true;
739  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
& __parseQueryString($a_string, $a_combination_or=true, $a_ignore_length=false)
parse query string, using query parser instance
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __performGroupSearch()

ilRepositorySearchGUI::__performGroupSearch ( )

Search groups.

Returns

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

References $_SESSION, __parseQueryString(), __storeEntries(), and ilUtil\sendInfo().

Referenced by performSearch().

700  {
701  include_once 'Services/Search/classes/class.ilObjectSearchFactory.php';
702 
703  $query_string = $_SESSION['rep_query']['grp']['title'];
704  if(!is_object($query_parser = $this->__parseQueryString($query_string)))
705  {
706  ilUtil::sendInfo($query_parser,true);
707  return false;
708  }
709 
710  include_once 'Services/Search/classes/Like/class.ilLikeObjectSearch.php';
711  $object_search = new ilLikeObjectSearch($query_parser);
712  $object_search->setFilter(array('grp'));
713  $this->__storeEntries($object_search->performSearch());
714 
715  return true;
716  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
& __parseQueryString($a_string, $a_combination_or=true, $a_ignore_length=false)
parse query string, using query parser instance
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __performRoleSearch()

ilRepositorySearchGUI::__performRoleSearch ( )

Search roles.

Returns

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

References $_SESSION, __parseQueryString(), __storeEntries(), and ilUtil\sendInfo().

Referenced by performSearch().

746  {
747  include_once 'Services/Search/classes/class.ilObjectSearchFactory.php';
748 
749  $query_string = $_SESSION['rep_query']['role']['title'];
750  if(!is_object($query_parser = $this->__parseQueryString($query_string)))
751  {
752  ilUtil::sendInfo($query_parser,true);
753  return false;
754  }
755 
756  // Perform like search
757  include_once 'Services/Search/classes/Like/class.ilLikeObjectSearch.php';
758  $object_search = new ilLikeObjectSearch($query_parser);
759  $object_search->setFilter(array('role'));
760  $this->__storeEntries($object_search->performSearch());
761 
762  return true;
763  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
& __parseQueryString($a_string, $a_combination_or=true, $a_ignore_length=false)
parse query string, using query parser instance
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __performUserSearch()

ilRepositorySearchGUI::__performUserSearch ( )

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

References $_SESSION, __parseQueryString(), __storeEntries(), ilUserSearchOptions\_getSearchableFieldsInfo(), ilObjectSearchFactory\_getUserDefinedFieldSearchInstance(), ilObjectSearchFactory\_getUserSearchInstance(), FIELD_TYPE_MULTI, FIELD_TYPE_SELECT, FIELD_TYPE_TEXT, FIELD_TYPE_UDF_SELECT, FIELD_TYPE_UDF_TEXT, ilObjectSearchFactory\getUserMultiFieldSearchInstance(), isSearchableCheckEnabled(), and ilUtil\sendInfo().

Referenced by performSearch().

637  {
638  include_once 'Services/Search/classes/class.ilUserSearchOptions.php';
639  include_once 'Services/Search/classes/class.ilObjectSearchFactory.php';
640 
642  {
643  $name = $info['db'];
644  $query_string = $_SESSION['rep_query']['usr'][$name];
645 
646  // continue if no query string is given
647  if(!$query_string)
648  {
649  continue;
650  }
651 
652  if(!is_object($query_parser = $this->__parseQueryString($query_string, true, ($info['type'] == FIELD_TYPE_SELECT))))
653  {
654  ilUtil::sendInfo($query_parser);
655  return false;
656  }
657  switch($info['type'])
658  {
660  // Do a phrase query for select fields
661  $query_parser = $this->__parseQueryString('"'.$query_string.'"');
662 
663  case FIELD_TYPE_UDF_TEXT:
665  $udf_search->setFields(array($name));
666  $result_obj = $udf_search->performSearch();
667 
668  // Store entries
669  $this->__storeEntries($result_obj);
670  break;
671 
672  case FIELD_TYPE_SELECT:
673  // Do a phrase query for select fields
674  $query_parser = $this->__parseQueryString('"'.$query_string.'"', true, true);
675 
676  case FIELD_TYPE_TEXT:
677  $user_search =& ilObjectSearchFactory::_getUserSearchInstance($query_parser);
678  $user_search->setFields(array($name));
679  $result_obj = $user_search->performSearch();
680 
681  // store entries
682  $this->__storeEntries($result_obj);
683  break;
684 
685  case FIELD_TYPE_MULTI:
686  $multi_search = ilObjectSearchFactory::getUserMultiFieldSearchInstance($query_parser);
687  $multi_search->setFields(array($name));
688  $result_obj = $multi_search->performSearch();
689  $this->__storeEntries($result_obj);
690  break;
691  }
692  }
693  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
const FIELD_TYPE_MULTI
const FIELD_TYPE_UDF_TEXT
const FIELD_TYPE_SELECT
static getUserMultiFieldSearchInstance($query_parser)
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static _getUserSearchInstance($query_parser)
get reference of ilLikeUserSearch
const FIELD_TYPE_UDF_SELECT
Class ilUserSearchOptions.
& __parseQueryString($a_string, $a_combination_or=true, $a_ignore_length=false)
parse query string, using query parser instance
const FIELD_TYPE_TEXT
static _getUserDefinedFieldSearchInstance($query_parser)
get reference of ilLikeUserDefinedFieldSearch
static _getSearchableFieldsInfo($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 801 of file class.ilRepositorySearchGUI.php.

References $_POST, and $_SESSION.

Referenced by ilRepositorySearchGUI().

802  {
803  // Update search type. Default to user search
804  if($_POST['search_for'])
805  {
806  #echo 1;
807  $_SESSION['rep_search_type'] = $_POST['search_for'];
808  }
809  if(!$_POST['search_for'] and !$_SESSION['rep_search_type'])
810  {
811  #echo 2;
812  $_SESSION['rep_search_type'] = 'usr';
813  }
814 
815  $this->search_type = $_SESSION['rep_search_type'];
816  #echo $this->search_type;
817 
818  return true;
819  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
$_POST['username']
Definition: cron.php:12
+ Here is the caller graph for this function:

◆ __storeEntries()

ilRepositorySearchGUI::__storeEntries ( $new_res)

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

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

859  {
860  if($this->stored == false)
861  {
862  $this->result_obj->mergeEntries($new_res);
863  $this->stored = true;
864  return true;
865  }
866  else
867  {
868  $this->result_obj->intersectEntries($new_res);
869  return true;
870  }
871  }
+ Here is the caller graph for this function:

◆ __updateResults()

ilRepositorySearchGUI::__updateResults ( )

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

References $_SESSION, $result, and $search_type.

Referenced by performSearch().

823  {
824  if(!$_SESSION['search_append'])
825  {
826  $_SESSION['rep_search'] = array();
827  }
828  foreach($this->search_results as $result)
829  {
830  $_SESSION['rep_search'][$this->search_type][] = $result;
831  }
832  if(!$_SESSION['rep_search'][$this->search_type])
833  {
834  $_SESSION['rep_search'][$this->search_type] = array();
835  }
836  else
837  {
838  // remove duplicate entries
839  $_SESSION['rep_search'][$this->search_type] = array_unique($_SESSION['rep_search'][$this->search_type]);
840  }
841  return true;
842  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
$result
+ Here is the caller graph for this function:

◆ addNewSearchButton()

ilRepositorySearchGUI::addNewSearchButton ( )
protected

Add new search button.

Returns

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

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

878  {
879  include_once './Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
880  $toolbar = new ilToolbarGUI();
881  $toolbar->addButton(
882  $this->lng->txt('search_new'),
883  $this->ctrl->getLinkTarget($this,'showSearch')
884  );
885  $this->tpl->setVariable('ACTION_BUTTONS',$toolbar->getHTML());
886  }
+ Here is the caller graph for this function:

◆ addUser()

ilRepositorySearchGUI::addUser ( )

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

References $_POST, and showSearchResults().

335  {
336  $class = $this->callback['class'];
337  $method = $this->callback['method'];
338 
339  // call callback if that function does give a return value => show error message
340  // listener redirects if everything is ok.
341  $class->$method($_POST['user']);
342 
343  $this->showSearchResults();
344  }
$_POST['username']
Definition: cron.php:12
+ Here is the call graph for this function:

◆ addUserFromAutoComplete()

ilRepositorySearchGUI::addUserFromAutoComplete ( )
protected

Add user from auto complete input.

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

References $_POST, $GLOBALS, and ilObjUser\_lookupId().

350  {
351  $class = $this->callback['class'];
352  $method = $this->callback['method'];
353 
354  $users = explode(',', $_POST['user_login']);
355  $user_ids = array();
356  foreach($users as $user)
357  {
358  $user_id = ilObjUser::_lookupId($user);
359  if($user_id)
360  {
361  $user_ids[] = $user_id;
362  }
363  }
364 
365  $user_type = isset($_POST['user_type']) ? $_POST['user_type'] : 0;
366 
367  if(!$class->$method($user_ids,$user_type))
368  {
369  $GLOBALS['ilCtrl']->returnToParent($this);
370  }
371  }
$_POST['username']
Definition: cron.php:12
static _lookupId($a_user_str)
lookup id by login
$GLOBALS['ct_recipient']
+ Here is the call graph for this function:

◆ allowObjectSelection()

ilRepositorySearchGUI::allowObjectSelection (   $a_value = false)

Toggle object selection status.

Parameters
bool$a_value

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

1089  {
1090  $this->object_selection = (bool)$a_value;
1091  }

◆ appendSearch()

ilRepositorySearchGUI::appendSearch ( )

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

References $_SESSION, and performSearch().

542  {
543  $_SESSION['search_append'] = true;
544  $this->performSearch();
545  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
+ Here is the call graph for this function:

◆ cancel()

ilRepositorySearchGUI::cancel ( )

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

320  {
321  $this->ctrl->returnToParent($this);
322  }

◆ doUserAutoComplete()

ilRepositorySearchGUI::doUserAutoComplete ( )
protected

Do auto completion.

Returns
void

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

References $_GET, $_REQUEST, $GLOBALS, ilJsonUtil\encode(), exit, and ilUserAutoComplete\MAX_ENTRIES.

233  {
234  // hide anonymout request
235  if($GLOBALS['ilUser']->getId() == ANONYMOUS_USER_ID)
236  {
237  include_once './Services/JSON/classes/class.ilJsonUtil.php';
238  return ilJsonUtil::encode(new stdClass());
239  exit;
240  }
241 
242 
243  if(!isset($_GET['autoCompleteField']))
244  {
245  $a_fields = array('login','firstname','lastname','email');
246  $result_field = 'login';
247  }
248  else
249  {
250  $a_fields = array((string) $_GET['autoCompleteField']);
251  $result_field = (string) $_GET['autoCompleteField'];
252  }
253 
254  include_once './Services/User/classes/class.ilUserAutoComplete.php';
255  $auto = new ilUserAutoComplete();
256 
257  if(($_REQUEST['fetchall']))
258  {
259  $auto->setLimit(ilUserAutoComplete::MAX_ENTRIES);
260  }
261 
262  $auto->setMoreLinkAvailable(true);
263  $auto->setSearchFields($a_fields);
264  $auto->setResultField($result_field);
265  $auto->enableFieldSearchableCheck(true);
266  echo $auto->getList($_REQUEST['term']);
267  exit();
268  }
exit
Definition: login.php:54
$_GET["client_id"]
Auto completion class for user lists.
static encode($mixed, $suppress_native=false)
$GLOBALS['ct_recipient']
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ enableSearchableCheck()

ilRepositorySearchGUI::enableSearchableCheck (   $a_status)

En/disable the validation of the searchable flag.

Parameters
bool$a_status

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

101  {
102  $this->searchable_check = $a_status;
103  }

◆ executeCommand()

& ilRepositorySearchGUI::executeCommand ( )

Control public.

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

References $cmd.

289  {
290  global $rbacsystem;
291 
292  $next_class = $this->ctrl->getNextClass($this);
293  $cmd = $this->ctrl->getCmd();
294 
295  $this->ctrl->setReturn($this,'');
296 
297  switch($next_class)
298  {
299  default:
300  if(!$cmd)
301  {
302  $cmd = "showSearch";
303  }
304  $this->$cmd();
305  break;
306  }
307  return true;
308  }
$cmd
Definition: sahs_server.php:35

◆ fillAutoCompleteToolbar()

static ilRepositorySearchGUI::fillAutoCompleteToolbar (   $parent_object,
ilToolbarGUI  $toolbar = null,
  $a_options = array() 
)
static

fill toolbar with

Parameters
ilToolbarGUI$toolbar
arrayoptions: all are optional e.g. 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') )
Returns
ilToolbarGUI

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

References $ilCtrl, $lng, $si, ilObject\_lookupObjId(), ilSubmitButton\getInstance(), and ilLinkButton\getInstance().

Referenced by ilOrgUnitStaffGUI\addOtherRolesToolbar(), ilOrgUnitStaffGUI\addStaffToolbar(), ilObjBlogGUI\contributors(), ilForumModeratorsGUI\detachModeratorRole(), ilSurveyParticipantsGUI\editRatersObject(), ilSurveyParticipantsGUI\inviteObject(), ilSurveyParticipantsGUI\listAppraiseesObject(), ilObjGroupGUI\membersObject(), ilObjExerciseGUI\membersObject(), ilObjCourseGUI\membersObject(), ilObjTestGUI\participantsObject(), ilSkillProfileGUI\showUsers(), ilObjExerciseGUI\submissionScreenTeamObject(), ilObjRoleGUI\userassignmentObject(), and ilObjPaymentSettingsGUI\vendorsObject().

129  {
130  global $ilToolbar, $lng, $ilCtrl, $tree;
131 
132  if(!$toolbar instanceof ilToolbarGUI)
133  {
134  $toolbar = $ilToolbar;
135  }
136 
137  // Fill default options
138  if(!isset($a_options['auto_complete_name']))
139  {
140  $a_options['auto_complete_name'] = $lng->txt('obj_user');
141  }
142  if(!isset($a_options['auto_complete_size']))
143  {
144  $a_options['auto_complete_size'] = 15;
145  }
146  if(!isset($a_options['submit_name']))
147  {
148  $a_options['submit_name'] = $lng->txt('btn_add');
149  }
150 
151  $ajax_url = $ilCtrl->getLinkTargetByClass(array(get_class($parent_object),'ilRepositorySearchGUI'),
152  'doUserAutoComplete', '', true,false);
153 
154  include_once("./Services/Form/classes/class.ilTextInputGUI.php");
155  $ul = new ilTextInputGUI($a_options['auto_complete_name'], 'user_login');
156  $ul->setDataSource($ajax_url);
157  $ul->setSize($a_options['auto_complete_size']);
158  $toolbar->addInputItem($ul, true);
159 
160  if(count((array) $a_options['user_type']))
161  {
162  include_once './Services/Form/classes/class.ilSelectInputGUI.php';
163  $si = new ilSelectInputGUI("", "user_type");
164  $si->setOptions($a_options['user_type']);
165  $toolbar->addInputItem($si);
166  }
167 
168  include_once "Services/UIComponent/Button/classes/class.ilSubmitButton.php";
169  $button = ilSubmitButton::getInstance();
170  $button->setCaption($a_options['submit_name'], false);
171  $button->setCommand('addUserFromAutoComplete');
172  $toolbar->addButtonInstance($button);
173 
174  if((bool)$a_options['add_search'] ||
175  is_numeric($a_options['add_from_container']))
176  {
177  $lng->loadLanguageModule("search");
178 
179  $toolbar->addSeparator();
180 
181  if((bool)$a_options['add_search'])
182  {
183  include_once "Services/UIComponent/Button/classes/class.ilLinkButton.php";
184  $button = ilLinkButton::getInstance();
185  $button->setCaption("search_users");
186  $button->setUrl($ilCtrl->getLinkTargetByClass('ilRepositorySearchGUI',''));
187  $toolbar->addButtonInstance($button);
188  }
189 
190  if(is_numeric($a_options['add_from_container']))
191  {
192  $parent_ref_id = (int)$a_options['add_from_container'];
193  $parent_container_ref_id = $tree->checkForParentType($parent_ref_id, "grp");
194  $parent_container_type = "grp";
195  if(!$parent_container_ref_id)
196  {
197  $parent_container_ref_id = $tree->checkForParentType($parent_ref_id, "crs");
198  $parent_container_type = "crs";
199  }
200  if($parent_container_ref_id)
201  {
202  if((bool)$a_options['add_search'])
203  {
204  $toolbar->addSpacer();
205  }
206 
207  $ilCtrl->setParameterByClass('ilRepositorySearchGUI', "list_obj", ilObject::_lookupObjId($parent_container_ref_id));
208 
209  include_once "Services/UIComponent/Button/classes/class.ilLinkButton.php";
210  $button = ilLinkButton::getInstance();
211  $button->setCaption("search_add_members_from_container_".$parent_container_type);
212  $button->setUrl($ilCtrl->getLinkTargetByClass(array(get_class($parent_object),'ilRepositorySearchGUI'), 'listUsers'));
213  $toolbar->addButtonInstance($button);
214  }
215  }
216  }
217 
218  $toolbar->setFormAction(
219  $ilCtrl->getFormActionByClass(
220  array(
221  get_class($parent_object),
222  'ilRepositorySearchGUI')
223  )
224  );
225  return $toolbar;
226  }
This class represents a selection list property in a property form.
addSpacer($a_width=null)
Add spacer.
global $ilCtrl
Definition: ilias.php:18
addInputItem(ilToolbarItem $a_item, $a_output_label=false)
Add input item.
setFormAction($a_val, $a_multipart=false, $a_target="")
Set form action (if form action is set, toolbar is wrapped into form tags.
static _lookupObjId($a_id)
This class represents a text property in a property form.
addButtonInstance(ilButton $a_button)
Add button instance.
addSeparator()
Add separator.
global $lng
Definition: privfeed.php:40
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getString()

ilRepositorySearchGUI::getString ( )

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

280  {
281  return $this->string;
282  }

◆ getTitle()

ilRepositorySearchGUI::getTitle ( )

Get search form title.

Returns
string

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

References $search_title.

Referenced by initFormSearch().

+ Here is the caller graph for this function:

◆ handleMultiCommand()

ilRepositorySearchGUI::handleMultiCommand ( )
protected

Handle multi command.

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

References $_POST, and showSearchResults().

377  {
378  $class = $this->callback['class'];
379  $method = $this->callback['method'];
380 
381  // Redirects if everything is ok
382  if(!$class->$method((array) $_POST['user'],$_POST['selectedCommand']))
383  {
384  $this->showSearchResults();
385  }
386  }
$_POST['username']
Definition: cron.php:12
+ Here is the call graph for this function:

◆ ilRepositorySearchGUI()

ilRepositorySearchGUI::ilRepositorySearchGUI ( )

Constructor public.

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

References $ilCtrl, $lng, $tpl, __loadQueries(), __setSearchType(), and setTitle().

58  {
59  global $ilCtrl,$tpl,$lng;
60 
61  $this->ctrl =& $ilCtrl;
62  $this->tpl =& $tpl;
63  $this->lng =& $lng;
64  $this->lng->loadLanguageModule('search');
65  $this->lng->loadLanguageModule('crs');
66 
67  $this->setTitle($this->lng->txt('add_members_header'));
68 
69  $this->__setSearchType();
70  $this->__loadQueries();
71 
72  $this->result_obj = new ilSearchResult();
73  $this->result_obj->setMaxHits(1000000);
74  $this->settings =& new ilSearchSettings();
75 
76  }
setTitle($a_title)
Set form title.
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:40
+ Here is the call graph for this function:

◆ initFormSearch()

ilRepositorySearchGUI::initFormSearch ( ilObjUser  $user = NULL)

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

References $ilCtrl, $txt, ilUserSearchOptions\_getSearchableFieldsInfo(), ilRadioOption\addSubItem(), FIELD_TYPE_MULTI, FIELD_TYPE_SELECT, FIELD_TYPE_TEXT, FIELD_TYPE_UDF_SELECT, FIELD_TYPE_UDF_TEXT, getTitle(), isSearchableCheckEnabled(), and ilRadioGroupInputGUI\setValue().

Referenced by showSearch().

420  {
421  global $ilCtrl;
422 
423  include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
424 
425  $this->form = new ilPropertyFormGUI();
426  $this->form->setFormAction($this->ctrl->getFormAction($this,'search'));
427  $this->form->setTitle($this->getTitle());
428  $this->form->addCommandButton('performSearch', $this->lng->txt('search'));
429  $this->form->addCommandButton('cancel', $this->lng->txt('cancel'));
430 
431 
432  $kind = new ilRadioGroupInputGUI($this->lng->txt('search_type'),'search_for');
433  $kind->setValue($this->search_type);
434  $this->form->addItem($kind);
435 
436  // Users
437  $users = new ilRadioOption($this->lng->txt('search_for_users'),'usr');
438 
439  // UDF
440  include_once 'Services/Search/classes/class.ilUserSearchOptions.php';
442  {
443  switch($info['type'])
444  {
446  case FIELD_TYPE_SELECT:
447 
448  $sel = new ilSelectInputGUI($info['lang'],"rep_query[usr][".$info['db']."]");
449  $sel->setOptions($info['values']);
450  $users->addSubItem($sel);
451  break;
452 
453  case FIELD_TYPE_MULTI:
454  case FIELD_TYPE_UDF_TEXT:
455  case FIELD_TYPE_TEXT:
456 
457  if(isset($info['autoComplete']) and $info['autoComplete'])
458  {
459  $ilCtrl->setParameterByClass(get_class($this),'autoCompleteField',$info['db']);
460  $ul = new ilTextInputGUI($info['lang'], "rep_query[usr][".$info['db']."]");
461  $ul->setDataSourceSubmitOnSelection(TRUE);
462  $ul->setDataSourceSubmitUrl(
463  $this->ctrl->getLinkTarget(
464  $this,
465  'showSearchSelected',
466  '',
467  FALSE,
468  FALSE
469  )
470  );
471  $ul->setDataSource($ilCtrl->getLinkTarget($this,
472  "doUserAutoComplete", "", true));
473  $ul->setSize(30);
474  $ul->setMaxLength(120);
475 
476  if($user instanceof ilObjUser)
477  {
478  switch($info['db'])
479  {
480  case 'firstname':
481  $ul->setValue($user->getFirstname());
482  break;
483  case 'lastname':
484  $ul->setValue($user->getLastname());
485  break;
486  case 'login':
487  $ul->setValue($user->getLogin());
488  break;
489  }
490  }
491 
492 
493 
494  $users->addSubItem($ul);
495  }
496  else
497  {
498  $txt = new ilTextInputGUI($info['lang'],"rep_query[usr][".$info['db']."]");
499  $txt->setSize(30);
500  $txt->setMaxLength(120);
501  $users->addSubItem($txt);
502  }
503  break;
504  }
505  }
506  $kind->addOption($users);
507 
508 
509 
510  // Role
511  $roles = new ilRadioOption($this->lng->txt('search_for_role_members'),'role');
512  $role = new ilTextInputGUI($this->lng->txt('search_role_title'),'rep_query[role][title]');
513  $role->setSize(30);
514  $role->setMaxLength(120);
515  $roles->addSubItem($role);
516  $kind->addOption($roles);
517 
518  // Course
519  $groups = new ilRadioOption($this->lng->txt('search_for_crs_members'),'crs');
520  $group = new ilTextInputGUI($this->lng->txt('search_crs_title'),'rep_query[crs][title]');
521  $group->setSize(30);
522  $group->setMaxLength(120);
523  $groups->addSubItem($group);
524  $kind->addOption($groups);
525 
526  // Group
527  $groups = new ilRadioOption($this->lng->txt('search_for_grp_members'),'grp');
528  $group = new ilTextInputGUI($this->lng->txt('search_grp_title'),'rep_query[grp][title]');
529  $group->setSize(30);
530  $group->setMaxLength(120);
531  $groups->addSubItem($group);
532  $kind->addOption($groups);
533  }
This class represents an option in a radio group.
getLogin()
get login / username public
This class represents a selection list property in a property form.
This class represents a property form user interface.
getFirstname()
get firstname public
const FIELD_TYPE_MULTI
const FIELD_TYPE_UDF_TEXT
const FIELD_TYPE_SELECT
global $ilCtrl
Definition: ilias.php:18
This class represents a property in a property form.
getLastname()
get lastname public
addSubItem($a_item)
Add Subitem.
This class represents a text property in a property form.
getTitle()
Get search form title.
const FIELD_TYPE_UDF_SELECT
Class ilUserSearchOptions.
$txt
Definition: error.php:10
const FIELD_TYPE_TEXT
static _getSearchableFieldsInfo($a_admin=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isSearchableCheckEnabled()

ilRepositorySearchGUI::isSearchableCheckEnabled ( )
Returns
bool

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

References $searchable_check.

Referenced by __performUserSearch(), and initFormSearch().

+ Here is the caller graph for this function:

◆ listUsers()

ilRepositorySearchGUI::listUsers ( )
protected

List users of course/group/roles.

Returns

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

References $_GET, $_POST, $_SESSION, __appendToStoredResults(), ilObject\_lookupType(), addNewSearchButton(), ilUserFilter\getInstance(), ilParticipants\getInstanceByObjId(), ilParticipants\hasParticipantListAccess(), ilUtil\sendFailure(), showSearchResults(), and showSearchUserTable().

Referenced by storedUserList().

1001  {
1002  // get parameter is used e.g. in exercises to provide
1003  // "add members of course" link
1004  if ($_GET["list_obj"] != "" && !is_array($_POST['obj']))
1005  {
1006  $_POST['obj'][0] = $_GET["list_obj"];
1007  }
1008  if(!is_array($_POST['obj']) or !$_POST['obj'])
1009  {
1010  ilUtil::sendFailure($this->lng->txt('select_one'));
1011  $this->showSearchResults();
1012  return false;
1013  }
1014 
1015  $_SESSION['rep_search']['objs'] = $_POST['obj'];
1016 
1017  // Get all members
1018  $members = array();
1019  foreach($_POST['obj'] as $obj_id)
1020  {
1021  $type = ilObject::_lookupType($obj_id);
1022  switch($type)
1023  {
1024  case 'crs':
1025  case 'grp':
1026 
1027  include_once './Services/Membership/classes/class.ilParticipants.php';
1029  {
1030  $members = array_merge((array) $members, ilParticipants::getInstanceByObjId($obj_id)->getParticipants());
1031  }
1032  break;
1033 
1034  case 'role':
1035  global $rbacreview;
1036 
1037  include_once './Services/User/classes/class.ilUserFilter.php';
1038  $members = array_merge($members, ilUserFilter::getInstance()->filter($rbacreview->assignedUsers($obj_id)));
1039  break;
1040  }
1041  }
1042  $members = array_unique((array) $members);
1043  $this->__appendToStoredResults($members);
1044 
1045  $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.rep_search_result.html','Services/Search');
1046 
1047  $this->addNewSearchButton();
1048  $this->showSearchUserTable($_SESSION['rep_search']['usr'],'storedUserList');
1049  return true;
1050  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
$_POST['username']
Definition: cron.php:12
$_GET["client_id"]
addNewSearchButton()
Add new search button.
static getInstance()
Singelton get instance.
static hasParticipantListAccess($a_obj_id, $a_usr_id=null)
Check if (current) user has access to the participant list.
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
showSearchUserTable($a_usr_ids, $a_parent_cmd)
Show usr table.
static getInstanceByObjId($a_obj_id)
Get instance by obj type.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ performSearch()

ilRepositorySearchGUI::performSearch ( )

Perform a search.

Returns

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

References $_POST, $_SESSION, $res, __performCourseSearch(), __performGroupSearch(), __performRoleSearch(), __performUserSearch(), __updateResults(), ilUserFilter\getInstance(), QP_COMBINATION_OR, ilUtil\sendFailure(), ilUtil\sendInfo(), show(), showSearch(), start(), and ilUtil\stripSlashes().

Referenced by appendSearch().

552  {
553  $found_query = false;
554  foreach((array) $_POST['rep_query'][$_POST['search_for']] as $field => $value)
555  {
556  if(trim(ilUtil::stripSlashes($value)))
557  {
558  $found_query = true;
559  break;
560  }
561  }
562  if(!$found_query)
563  {
564  ilUtil::sendFailure($this->lng->txt('msg_no_search_string'));
565  $this->start();
566  return false;
567  }
568 
569  // unset search_append if called directly
570  if($_POST['cmd']['performSearch'])
571  {
572  unset($_SESSION['search_append']);
573  }
574 
575  switch($this->search_type)
576  {
577  case 'usr':
578  $this->__performUserSearch();
579  break;
580 
581  case 'grp':
582  $this->__performGroupSearch();
583  break;
584 
585  case 'crs':
586  $this->__performCourseSearch();
587  break;
588 
589  case 'role':
590  $this->__performRoleSearch();
591  break;
592 
593  default:
594  echo 'not defined';
595  }
596  $this->result_obj->setRequiredPermission('read');
597  $this->result_obj->addObserver($this, 'searchResultFilterListener');
598  $this->result_obj->filter(ROOT_FOLDER_ID,QP_COMBINATION_OR);
599 
600  // User access filter
601  if($this->search_type == 'usr')
602  {
603  include_once './Services/User/classes/class.ilUserFilter.php';
604  $this->search_results = array_intersect(
605  $this->result_obj->getResultIds(),
606  ilUserFilter::getInstance()->filter($this->result_obj->getResultIds())
607  );
608  }
609  else
610  {
611  $this->search_results = array();
612  foreach((array) $this->result_obj->getResults() as $res)
613  {
614  $this->search_results[] = $res['obj_id'];
615  }
616  }
617 
618  if(!count($this->search_results))
619  {
620  ilUtil::sendFailure($this->lng->txt('search_no_match'));
621  $this->showSearch();
622  return true;
623  }
624  $this->__updateResults();
625  if($this->result_obj->isLimitReached())
626  {
627  $message = sprintf($this->lng->txt('search_limit_reached'),$this->settings->getMaxHits());
628  ilUtil::sendInfo($message);
629  return true;
630  }
631  // show results
632  $this->show();
633  return true;
634  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
$_POST['username']
Definition: cron.php:12
static getInstance()
Singelton get instance.
const QP_COMBINATION_OR
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ searchResultFilterListener()

ilRepositorySearchGUI::searchResultFilterListener (   $a_ref_id,
  $a_data 
)

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

Parameters
int$a_id
array$a_data
Returns

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

1072  {
1073  if($a_data['type'] == 'usr')
1074  {
1075  if($a_data['obj_id'] == ANONYMOUS_USER_ID)
1076  {
1077  return false;
1078  }
1079  }
1080  return true;
1081  }

◆ selectObject()

ilRepositorySearchGUI::selectObject ( )
protected

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

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

References $_GET, $_POST, ilUtil\sendFailure(), and showSearchResults().

1097  {
1098  // get parameter is used e.g. in exercises to provide
1099  // "add members of course" link
1100  if ($_GET["list_obj"] != "" && !is_array($_POST['obj']))
1101  {
1102  $_POST['obj'][0] = $_GET["list_obj"];
1103  }
1104  if(!is_array($_POST['obj']) or !$_POST['obj'])
1105  {
1106  ilUtil::sendFailure($this->lng->txt('select_one'));
1107  $this->showSearchResults();
1108  return false;
1109  }
1110 
1111  $this->ctrl->setParameter($this->callback["class"], "obj", implode(";", $_POST["obj"]));
1112  $this->ctrl->redirect($this->callback["class"], $this->callback["method"]);
1113  }
$_POST['username']
Definition: cron.php:12
$_GET["client_id"]
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ setCallback()

ilRepositorySearchGUI::setCallback ( $class,
  $method,
  $a_add_options = array() 
)

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

389  {
390  $this->callback = array('class' => $class,'method' => $method);
391  $this->add_options = $a_add_options ? $a_add_options : array();
392  }

◆ setString()

ilRepositorySearchGUI::setString (   $a_str)

Set/get search string public.

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

References $_SESSION.

276  {
277  $_SESSION['search']['string'] = $this->string = $a_str;
278  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']

◆ setTitle()

ilRepositorySearchGUI::setTitle (   $a_title)

Set form title.

Parameters
string$a_title

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

Referenced by ilRepositorySearchGUI().

83  {
84  $this->search_title = $a_title;
85  }
+ Here is the caller graph for this function:

◆ show()

ilRepositorySearchGUI::show ( )

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

References showSearchResults().

Referenced by performSearch().

537  {
538  $this->showSearchResults();
539  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showSearch()

ilRepositorySearchGUI::showSearch ( )

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

References initFormSearch().

Referenced by performSearch(), and start().

395  {
396  $this->initFormSearch();
397  $this->tpl->setContent($this->form->getHTML());
398  }
initFormSearch(ilObjUser $user=NULL)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showSearchCourseTable()

ilRepositorySearchGUI::showSearchCourseTable (   $a_obj_ids)
protected
Returns
Parameters
array$a_obj_ids

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

Referenced by showSearchResults().

987  {
988  include_once './Services/Search/classes/class.ilRepositoryObjectResultTableGUI.php';
989 
990  $table = new ilRepositoryObjectResultTableGUI($this,'showSearchResults',$this->object_selection);
991  $table->parseObjectIds($a_obj_ids);
992 
993  $this->tpl->setVariable('RES_TABLE',$table->getHTML());
994  }
TableGUI class object (course,group and role) search results.
+ Here is the caller graph for this function:

◆ showSearchGroupTable()

ilRepositorySearchGUI::showSearchGroupTable (   $a_obj_ids)
protected
Returns
Parameters
array$a_obj_ids

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

Referenced by showSearchResults().

972  {
973  include_once './Services/Search/classes/class.ilRepositoryObjectResultTableGUI.php';
974 
975  $table = new ilRepositoryObjectResultTableGUI($this,'showSearchResults',$this->object_selection);
976  $table->parseObjectIds($a_obj_ids);
977 
978  $this->tpl->setVariable('RES_TABLE',$table->getHTML());
979  }
TableGUI class object (course,group and role) search results.
+ Here is the caller graph for this function:

◆ showSearchResults()

ilRepositorySearchGUI::showSearchResults ( )

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

References $_SESSION, addNewSearchButton(), showSearchCourseTable(), showSearchGroupTable(), showSearchRoleTable(), and showSearchUserTable().

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

889  {
890  $counter = 0;
891  $f_result = array();
892 
893  $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.rep_search_result.html','Services/Search');
894  $this->addNewSearchButton();
895 
896  switch($this->search_type)
897  {
898  case "usr":
899  $this->showSearchUserTable($_SESSION['rep_search']['usr'],'showSearchResults');
900  break;
901 
902  case 'grp':
903  $this->showSearchGroupTable($_SESSION['rep_search']['grp']);
904  break;
905 
906  case 'crs':
907  $this->showSearchCourseTable($_SESSION['rep_search']['crs']);
908  break;
909 
910  case 'role':
911  $this->showSearchRoleTable($_SESSION['rep_search']['role']);
912  break;
913  }
914  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
addNewSearchButton()
Add new search button.
showSearchRoleTable($a_obj_ids)
Show usr table.
showSearchUserTable($a_usr_ids, $a_parent_cmd)
Show usr table.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showSearchRoleTable()

ilRepositorySearchGUI::showSearchRoleTable (   $a_obj_ids)
protected

Show usr table.

Returns
Parameters
object$a_usr_ids

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

Referenced by showSearchResults().

957  {
958  include_once './Services/Search/classes/class.ilRepositoryObjectResultTableGUI.php';
959 
960  $table = new ilRepositoryObjectResultTableGUI($this,'showSearchResults',$this->object_selection);
961  $table->parseObjectIds($a_obj_ids);
962 
963  $this->tpl->setVariable('RES_TABLE',$table->getHTML());
964  }
TableGUI class object (course,group and role) search results.
+ Here is the caller graph for this function:

◆ showSearchSelected()

ilRepositorySearchGUI::showSearchSelected ( )

submit from autocomplete

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

References $_REQUEST, addNewSearchButton(), and showSearchUserTable().

404  {
405  $selected = (int) $_REQUEST['selected_id'];
406 
407  #include_once './Services/Object/classes/class.ilObjectFactory.php';
408  #$factory = new ilObjectFactory();
409  #$user = $factory->getInstanceByObjId($selected);
410 
411  #$this->initFormSearch($user);
412  #$this->tpl->setContent($this->form->getHTML());
413 
414  $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.rep_search_result.html','Services/Search');
415  $this->addNewSearchButton();
416  $this->showSearchUserTable(array($selected),'showSearchResults');
417  }
addNewSearchButton()
Add new search button.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
showSearchUserTable($a_usr_ids, $a_parent_cmd)
Show usr table.
+ Here is the call graph for this function:

◆ showSearchUserTable()

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

Show usr table.

Returns
Parameters
object$a_usr_ids

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

References $_REQUEST, and $_SESSION.

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

922  {
923  $is_in_admin = ($_REQUEST['baseClass'] == 'ilAdministrationGUI');
924  if($is_in_admin)
925  {
926  // remember link target to admin search gui (this)
927  $_SESSION["usr_search_link"] = $this->ctrl->getLinkTarget($this,'show');
928  }
929 
930  include_once './Services/Search/classes/class.ilRepositoryUserResultTableGUI.php';
931 
932  $table = new ilRepositoryUserResultTableGUI($this,$a_parent_cmd,$is_in_admin);
933  if(count($this->add_options))
934  {
935  $table->addMultiItemSelectionButton(
936  'selectedCommand',
937  $this->add_options,
938  'handleMultiCommand',
939  $this->lng->txt('execute')
940  );
941  }
942  else
943  {
944  $table->addMultiCommand('addUser', $this->lng->txt('btn_add'));
945  }
946  $table->parseUserIds($a_usr_ids);
947 
948  $this->tpl->setVariable('RES_TABLE',$table->getHTML());
949  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the caller graph for this function:

◆ start()

ilRepositorySearchGUI::start ( )

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

References __clearSession(), and showSearch().

Referenced by performSearch().

325  {
326  // delete all session info
327  $this->__clearSession();
328  $this->showSearch();
329 
330  return true;
331  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ storedUserList()

ilRepositorySearchGUI::storedUserList ( )
protected

Called from table sort.

Returns

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

References $_POST, $_SESSION, and listUsers().

1057  {
1058  $_POST['obj'] = $_SESSION['rep_search']['objs'];
1059  $this->listUsers();
1060  return true;
1061  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
$_POST['username']
Definition: cron.php:12
listUsers()
List users of course/group/roles.
+ Here is the call graph for this function:

Field Documentation

◆ $add_options

ilRepositorySearchGUI::$add_options = array()
protected

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

◆ $object_selection

ilRepositorySearchGUI::$object_selection = false
protected

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

◆ $search_results

ilRepositorySearchGUI::$search_results = array()
private

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

◆ $search_title

ilRepositorySearchGUI::$search_title = ''
protected

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

Referenced by getTitle().

◆ $search_type

ilRepositorySearchGUI::$search_type = 'usr'

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

Referenced by __updateResults().

◆ $searchable_check

ilRepositorySearchGUI::$searchable_check = true
protected

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

Referenced by isSearchableCheckEnabled().


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