ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilUserTableGUI.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 include_once("./Services/Table/classes/class.ilTable2GUI.php");
5 
16 {
17  const MODE_USER_FOLDER = 1;
18  const MODE_LOCAL_USER = 2;
19 
20  private $mode = null;
21  private $user_folder_id = 0;
22 
26  protected $udf_fields = array();
27 
31  public function __construct($a_parent_obj, $a_parent_cmd, $a_mode = self::MODE_USER_FOLDER, $a_load_items = true)
32  {
33  global $ilCtrl, $lng, $ilAccess, $lng, $rbacsystem;
34 
35  $this->user_folder_id = $a_parent_obj->object->getRefId();
36 
37  $this->setMode($a_mode);
38  $this->setId("user" . $this->getUserFolderId());
40 
41  parent::__construct($a_parent_obj, $a_parent_cmd);
42  // $this->setTitle($this->lng->txt("users"));
43 
44  $this->addColumn("", "", "1", true);
45  $this->addColumn($this->lng->txt("login"), "login");
46 
47  foreach ($this->getSelectedColumns() as $c) {
48  if ($this->isUdfColumn($c)) {
49  $f = $this->getUserDefinedField($c);
50  $this->addColumn($f["txt"], $f["sortable"] ? $c : "");
51  } else { // usual column
52  $this->addColumn($this->lng->txt($c), $c);
53  }
54  }
55 
56  if ($this->getMode() == self::MODE_LOCAL_USER) {
57  $this->addColumn($this->lng->txt('context'), 'time_limit_owner');
58  $this->addColumn($this->lng->txt('role_assignment'));
59  }
60 
61  $this->setShowRowsSelector(true);
62  $this->setExternalSorting(true);
63  $this->setExternalSegmentation(true);
64  $this->setEnableHeader(true);
65  $this->setFormAction($ilCtrl->getFormAction($this->parent_obj, "applyFilter"));
66  $this->setRowTemplate("tpl.user_list_row.html", "Services/User");
67  //$this->disable("footer");
68  $this->setEnableTitle(true);
69  $this->initFilter();
70  $this->setFilterCommand("applyFilter");
71  $this->setDefaultOrderField("login");
72  $this->setDefaultOrderDirection("asc");
73 
74  $this->setSelectAllCheckbox("id[]");
75  $this->setTopCommands(true);
76 
77 
78  if ($this->getMode() == self::MODE_USER_FOLDER) {
79  $this->setEnableAllCommand(true);
80 
81  $cmds = $a_parent_obj->getUserMultiCommands();
82  foreach ($cmds as $cmd => $caption) {
83  $this->addMultiCommand($cmd, $caption);
84  }
85  } else {
86  $this->addMultiCommand("deleteUsers", $lng->txt("delete"));
87  }
88 
89  if ($a_load_items) {
90  $this->getItems();
91  }
92  }
93 
94  protected function setMode($a_mode)
95  {
96  $this->mode = $a_mode;
97  }
98 
99  protected function getMode()
100  {
101  return $this->mode;
102  }
103 
104  protected function getUserFolderId()
105  {
106  return $this->user_folder_id;
107  }
108 
113  {
114  include_once './Services/User/classes/class.ilUserDefinedFields.php';
115  $user_defined_fields = ilUserDefinedFields::_getInstance();
116  foreach ($user_defined_fields->getDefinitions() as $field => $definition) {
117  $this->udf_fields["udf_" . $field] = array(
118  "txt" => $definition["field_name"],
119  "default" => false,
120  "options" => $definition["field_values"],
121  "type" => $definition["field_type"],
122  "sortable" => in_array($definition["field_type"], array(UDF_TYPE_TEXT, UDF_TYPE_SELECT))
123  );
124  }
125  }
126 
132  public function getUserDefinedField($a_key)
133  {
134  if (isset($this->udf_fields[$a_key])) {
135  return $this->udf_fields[$a_key];
136  }
137  return array();
138  }
139 
145  public function isUdfColumn($a_key)
146  {
147  if (substr($a_key, 0, 4) == "udf_") {
148  return true;
149  }
150  return false;
151  }
152 
153 
160  public function getSelectableColumns()
161  {
162  global $lng;
163 
164  include_once("./Services/User/classes/class.ilUserProfile.php");
165  $up = new ilUserProfile();
166  $up->skipGroup("preferences");
167  $up->skipGroup("interests");
168  $up->skipGroup("settings");
169 
170  // default fields
171  $cols = array();
172 
173  // first and last name cannot be hidden
174  $cols["firstname"] = array(
175  "txt" => $lng->txt("firstname"),
176  "default" => true);
177  $cols["lastname"] = array(
178  "txt" => $lng->txt("lastname"),
179  "default" => true);
180  if ($this->getMode() == self::MODE_USER_FOLDER) {
181  $ufs = $up->getStandardFields();
182 
183  $cols["access_until"] = array(
184  "txt" => $lng->txt("access_until"),
185  "default" => true);
186  $cols["last_login"] = array(
187  "txt" => $lng->txt("last_login"),
188  "default" => true);
189 
190  // #13967
191  $cols["create_date"] = array(
192  "txt" => $lng->txt("create_date"));
193  $cols["approve_date"] = array(
194  "txt" => $lng->txt("approve_date"));
195  $cols["agree_date"] = array(
196  "txt" => $lng->txt("agree_date"));
197  } else {
198  $ufs = $up->getLocalUserAdministrationFields();
199  }
200 
201  // email should be the 1st "optional" field (can be hidden)
202  if (isset($ufs["email"])) {
203  $cols["email"] = array(
204  "txt" => $lng->txt("email"),
205  "default" => true);
206  }
207  if (isset($ufs["second_email"])) {
208  $cols["second_email"] = array(
209  "txt" => $lng->txt("second_email"),
210  "default" => true);
211  }
212  // other user profile fields
213  foreach ($ufs as $f => $fd) {
214  if (!isset($cols[$f]) && !$fd["lists_hide"]) {
215  // #18795
216  $caption = $fd["lang_var"]
217  ? $fd["lang_var"]
218  : $f;
219  $cols[$f] = array(
220  "txt" => $lng->txt($caption),
221  "default" => false);
222  }
223  }
224 
225 
229  $cols["auth_mode"] = array(
230  "txt" => $lng->txt("auth_mode"),
231  "default" => false);
232 
233 
234  // custom user fields
235  if ($this->getMode() == self::MODE_USER_FOLDER) {
236  foreach ($this->udf_fields as $k => $field) {
237  $cols[$k] = $field;
238  }
239  }
240 
241  // fields that are always shown
242  unset($cols["username"]);
243 
244  return $cols;
245  }
246 
250  public function getItems()
251  {
252  global $lng;
253  //if ($GLOBALS["kk"]++ == 1) nj();
254 
255  $this->determineOffsetAndOrder();
256 
257  if ($this->getMode() == self::MODE_USER_FOLDER) {
258  // All accessible users
259  include_once './Services/User/classes/class.ilLocalUser.php';
260  $user_filter = ilLocalUser::_getFolderIds();
261  } else {
262  if ($this->filter['time_limit_owner']) {
263  $user_filter = array($this->filter['time_limit_owner']);
264  } else {
265  // All accessible users
266  include_once './Services/User/classes/class.ilLocalUser.php';
267  $user_filter = ilLocalUser::_getFolderIds();
268  }
269  }
270 
271  //#13221 don't show all users if user filter is empty!
272  if (!count($user_filter)) {
273  $this->setMaxCount(0);
274  $this->setData(array());
275  return;
276  }
277 
278  include_once("./Services/User/classes/class.ilUserQuery.php");
279 
280  $additional_fields = $this->getSelectedColumns();
281  unset($additional_fields["firstname"]);
282  unset($additional_fields["lastname"]);
283  unset($additional_fields["email"]);
284  unset($additional_fields["second_email"]);
285  unset($additional_fields["last_login"]);
286  unset($additional_fields["access_until"]);
287  unset($additional_fields['org_units']);
288 
289  $udf_filter = array();
290  foreach ($this->filter as $k => $v) {
291  if (substr($k, 0, 4) == "udf_") {
292  $udf_filter[$k] = $v;
293  }
294  }
295 
296  $query = new ilUserQuery();
297  $query->setOrderField($this->getOrderField());
298  $query->setOrderDirection($this->getOrderDirection());
299  $query->setOffset($this->getOffset());
300  $query->setLimit($this->getLimit());
301  $query->setTextFilter($this->filter['query']);
302  $query->setActionFilter($this->filter['activation']);
303  $query->setLastLogin($this->filter['last_login']);
304  $query->setLimitedAccessFilter($this->filter['limited_access']);
305  $query->setNoCourseFilter($this->filter['no_courses']);
306  $query->setNoGroupFilter($this->filter['no_groups']);
307  $query->setCourseGroupFilter($this->filter['course_group']);
308  $query->setRoleFilter($this->filter['global_role']);
309  $query->setAdditionalFields($additional_fields);
310  $query->setUserFolder($user_filter);
311  $query->setUdfFilter($udf_filter);
312  $query->setFirstLetterLastname(ilUtil::stripSlashes($_GET['letter']));
313  $query->setAuthenticationFilter($this->filter['authentication']);
314 
315  $usr_data = $query->query();
316 
317 
318  if (count($usr_data["set"]) == 0 && $this->getOffset() > 0) {
319  $this->resetOffset();
320  $query->setOffset($this->getOffset());
321  $usr_data = $query->query();
322  }
323 
324  foreach ($usr_data["set"] as $k => $user) {
325  if (in_array('org_units', $this->getSelectedColumns())) {
326  $usr_data['set'][$k]['org_units'] = ilObjUser::lookupOrgUnitsRepresentation($user['usr_id']);
327  }
328 
329 
330  $current_time = time();
331  if ($user['active']) {
332  if ($user["time_limit_unlimited"]) {
333  $txt_access = $lng->txt("access_unlimited");
334  $usr_data["set"][$k]["access_class"] = "smallgreen";
335  } elseif ($user["time_limit_until"] < $current_time) {
336  $txt_access = $lng->txt("access_expired");
337  $usr_data["set"][$k]["access_class"] = "smallred";
338  } else {
339  $txt_access = ilDatePresentation::formatDate(new ilDateTime($user["time_limit_until"], IL_CAL_UNIX));
340  $usr_data["set"][$k]["access_class"] = "small";
341  }
342  } else {
343  $txt_access = $lng->txt("inactive");
344  $usr_data["set"][$k]["access_class"] = "smallred";
345  }
346  $usr_data["set"][$k]["access_until"] = $txt_access;
347  }
348 
349  $this->setMaxCount($usr_data["cnt"]);
350  $this->setData($usr_data["set"]);
351  }
352 
353  public function getUserIdsForFilter()
354  {
355  if ($this->getMode() == self::MODE_USER_FOLDER) {
356  // All accessible users
357  include_once './Services/User/classes/class.ilLocalUser.php';
358  $user_filter = ilLocalUser::_getFolderIds();
359  } else {
360  if ($this->filter['time_limit_owner']) {
361  $user_filter = array($this->filter['time_limit_owner']);
362  } else {
363  // All accessible users
364  include_once './Services/User/classes/class.ilLocalUser.php';
365  $user_filter = ilLocalUser::_getFolderIds();
366  }
367  }
368 
369  include_once("./Services/User/classes/class.ilUserQuery.php");
370  $query = new ilUserQuery();
371  $query->setOffset(0);
372  $query->setLimit(self::getAllCommandLimit());
373  $query->setTextFilter($this->filter['query']);
374  $query->setActionFilter($this->filter['activation']);
375  $query->setAuthenticationFilter($this->filter['authentication']);
376  $query->setLastLogin($this->filter['last_login']);
377  $query->setLimitedAccessFilter($this->filter['limited_access']);
378  $query->setNoCourseFilter($this->filter['no_courses']);
379  $query->setNoGroupFilter($this->filter['no_groups']);
380  $query->setCourseGroupFilter($this->filter['course_group']);
381  $query->setRoleFilter($this->filter['global_role']);
382  $query->setUserFolder($user_filter);
383  $query->setFirstLetterLastname(ilUtil::stripSlashes($_GET['letter']));
384 
385  if ($this->getOrderField()) {
386  $query->setOrderField(ilUtil::stripSlashes($this->getOrderField()));
387  $query->setOrderDirection(ilUtil::stripSlashes($this->getOrderDirection()));
388  }
389 
390  $usr_data = $query->query();
391 
392  $user_ids = array();
393  foreach ($usr_data["set"] as $item) {
394  // #11632
395  if ($item["usr_id"] != SYSTEM_USER_ID) {
396  $user_ids[] = $item["usr_id"];
397  }
398  }
399  return $user_ids;
400  }
401 
402 
406  public function initFilter()
407  {
408  global $lng, $rbacreview, $ilUser, $ilCtrl;
409 
410 
411  // Show context filter
412  if ($this->getMode() == self::MODE_LOCAL_USER) {
413  include_once './Services/User/classes/class.ilLocalUser.php';
414  $parent_ids = ilLocalUser::_getFolderIds();
415 
416  if (count($parent_ids) > 1) {
417  include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
418  $co = new ilSelectInputGUI($lng->txt('context'), 'time_limit_owner');
419 
420  $ref_id = $this->getUserFolderId();
421 
422  $opt[0] = $this->lng->txt('all_users');
423  $opt[$this->getUserFolderId()] = $lng->txt('users') . ' (' . ilObject::_lookupTitle(ilObject::_lookupObjId($this->getUserFolderId())) . ')';
424 
425  foreach ($parent_ids as $parent_id) {
426  if ($parent_id == $this->getUserFolderId()) {
427  continue;
428  }
429  switch ($parent_id) {
430  case USER_FOLDER_ID:
431  $opt[USER_FOLDER_ID] = $lng->txt('global_user');
432  break;
433 
434  default:
435  $opt[$parent_id] = $lng->txt('users') . ' (' . ilObject::_lookupTitle(ilObject::_lookupObjId($parent_id)) . ')';
436  break;
437  }
438  }
439  $co->setOptions($opt);
440  $this->addFilterItem($co);
441  $co->readFromSession();
442  $this->filter['time_limit_owner'] = $co->getValue();
443  }
444  }
445 
446  // User name, login, email filter
447  include_once("./Services/Form/classes/class.ilTextInputGUI.php");
448  $ul = new ilTextInputGUI($lng->txt("login") . "/" . $lng->txt("email") . "/" .
449  $lng->txt("name"), "query");
450  $ul->setDataSource($ilCtrl->getLinkTarget(
451  $this->getParentObject(),
452  "addUserAutoComplete",
453  "",
454  true
455  ));
456  $ul->setSize(20);
457  $ul->setSubmitFormOnEnter(true);
458  $this->addFilterItem($ul);
459  $ul->readFromSession();
460  $this->filter["query"] = $ul->getValue();
461 
462  /*
463  include_once("./Services/Form/classes/class.ilTextInputGUI.php");
464  $ti = new ilTextInputGUI($lng->txt("login")."/".$lng->txt("email")."/".$lng->txt("name"), "query");
465  $ti->setMaxLength(64);
466  $ti->setSize(20);
467  $ti->setSubmitFormOnEnter(true);
468  $this->addFilterItem($ti);
469  $ti->readFromSession();
470  $this->filter["query"] = $ti->getValue();
471  */
472 
473  // activation
474  include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
475  $options = array(
476  "" => $lng->txt("user_all"),
477  "active" => $lng->txt("active"),
478  "inactive" => $lng->txt("inactive"),
479  );
480  $si = new ilSelectInputGUI($this->lng->txt("user_activation"), "activation");
481  $si->setOptions($options);
482  $this->addFilterItem($si);
483  $si->readFromSession();
484  $this->filter["activation"] = $si->getValue();
485 
486  // limited access
487  include_once("./Services/Form/classes/class.ilCheckboxInputGUI.php");
488  $cb = new ilCheckboxInputGUI($this->lng->txt("user_limited_access"), "limited_access");
489  $this->addFilterItem($cb);
490  $cb->readFromSession();
491  $this->filter["limited_access"] = $cb->getChecked();
492 
493  // last login
494  include_once("./Services/Form/classes/class.ilDateTimeInputGUI.php");
495  $di = new ilDateTimeInputGUI($this->lng->txt("user_last_login_before"), "last_login");
496  $default_date = new ilDateTime(time(), IL_CAL_UNIX);
497  $default_date->increment(IL_CAL_DAY, 1);
498  $di->setDate($default_date);
499  $this->addFilterItem($di);
500  $di->readFromSession();
501  $this->filter["last_login"] = $di->getDate();
502 
503  if ($this->getMode() == self::MODE_USER_FOLDER) {
504  // no assigned courses
505  include_once("./Services/Form/classes/class.ilCheckboxInputGUI.php");
506  $cb = new ilCheckboxInputGUI($this->lng->txt("user_no_courses"), "no_courses");
507  $this->addFilterItem($cb);
508  $cb->readFromSession();
509  $this->filter["no_courses"] = $cb->getChecked();
510 
511  // no assigned groups
512  include_once("./Services/Form/classes/class.ilCheckboxInputGUI.php");
513  $ng = new ilCheckboxInputGUI($this->lng->txt("user_no_groups"), "no_groups");
514  $this->addFilterItem($ng);
515  $ng->readFromSession();
516  $this->filter['no_groups'] = $ng->getChecked();
517 
518  // course/group members
519  include_once("./Services/Form/classes/class.ilRepositorySelectorInputGUI.php");
520  $rs = new ilRepositorySelectorInputGUI($lng->txt("user_member_of_course_group"), "course_group");
521  $rs->setSelectText($lng->txt("user_select_course_group"));
522  $rs->setHeaderMessage($lng->txt("user_please_select_course_group"));
523  $rs->setClickableTypes(array("crs", "grp"));
524  $this->addFilterItem($rs);
525  $rs->readFromSession();
526  $this->filter["course_group"] = $rs->getValue();
527  }
528 
529  // global roles
530  $options = array(
531  "" => $lng->txt("user_any"),
532  );
533  $roles = $rbacreview->getRolesByFilter(2, $ilUser->getId());
534  foreach ($roles as $role) {
535  $options[$role["rol_id"]] = $role["title"];
536  }
537  $si = new ilSelectInputGUI($this->lng->txt("user_global_role"), "global_role");
538  $si->setOptions($options);
539  $this->addFilterItem($si);
540  $si->readFromSession();
541  $this->filter["global_role"] = $si->getValue();
542 
543  // authentication mode
544  $auth_methods = ilAuthUtils::_getActiveAuthModes();
545  $options = array(
546  "" => $lng->txt("user_any"),
547  );
548  foreach ($auth_methods as $method => $value) {
549  if ($method == 'default') {
550  $options[$method] = $this->lng->txt('auth_' . $method) . " (" . $this->lng->txt('auth_' . ilAuthUtils::_getAuthModeName($value)) . ")";
551  } else {
553  }
554  }
555  $si = new ilSelectInputGUI($this->lng->txt("auth_mode"), "authentication_method");
556  $si->setOptions($options);
557  $this->addFilterItem($si);
558  $si->readFromSession();
559  $this->filter["authentication"] = $si->getValue();
560 
561  // udf fields
562  foreach ($this->udf_fields as $id => $f) {
563  $this->addFilterItemByUdfType($id, $f["type"], true, $f["txt"], $f["options"]);
564  }
565  }
566 
576  public function addFilterItemByUdfType($id, $type, $a_optional = false, $caption = null, $a_options = array())
577  {
578  global $lng;
579 
580  if (!$caption) {
581  $caption = $lng->txt($id);
582  }
583 
584  include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
585 
586  switch ($type) {
587  case UDF_TYPE_SELECT:
588  include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
589  $item = new ilSelectInputGUI($caption, $id);
590  $sel_options = array("" => $this->lng->txt("user_all"));
591  foreach ($a_options as $o) {
592  $sel_options[$o] = $o;
593  }
594  $item->setOptions($sel_options);
595  break;
596 
597  case UDF_TYPE_TEXT:
598  include_once("./Services/Form/classes/class.ilTextInputGUI.php");
599  $item = new ilTextInputGUI($caption, $id);
600  $item->setMaxLength(64);
601  $item->setSize(20);
602  // $item->setSubmitFormOnEnter(true);
603  break;
604 
605  default:
606  return null;
607  }
608 
609  if ($item) {
610  $this->addFilterItem($item, $a_optional);
611  $item->readFromSession();
612  $this->filter[$id] = $item->getValue();
613  }
614  return $item;
615  }
616 
620  protected function fillRow($user)
621  {
622  global $ilCtrl, $lng;
623 
624  $ilCtrl->setParameterByClass("ilobjusergui", "letter", $_GET["letter"]);
625 
626  foreach ($this->getSelectedColumns() as $c) {
627  if ($c == "access_until") {
628  $this->tpl->setCurrentBlock("access_until");
629  $this->tpl->setVariable("VAL_ACCESS_UNTIL", $user["access_until"]);
630  $this->tpl->setVariable("CLASS_ACCESS_UNTIL", $user["access_class"]);
631  } elseif ($c == "last_login") {
632  $this->tpl->setCurrentBlock("last_login");
633  $this->tpl->setVariable(
634  "VAL_LAST_LOGIN",
636  );
637  } elseif (in_array($c, array("firstname", "lastname"))) {
638  $this->tpl->setCurrentBlock($c);
639  $this->tpl->setVariable("VAL_" . strtoupper($c), (string) $user[$c]);
640  } elseif ($c == 'auth_mode') {
641  $this->tpl->setCurrentBlock('user_field');
642  $this->tpl->setVariable('VAL_UF', ilAuthUtils::getAuthModeTranslation(ilAuthUtils::_getAuthMode($user['auth_mode'])));
643  $this->tpl->parseCurrentBlock();
644  } else { // all other fields
645  $this->tpl->setCurrentBlock("user_field");
646  $val = (trim($user[$c]) == "")
647  ? " "
648  : $user[$c];
649  if ($user[$c] != "") {
650  switch ($c) {
651  case "birthday":
653  break;
654 
655  case "gender":
656  $val = $lng->txt("gender_" . $user[$c]);
657  break;
658 
659  case "create_date":
660  case "agree_date":
661  case "approve_date":
662  // $val = ilDatePresentation::formatDate(new ilDateTime($val,IL_CAL_DATETIME));
664  break;
665  }
666  }
667  $this->tpl->setVariable("VAL_UF", $val);
668  }
669 
670  $this->tpl->parseCurrentBlock();
671  }
672 
673  if ($user["usr_id"] != 6) {
674  if ($this->getMode() == self::MODE_USER_FOLDER or $user['time_limit_owner'] == $this->getUserFolderId()) {
675  $this->tpl->setCurrentBlock("checkb");
676  $this->tpl->setVariable("ID", $user["usr_id"]);
677  $this->tpl->parseCurrentBlock();
678  }
679  }
680 
681  if ($this->getMode() == self::MODE_USER_FOLDER or $user['time_limit_owner'] == $this->getUserFolderId()) {
682  $this->tpl->setVariable("VAL_LOGIN", $user["login"]);
683  $ilCtrl->setParameterByClass("ilobjusergui", "obj_id", $user["usr_id"]);
684  $this->tpl->setVariable(
685  "HREF_LOGIN",
686  $ilCtrl->getLinkTargetByClass("ilobjusergui", "view")
687  );
688  $ilCtrl->setParameterByClass("ilobjusergui", "obj_id", "");
689  } else {
690  $this->tpl->setVariable('VAL_LOGIN_PLAIN', $user['login']);
691  }
692 
693  if ($this->getMode() == self::MODE_LOCAL_USER) {
694  $this->tpl->setCurrentBlock('context');
695  $this->tpl->setVariable('VAL_CONTEXT', (string) ilObject::_lookupTitle(ilObject::_lookupObjId($user['time_limit_owner'])));
696  $this->tpl->parseCurrentBlock();
697 
698  $this->tpl->setCurrentBlock('roles');
699  $ilCtrl->setParameter($this->getParentObject(), 'obj_id', $user['usr_id']);
700  $this->tpl->setVariable('ROLE_LINK', $ilCtrl->getLinkTarget($this->getParentObject(), 'assignRoles'));
701  $this->tpl->setVariable('TXT_ROLES', $this->lng->txt('edit'));
702  $ilCtrl->clearParameters($this->getParentObject());
703  $this->tpl->parseCurrentBlock();
704  }
705  }
706 }
const UDF_TYPE_SELECT
getUserDefinedField($a_key)
Get user defined field.
setExternalSorting($a_val)
Set external sorting.
setDataSource($href, $a_delimiter=null)
set datasource link for js autocomplete
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
User query class.
const IL_CAL_DATETIME
static _getInstance()
Get instance.
This class represents a selection list property in a property form.
$type
$_GET["client_id"]
setExternalSegmentation($a_val)
Set external segmentation.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date public.
resetOffset($a_in_determination=false)
Reset offset.
if(!array_key_exists('StateId', $_REQUEST)) $id
Class ilUserProfile.
getSelectableColumns()
Get selectable columns.
This class represents a checkbox property in a property form.
addFilterItem($a_input_item, $a_optional=false)
Add filter item.
static _lookupTitle($a_id)
lookup object title
static _getActiveAuthModes()
const IL_CAL_UNIX
getOrderDirection()
Get order direction.
static _getAuthMode($a_auth_mode, $a_db_handler='')
static _getAuthModeName($a_auth_key)
getParentObject()
Get parent object.
setId($a_val)
Set id.
This class represents a date/time property in a property form.
global $ilCtrl
Definition: ilias.php:18
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
static lookupOrgUnitsRepresentation($a_usr_id)
lokup org unit representation
TableGUI class for user administration.
const IL_CAL_DAY
setTopCommands($a_val)
Set top commands (display command buttons on top of table, too)
Class ilTable2GUI.
readUserDefinedFieldsDefinitions()
Read user defined fields definitions.
Class for single dates.
initFilter()
Init filter.
getOffset()
Get offset.
This class represents a repository selector in a property form.
static _lookupObjId($a_id)
addMultiCommand($a_cmd, $a_text)
Add Command button.
const UDF_TYPE_TEXT
This class represents a text property in a property form.
setDate(ilDateTime $a_date=null)
set date E.g $dt_form->setDate(new ilDateTime(time(),IL_CAL_UTC)); or $dt_form->setDate(new ilDateTim...
Date and time handling
$ilUser
Definition: imgupload.php:18
getSelectedColumns()
Get selected columns.
$query
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
setOptions($a_options)
Set Options.
setEnableAllCommand($a_value)
Enable actions for all entries in current result.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
Create styles array
The data for the language used.
isUdfColumn($a_key)
Field key.
determineOffsetAndOrder($a_omit_offset=false)
Determine offset and order.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
const IL_CAL_DATE
__construct($a_parent_obj, $a_parent_cmd, $a_mode=self::MODE_USER_FOLDER, $a_load_items=true)
Constructor.
fillRow($user)
Fill table row.
static getAuthModeTranslation($a_auth_key)
addColumn( $a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
const USER_FOLDER_ID
Class ilObjUserFolder.
setEnableHeader($a_enableheader)
Set Enable Header.
getLimit()
Get limit.
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.
static _getFolderIds()
setMaxCount($a_max_count)
set max.
setEnableTitle($a_enabletitle)
Set Enable Title.
$cols
Definition: xhr_table.php:11
getItems()
Get user items.
addFilterItemByUdfType($id, $type, $a_optional=false, $caption=null, $a_options=array())
Add filter by standard type.
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
setFilterCommand($a_val, $a_caption=null)
Set filter command.