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
4include_once("./Services/Table/classes/class.ilTable2GUI.php");
5
16{
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 {
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
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}
if(!isset( $_REQUEST[ 'ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
$_GET["client_id"]
An exception for terminatinating execution or to throw for unit testing.
const IL_CAL_DATE
const IL_CAL_UNIX
const IL_CAL_DATETIME
const IL_CAL_DAY
const USER_FOLDER_ID
Class ilObjUserFolder.
const UDF_TYPE_SELECT
const UDF_TYPE_TEXT
static _getAuthMode($a_auth_mode, $a_db_handler='')
static _getActiveAuthModes()
static getAuthModeTranslation($a_auth_key)
static _getAuthModeName($a_auth_key)
This class represents a checkbox property in a property form.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date @access public.
This class represents a date/time property in a property form.
@classDescription Date and time handling
Class for single dates.
static _getFolderIds()
static lookupOrgUnitsRepresentation($a_usr_id)
lokup org unit representation
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
This class represents a repository selector in a property form.
This class represents a selection list property in a property form.
Class ilTable2GUI.
getSelectedColumns()
Get selected columns.
setTopCommands($a_val)
Set top commands (display command buttons on top of table, too)
setEnableHeader($a_enableheader)
Set Enable Header.
setExternalSorting($a_val)
Set external sorting.
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
getParentObject()
Get parent object.
determineOffsetAndOrder($a_omit_offset=false)
Determine offset and order.
setEnableAllCommand($a_value)
Enable actions for all entries in current result.
setData($a_data)
set table data @access public
setEnableTitle($a_enabletitle)
Set Enable Title.
getLimit()
Get limit.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
resetOffset($a_in_determination=false)
Reset offset.
addMultiCommand($a_cmd, $a_text)
Add Command button.
addFilterItem($a_input_item, $a_optional=false)
Add filter item.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.
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.
getOffset()
Get offset.
setExternalSegmentation($a_val)
Set external segmentation.
setId($a_val)
Set id.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
setFilterCommand($a_val, $a_caption=null)
Set filter command.
getOrderDirection()
Get order direction.
setMaxCount($a_max_count)
set max.
This class represents a text property in a property form.
static _getInstance()
Get instance.
Class ilUserProfile.
User query class.
TableGUI class for user administration.
readUserDefinedFieldsDefinitions()
Read user defined fields definitions.
getUserDefinedField($a_key)
Get user defined field.
addFilterItemByUdfType($id, $type, $a_optional=false, $caption=null, $a_options=array())
Add filter by standard type.
initFilter()
Init filter.
__construct($a_parent_obj, $a_parent_cmd, $a_mode=self::MODE_USER_FOLDER, $a_load_items=true)
Constructor.
getSelectableColumns()
Get selectable columns.
getItems()
Get user items.
fillRow($user)
Fill table row.
isUdfColumn($a_key)
Field key.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
if(!array_key_exists('StateId', $_REQUEST)) $id
global $ilCtrl
Definition: ilias.php:18
$query
$type
$ilUser
Definition: imgupload.php:18
$cols
Definition: xhr_table.php:11