4 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
30 public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output =
true)
35 define(
'USER_FOLDER_ID', 7);
38 parent::__construct($a_data, $a_id, $a_call_by_reference,
false);
40 $this->lng->loadLanguageModule(
'search');
41 $this->lng->loadLanguageModule(
"user");
43 $ilCtrl->saveParameter($this,
"letter");
50 $this->user_owner_id = $a_id;
54 return $this->user_owner_id ? $this->user_owner_id :
USER_FOLDER_ID;
61 $next_class = $this->ctrl->getNextClass($this);
62 $cmd = $this->ctrl->getCmd();
65 switch ($next_class) {
66 case 'ilusertablegui':
67 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
69 $u_table->initFilter();
70 $this->ctrl->setReturn($this,
'view');
71 $this->ctrl->forwardCommand($u_table);
74 case 'ilpermissiongui':
75 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
77 $ret =&$this->ctrl->forwardCommand($perm_gui);
80 case 'ilrepositorysearchgui':
81 include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
83 $user_search->setTitle($this->lng->txt(
"search_user_extended"));
84 $user_search->enableSearchableCheck(
false);
85 $user_search->setUserLimitations(
false);
86 $user_search->setCallback(
88 'searchResultHandler',
91 $this->tabs_gui->setTabActive(
'search_user_extended');
92 $this->ctrl->setReturn($this,
'view');
93 $ret =&$this->ctrl->forwardCommand($user_search);
96 case 'ilaccountcodesgui':
97 $this->tabs_gui->setTabActive(
'settings');
99 $ilTabs->activateSubTab(
"account_codes");
100 include_once(
"./Services/User/classes/class.ilAccountCodesGUI.php");
102 $this->ctrl->forwardCommand($acc);
105 case 'ilcustomuserfieldsgui':
106 $this->tabs_gui->setTabActive(
'settings');
108 $ilTabs->activateSubTab(
"user_defined_fields");
109 include_once(
"./Services/User/classes/class.ilCustomUserFieldsGUI.php");
111 $this->ctrl->forwardCommand($cf);
114 case 'iluserstartingpointgui':
115 $this->tabs_gui->setTabActive(
'settings');
117 $ilTabs->activateSubTab(
"starting_points");
118 include_once(
"./Services/User/classes/class.ilUserStartingPointGUI.php");
120 $this->ctrl->forwardCommand($cf);
123 case 'iluserprofileinfosettingsgui':
124 $this->tabs_gui->setTabActive(
'settings');
126 $ilTabs->activateSubTab(
"user_profile_settings");
127 include_once(
"./Services/User/classes/class.ilUserProfileInfoSettingsGUI.php");
129 $this->ctrl->forwardCommand($ps);
151 if (!$rbacsystem->checkAccess(
"read", $this->object->getRefId()) ||
154 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"), $this->
ilias->error_obj->MESSAGE);
157 include_once
"Services/User/classes/class.ilUserLPTableGUI.php";
160 $tpl->setContent(
$tbl->getHTML());
169 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
171 $utab->resetOffset();
172 $utab->resetFilter();
185 $ilCtrl->setParameterByClass(
"ilobjusergui",
"new_type",
"usr");
186 $ilCtrl->redirectByClass(
array(
"iladministrationgui",
"ilobjusergui"),
"create");
197 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
199 $utab->resetOffset();
200 $utab->writeFilterToSession();
202 $ilTabs->activateTab(
"usrf");
214 include_once
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
216 if ($rbacsystem->checkAccess(
'create_usr', $this->object->getRefId()) ||
217 $rbacsystem->checkAccess(
'cat_administrate_users', $this->object->getRefId())) {
219 $button->setCaption(
"usr_add");
220 $button->setUrl($this->ctrl->getLinkTarget($this,
"addUser"));
221 $ilToolbar->addButtonInstance($button);
224 $button->setCaption(
"import_users");
225 $button->setUrl($this->ctrl->getLinkTarget($this,
"importUserForm"));
226 $ilToolbar->addButtonInstance($button);
230 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
232 if ((
int) $ilSetting->get(
'user_adm_alpha_nav')) {
233 $ilToolbar->addSeparator();
236 include_once(
"./Services/Form/classes/class.ilAlphabetInputGUI.php");
238 include_once(
"./Services/User/classes/class.ilObjUser.php");
244 $ai->setParentCommand($this,
"chooseLetter");
245 $ai->setHighlighted(
$_GET[
"letter"]);
246 $ilToolbar->addInputItem($ai,
true);
249 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
251 $tpl->setContent($utab->getHTML());
259 include_once
'./Services/User/classes/class.ilUserAutoComplete.php';
261 $auto->setSearchFields(
array(
'login',
'firstname',
'lastname',
'email',
'second_email'));
262 $auto->enableFieldSearchableCheck(
false);
263 $auto->setMoreLinkAvailable(
true);
265 if (($_REQUEST[
'fetchall'])) {
269 echo $auto->getList($_REQUEST[
'term']);
283 $ilCtrl->redirect($this,
"view");
297 $operations =
array();
299 if ($this->actions ==
"") {
301 "delete" =>
array(
"name" =>
"delete",
"lng" =>
"delete"),
302 "activate" =>
array(
"name" =>
"activate",
"lng" =>
"activate"),
303 "deactivate" =>
array(
"name" =>
"deactivate",
"lng" =>
"deactivate"),
304 "accessRestrict" =>
array(
"name" =>
"accessRestrict",
"lng" =>
"accessRestrict"),
305 "accessFree" =>
array(
"name" =>
"accessFree",
"lng" =>
"accessFree"),
306 "export" =>
array(
"name" =>
"export",
"lng" =>
"export")
312 if ($rbacsystem->checkAccess($row[
"name"], $this->object->getRefId())) {
313 $operations[] =
$row;
317 if (count($operations) > 0) {
318 $select =
"<select name=\"selectedAction\">\n";
319 foreach ($operations as $val) {
320 $select .=
"<option value=\"" . $val[
"name"] .
"\"";
321 if (strcmp(
$_POST[
"selectedAction"], $val[
"name"]) == 0) {
322 $select .=
" selected=\"selected\"";
325 $select .= $this->lng->txt($val[
"lng"]);
326 $select .=
"</option>";
328 $select .=
"</select>";
329 $this->tpl->setCurrentBlock(
"tbl_action_select");
330 $this->tpl->setVariable(
"SELECT_ACTION", $select);
331 $this->tpl->setVariable(
"BTN_NAME",
"userAction");
332 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"submit"));
333 $this->tpl->parseCurrentBlock();
336 if ($with_subobjects ===
true) {
340 if ((count($operations) > 0) or $subobjs ===
true) {
341 $this->tpl->setCurrentBlock(
"tbl_action_row");
342 $this->tpl->setVariable(
"COLUMN_COUNTS", count($this->
data[
"cols"]));
344 $this->tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
345 $this->tpl->parseCurrentBlock();
359 $d = $this->objDefinition->getCreatableSubObjects($this->
object->getType());
361 if (!$rbacsystem->checkAccess(
'create_usr', $this->object->getRefId())) {
368 if ($row[
"max"] > 0) {
370 for (
$i=0;
$i<count($this->
data[
"ctrl"]);
$i++) {
371 if ($this->
data[
"ctrl"][
$i][
"type"] == $row[
"name"]) {
376 if ($row[
"max"] ==
"" || $count < $row[
"max"]) {
377 $subobj[] = $row[
"name"];
382 if (is_array($subobj)) {
385 $this->tpl->setCurrentBlock(
"add_object");
386 $this->tpl->setVariable(
"SELECT_OBJTYPE", $opts);
387 $this->tpl->setVariable(
"BTN_NAME",
"create");
388 $this->tpl->setVariable(
"TXT_ADD", $this->lng->txt(
"add"));
389 $this->tpl->parseCurrentBlock();
399 $this->ctrl->redirect($this,
'view');
404 $this->ctrl->redirectByClass(
'ilrepositorysearchgui',
'showSearchResults');
417 if (!$rbacsystem->checkAccess(
'write', $this->object->getRefId())) {
418 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"), $this->
ilias->error_obj->WARNING);
424 $obj =&$this->
ilias->obj_factory->getInstanceByObjId($id);
425 $obj->setActive(
true, $ilUser->getId());
432 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
434 $this->ctrl->redirect($this,
"view");
448 if (!$rbacsystem->checkAccess(
'write', $this->object->getRefId())) {
449 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"), $this->
ilias->error_obj->WARNING);
455 $obj =&$this->
ilias->obj_factory->getInstanceByObjId($id);
456 $obj->setActive(
false, $ilUser->getId());
464 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
466 $this->ctrl->redirect($this,
"view");
475 if (!$rbacsystem->checkAccess(
'write', $this->object->getRefId())) {
476 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"), $this->
ilias->error_obj->WARNING);
482 $obj = $this->
ilias->obj_factory->getInstanceByObjId($id);
483 $obj->setTimeLimitUnlimited(1);
484 $obj->setTimeLimitFrom(
"");
485 $obj->setTimeLimitUntil(
"");
486 $obj->setTimeLimitMessage(0);
494 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
496 $this->ctrl->redirect($this,
"view");
505 $this->tpl->setContent($a_form->getHTML());
519 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
521 $form->setTitle($this->lng->txt(
"time_limit_add_time_limit_for_selected"));
522 $form->setFormAction($this->ctrl->getFormAction($this,
"confirmaccessRestrict"));
525 $from->setShowTime(
true);
526 $from->setRequired(
true);
531 $to->setShowTime(
true);
534 $form->addCommandButton(
"confirmaccessRestrict", $this->lng->txt(
"confirm"));
535 $form->addCommandButton(
"view", $this->lng->txt(
"cancel"));
537 foreach ($user_ids as $user_id) {
539 $ufield->setValue($user_id);
540 $form->addItem($ufield);
544 if ($a_from_search ||
$_POST[
"frsrch"]) {
547 $form->addItem($field);
556 if (!
$form->checkInput()) {
562 if ($timeuntil <= $timefrom) {
570 if (!$rbacsystem->checkAccess(
'write', $this->object->getRefId())) {
571 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"), $this->
ilias->error_obj->WARNING);
577 $obj = $this->
ilias->obj_factory->getInstanceByObjId($id);
578 $obj->setTimeLimitUnlimited(0);
579 $obj->setTimeLimitFrom($timefrom);
580 $obj->setTimeLimitUntil($timeuntil);
581 $obj->setTimeLimitMessage(0);
589 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
591 $this->ctrl->redirect($this,
"view");
605 if (!$rbacsystem->checkAccess(
'delete', $this->object->getRefId())) {
607 $ilCtrl->redirect($this,
"view");
610 if (in_array($ilUser->getId(),
$_POST[
"id"])) {
611 $this->
ilias->raiseError($this->lng->txt(
"msg_no_delete_yourself"), $this->
ilias->error_obj->WARNING);
617 $obj =&$this->
ilias->obj_factory->getInstanceByObjId($id);
625 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
627 $this->ctrl->redirect($this,
"view");
638 if (
$_POST[
"select_cmd_all"]) {
639 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
641 return $utab->getUserIdsForFilter();
656 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
659 if (!$a_from_search) {
660 $ilTabs->activateTab(
"obj_usrf");
662 $ilTabs->activateTab(
"search_user_extended");
665 if (strcmp(
$action,
"accessRestrict") == 0) {
668 if (strcmp(
$action,
"mail") == 0) {
674 if (!$a_from_search) {
675 $cancel =
"cancelUserFolderAction";
677 $cancel =
"cancelSearchAction";
681 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
683 $cgui->setFormAction($this->ctrl->getFormAction($this));
684 $cgui->setHeaderText($this->lng->txt(
"info_" .
$action .
"_sure"));
685 $cgui->setCancel($this->lng->txt(
"cancel"), $cancel);
686 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirm" .
$action);
688 if ($a_from_search) {
689 $cgui->addHiddenItem(
"frsrch", 1);
692 foreach ($user_ids as
$id) {
695 $login =
$user->getLastLogin();
697 $login = $this->lng->txt(
"never");
702 $caption =
$user->getFullname() .
" (" .
$user->getLogin() .
")" .
", " .
703 $user->getEmail() .
" - " . $this->lng->txt(
"last_login") .
": " . $login;
705 $cgui->addItem(
"id[]", $id, $caption);
708 $this->tpl->setContent($cgui->getHTML());
718 $_POST[
"selectedAction"] =
"delete";
727 $_POST[
"selectedAction"] =
"activate";
736 $_POST[
"selectedAction"] =
"deactivate";
745 $_POST[
"selectedAction"] =
"accessRestrict";
754 $_POST[
"selectedAction"] =
"accessFree";
771 if (
$_GET[
"baseClass"] ==
'ilRepositoryGUI') {
772 $this->tabs_gui->clearTargets();
775 if (!$rbacsystem->checkAccess(
"write", $this->object->getRefId())) {
776 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"), $this->
ilias->error_obj->MESSAGE);
780 $tpl->setContent($this->form->getHTML());
792 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
796 include_once(
"./Services/Form/classes/class.ilFileInputGUI.php");
801 $this->form->addItem($fi);
803 $this->form->addCommandButton(
"importUserRoleAssignment", $lng->txt(
"import"));
804 $this->form->addCommandButton(
"importCancelled", $lng->txt(
"cancel"));
806 $this->form->setTitle($lng->txt(
"import_users"));
807 $this->form->setFormAction($ilCtrl->getFormAction($this));
819 if (@is_dir($import_dir)) {
823 if (strtolower(
$_GET[
"baseClass"]) ==
'iladministrationgui') {
824 $this->ctrl->redirect($this,
"view");
827 $this->ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
840 $importDir =
ilUtil::getDataDir() .
'/user_import/usr_' . $ilUser->getId() .
'_' . session_id();
854 if (
$_GET[
"baseClass"] ==
'ilRepositoryGUI') {
855 $this->tabs_gui->clearTargets();
859 if ($this->form->checkInput()) {
860 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
861 include_once
'./Services/User/classes/class.ilUserImportParser.php';
866 $this->tpl->addBlockfile(
"ADM_CONTENT",
"adm_content",
"tpl.usr_import_roles.html",
"Services/User");
871 if (@is_dir($import_dir)) {
877 $file_name = $_FILES[
"importFile"][
"name"];
878 $parts = pathinfo($file_name);
879 $full_path = $import_dir .
"/" . $file_name;
882 if (!is_file($_FILES[
"importFile"][
"tmp_name"])) {
884 $this->
ilias->raiseError($this->lng->txt(
"no_import_file_found"), $this->
ilias->error_obj->MESSAGE);
886 ilUtil::moveUploadedFile(
887 $_FILES[
"importFile"][
"tmp_name"],
888 $_FILES[
"importFile"][
"name"],
893 if (strtolower($parts[
"extension"]) ==
"zip") {
899 foreach ($file_list as $a_file) {
900 if (substr($a_file[
'entry'], -4) ==
'.xml') {
901 $xml_file = $import_dir .
"/" . $a_file[
'entry'];
905 if (is_null($xml_file)) {
906 $subdir = basename($parts[
"basename"],
"." . $parts[
"extension"]);
907 $xml_file = $import_dir .
"/" . $subdir .
"/" . $subdir .
".xml";
912 $xml_file = $full_path;
916 if (!is_file($xml_file)) {
918 $this->
ilias->raiseError($this->lng->txt(
"no_xml_file_found_in_zip")
919 .
" " . $subdir .
"/" . $subdir .
".xml", $this->
ilias->error_obj->MESSAGE);
922 require_once(
"./Services/User/classes/class.ilUserImportParser.php");
927 $importParser->startParsing();
928 switch ($importParser->getErrorLevel()) {
932 $this->tpl->setVariable(
"IMPORT_LOG", $importParser->getProtocolAsHTML($lng->txt(
"verification_warning_log")));
936 $this->
ilias->raiseError(
937 $lng->txt(
"verification_failed") . $importParser->getProtocolAsHTML($lng->txt(
"verification_failure_log")),
938 $this->
ilias->error_obj->MESSAGE
945 $this->tpl->setCurrentBlock(
"role_selection_form");
946 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
947 $this->tpl->setVariable(
"TXT_IMPORT_USERS", $this->lng->txt(
"import_users"));
948 $this->tpl->setVariable(
"TXT_IMPORT_FILE", $this->lng->txt(
"import_file"));
949 $this->tpl->setVariable(
"IMPORT_FILE", $file_name);
950 $this->tpl->setVariable(
"TXT_USER_ELEMENT_COUNT", $this->lng->txt(
"num_users"));
951 $this->tpl->setVariable(
"USER_ELEMENT_COUNT", $importParser->getUserCount());
952 $this->tpl->setVariable(
"TXT_ROLE_ASSIGNMENT", $this->lng->txt(
"role_assignment"));
953 $this->tpl->setVariable(
"BTN_IMPORT", $this->lng->txt(
"import"));
954 $this->tpl->setVariable(
"BTN_CANCEL", $this->lng->txt(
"cancel"));
955 $this->tpl->setVariable(
"XML_FILE_NAME", $xml_file);
959 $importParser->startParsing();
960 $roles = $importParser->getCollectedRoles();
963 $all_gl_roles = $rbacreview->getRoleListByObject(ROLE_FOLDER_ID);
965 $roles_of_user = $rbacreview->assignedRoles($ilUser->getId());
966 foreach ($all_gl_roles as $obj_data) {
974 if ($obj_data[
"obj_id"] != ANONYMOUS_ROLE_ID) {
976 if ($obj_data[
"obj_id"] != SYSTEM_ROLE_ID or in_array(SYSTEM_ROLE_ID, $roles_of_user)) {
977 $gl_roles[$obj_data[
"obj_id"]] = $obj_data[
"title"];
983 $got_globals =
false;
984 foreach ($roles as $role_id => $role) {
985 if ($role[
"type"] ==
"Global") {
989 $this->tpl->setCurrentBlock(
"global_role_section");
990 $this->tpl->setVariable(
"TXT_GLOBAL_ROLES_IMPORT", $this->lng->txt(
"roles_of_import_global"));
991 $this->tpl->setVariable(
"TXT_GLOBAL_ROLES", $this->lng->txt(
"assign_global_role"));
995 $pre_select = array_search($role[
"name"], $gl_roles);
997 switch ($role[
"name"]) {
998 case "Administrator":
999 $pre_select = array_search(
"Administrator", $gl_roles);
1003 $pre_select = array_search(
"User", $gl_roles);
1007 $pre_select = array_search(
"User", $gl_roles);
1011 $pre_select = array_search(
"Guest", $gl_roles);
1015 $pre_select = array_search(
"User", $gl_roles);
1019 $this->tpl->setCurrentBlock(
"global_role");
1020 $role_select =
ilUtil::formSelect($pre_select,
"role_assign[" . $role_id .
"]", $gl_roles,
false,
true);
1021 $this->tpl->setVariable(
"TXT_IMPORT_GLOBAL_ROLE", $role[
"name"] .
" [" . $role_id .
"]");
1022 $this->tpl->setVariable(
"SELECT_GLOBAL_ROLE", $role_select);
1023 $this->tpl->parseCurrentBlock();
1028 $got_locals =
false;
1029 foreach ($roles as $role_id => $role) {
1030 if ($role[
"type"] ==
"Local") {
1037 $this->tpl->setCurrentBlock(
"local_role_section");
1038 $this->tpl->setVariable(
"TXT_LOCAL_ROLES_IMPORT", $this->lng->txt(
"roles_of_import_local"));
1039 $this->tpl->setVariable(
"TXT_LOCAL_ROLES", $this->lng->txt(
"assign_local_role"));
1049 $loc_roles =
array();
1050 require_once
'Services/Mail/classes/Address/Type/class.ilMailRoleAddressType.php';
1051 foreach ($roles as $role_id => $role) {
1052 if ($role[
"type"] ==
"Local") {
1053 $searchName = (substr($role[
'name'], 0, 1) ==
'#') ? $role[
'name'] :
'#' . $role[
'name'];
1055 foreach ($matching_role_ids as $mid) {
1056 if (!in_array($mid, $loc_roles)) {
1057 $loc_roles[] = $mid;
1066 $loc_roles = $rbacreview->getAssignableRolesInSubtree($this->
object->getRefId());
1071 $l_roles_mailbox_searcharray =
array();
1072 require_once
'Services/Mail/classes/Address/Type/class.ilMailRoleAddressType.php';
1073 foreach ($loc_roles as
$key => $loc_role) {
1075 $rolf = $rbacreview->getFoldersAssignedToRole($loc_role,
true);
1082 !$rbacreview->isDeleted($rolf[0]) &&
1083 $rbacsystem->checkAccess(
'write', $rolf[0]) &&
1084 $rolf[0] != ROLE_FOLDER_ID
1096 $path_array =
array();
1097 if ($this->tree->isInTree($rolf[0])) {
1100 $tmpPath = $this->tree->getPathFull($rolf[0]);
1101 $tmpPath[] = $rolf[0];
1103 for (
$i = 1,
$n = count($tmpPath) - 1;
$i <
$n;
$i++) {
1104 if ($i < 3 || $i > $n - 3) {
1105 $path_array[] = $tmpPath[
$i][
'title'];
1106 } elseif (
$i == 3 ||
$i == $n - 3) {
1107 $path_array[] =
'...';
1110 $isInSubtree |= $tmpPath[
$i][
'obj_id'] == $this->
object->getId();
1113 $path = implode(
" < ", array_reverse($path_array));
1115 $path =
"<b>Rolefolder " . $rolf[0] .
" not found in tree! (Role " . $loc_role .
")</b>";
1118 $l_roles[$loc_role] = $roleMailboxAddress .
', ' .
$path;
1123 natcasesort($l_roles);
1124 $l_roles[
""] = $this->lng->txt(
"usrimport_ignore_role");
1125 require_once
'Services/Mail/classes/Address/Type/class.ilMailRoleAddressType.php';
1126 foreach ($roles as $role_id => $role) {
1127 if ($role[
"type"] ==
"Local") {
1128 $this->tpl->setCurrentBlock(
"local_role");
1129 $this->tpl->setVariable(
"TXT_IMPORT_LOCAL_ROLE", $role[
"name"]);
1130 $searchName = (substr($role[
'name'], 0, 1) ==
'#') ? $role[
'name'] :
'#' . $role[
'name'];
1132 $pre_select = count($matching_role_ids) == 1 ? $matching_role_ids[0] :
"";
1137 $selectable_roles =
array();
1138 $selectable_roles[
""] = $this->lng->txt(
"usrimport_ignore_role");
1139 foreach ($matching_role_ids as
$id) {
1140 $selectable_roles[
$id] = $l_roles[
$id];
1142 $role_select =
ilUtil::formSelect($pre_select,
"role_assign[" . $role_id .
"]", $selectable_roles,
false,
true);
1144 $role_select =
ilUtil::formSelect($pre_select,
"role_assign[" . $role_id .
"]", $l_roles,
false,
true);
1146 $this->tpl->setVariable(
"SELECT_LOCAL_ROLE", $role_select);
1147 $this->tpl->parseCurrentBlock();
1153 $this->tpl->setVariable(
"TXT_CONFLICT_HANDLING", $lng->txt(
"conflict_handling"));
1158 $this->tpl->setVariable(
"TXT_CONFLICT_HANDLING_INFO", str_replace(
'\n',
'<br>', $this->lng->txt(
"usrimport_conflict_handling_info")));
1159 $this->tpl->setVariable(
"TXT_CONFLICT_CHOICE", $lng->txt(
"conflict_handling"));
1163 $this->lng->loadLanguageModule(
"mail");
1164 include_once
'./Services/User/classes/class.ilObjUserFolder.php';
1166 if (trim($amail[
"body"]) !=
"" && trim($amail[
"subject"]) !=
"") {
1167 $this->tpl->setCurrentBlock(
"inform_user");
1168 $this->tpl->setVariable(
"TXT_ACCOUNT_MAIL", $lng->txt(
"mail_account_mail"));
1170 $this->tpl->setVariable(
"SEND_MAIL",
" checked=\"checked\"");
1172 $this->tpl->setVariable(
1173 "TXT_INFORM_USER_MAIL",
1174 $this->lng->txt(
"user_send_new_account_mail")
1176 $this->tpl->parseCurrentBlock();
1179 $this->form->setValuesByPost();
1180 $tpl->setContent($this->form->getHtml());
1192 if (
$_GET[
"baseClass"] ==
'ilRepositoryGUI') {
1193 $this->tabs_gui->clearTargets();
1196 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
1197 include_once
'./Services/User/classes/class.ilUserImportParser.php';
1201 switch (
$_POST[
"conflict_handling_choice"]) {
1202 case "update_on_conflict":
1205 case "ignore_on_conflict":
1217 if (
$_POST[
"role_assign"]) {
1218 $global_roles = $rbacreview->getGlobalRoles();
1219 $roles_of_user = $rbacreview->assignedRoles($ilUser->getId());
1220 foreach (
$_POST[
"role_assign"] as $role_id) {
1221 if ($role_id !=
"") {
1222 if (in_array($role_id, $global_roles)) {
1223 if (!in_array(SYSTEM_ROLE_ID, $roles_of_user)) {
1224 if ($role_id == SYSTEM_ROLE_ID && !in_array(SYSTEM_ROLE_ID, $roles_of_user)
1229 $this->
ilias->raiseError(
1230 $this->lng->txt(
"usrimport_with_specified_role_not_permitted"),
1231 $this->
ilias->error_obj->MESSAGE
1236 $rolf = $rbacreview->getFoldersAssignedToRole($role_id,
true);
1237 if ($rbacreview->isDeleted($rolf[0])
1238 || !$rbacsystem->checkAccess(
'write', $rolf[0])) {
1240 $this->
ilias->raiseError(
1241 $this->lng->txt(
"usrimport_with_specified_role_not_permitted"),
1242 $this->
ilias->error_obj->MESSAGE
1251 $importParser->setRoleAssignment(
$_POST[
"role_assign"]);
1252 $importParser->startParsing();
1257 switch ($importParser->getErrorLevel()) {
1262 ilUtil::sendInfo($this->lng->txt(
"user_imported_with_warnings") . $importParser->getProtocolAsHTML($lng->txt(
"import_warning_log")),
true);
1265 $this->
ilias->raiseError(
1266 $this->lng->txt(
"user_import_failed")
1267 . $importParser->getProtocolAsHTML($lng->txt(
"import_failure_log")),
1268 $this->
ilias->error_obj->MESSAGE
1273 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui") {
1274 $this->ctrl->redirect($this,
"view");
1277 $this->ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
1283 parent::hitsperpageObject();
1297 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
1300 $show_blocking_time_in_days = $ilSetting->get(
'loginname_change_blocking_time') / 86400;
1301 $show_blocking_time_in_days = (float) $show_blocking_time_in_days;
1303 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1306 $this->form->setValuesByArray(
1308 'lua' => $aset->isLocalUserAdministrationEnabled(),
1309 'lrua' => $aset->isUserAccessRestricted(),
1310 'allow_change_loginname' => (bool) $ilSetting->get(
'allow_change_loginname'),
1311 'create_history_loginname' => (bool) $ilSetting->get(
'create_history_loginname'),
1312 'reuse_of_loginnames' => (bool) $ilSetting->get(
'reuse_of_loginnames'),
1313 'loginname_change_blocking_time' => (float) $show_blocking_time_in_days,
1314 'user_adm_alpha_nav' => (
int) $ilSetting->get(
'user_adm_alpha_nav'),
1316 'user_reactivate_code' => (int) $ilSetting->get(
'user_reactivate_code'),
1317 'user_own_account' => (int) $ilSetting->get(
'user_delete_own_account'),
1318 'user_own_account_email' => $ilSetting->get(
'user_delete_own_account_email'),
1321 'session_reminder_enabled' => $ilSetting->get(
'session_reminder_enabled'),
1327 'password_change_on_first_login_enabled' => $security->isPasswordChangeOnFirstLoginEnabled() ? 1 : 0,
1328 'password_must_not_contain_loginame' => $security->getPasswordMustNotContainLoginnameStatus() ? 1 : 0,
1329 'password_chars_and_numbers_enabled' => $security->isPasswordCharsAndNumbersEnabled() ? 1 : 0,
1330 'password_special_chars_enabled' => $security->isPasswordSpecialCharsEnabled() ? 1 : 0 ,
1331 'password_min_length' => $security->getPasswordMinLength(),
1332 'password_max_length' => $security->getPasswordMaxLength(),
1333 'password_ucase_chars_num' => $security->getPasswordNumberOfUppercaseChars(),
1334 'password_lowercase_chars_num' => $security->getPasswordNumberOfLowercaseChars(),
1335 'password_max_age' => $security->getPasswordMaxAge(),
1337 'login_max_attempts' => $security->getLoginMaxAttempts(),
1338 'ps_prevent_simultaneous_logins' => (int) $security->isPreventionOfSimultaneousLoginsEnabled(),
1339 'password_assistance' => (bool) $ilSetting->get(
"password_assistance")
1340 ,
'letter_avatars' => (int) $ilSetting->get(
'letter_avatars')
1344 $this->tpl->setContent($this->form->getHTML());
1357 if ($this->form->checkInput()) {
1360 if (!strlen($this->form->getInput(
'loginname_change_blocking_time'))) {
1362 $this->form->getItemByPostVar(
'loginname_change_blocking_time')
1363 ->setAlert($this->lng->txt(
'loginname_change_blocking_time_invalidity_info'));
1366 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1370 $security->setPasswordCharsAndNumbersEnabled((
bool)
$_POST[
"password_chars_and_numbers_enabled"]);
1371 $security->setPasswordSpecialCharsEnabled((
bool) $_POST[
"password_special_chars_enabled"]);
1372 $security->setPasswordMinLength((
int) $_POST[
"password_min_length"]);
1373 $security->setPasswordMaxLength((
int) $_POST[
"password_max_length"]);
1374 $security->setPasswordNumberOfUppercaseChars((
int) $_POST[
'password_ucase_chars_num']);
1375 $security->setPasswordNumberOfLowercaseChars((
int) $_POST[
'password_lowercase_chars_num']);
1376 $security->setPasswordMaxAge((
int) $_POST[
"password_max_age"]);
1377 $security->setLoginMaxAttempts((
int) $_POST[
"login_max_attempts"]);
1378 $security->setPreventionOfSimultaneousLogins((
bool) $_POST[
'ps_prevent_simultaneous_logins']);
1379 $security->setPasswordChangeOnFirstLoginEnabled((
bool) $_POST[
'password_change_on_first_login_enabled']);
1380 $security->setPasswordMustNotContainLoginnameStatus((
int) $_POST[
'password_must_not_contain_loginame']);
1382 if (!$security->validate($this->form)) {
1389 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
1394 $ilSetting->set(
'allow_change_loginname', (
int) $this->form->getInput(
'allow_change_loginname'));
1395 $ilSetting->set(
'create_history_loginname', (
int) $this->form->getInput(
'create_history_loginname'));
1396 $ilSetting->set(
'reuse_of_loginnames', (
int) $this->form->getInput(
'reuse_of_loginnames'));
1397 $save_blocking_time_in_seconds = (int) ($this->form->getInput(
'loginname_change_blocking_time') * 86400);
1398 $ilSetting->set(
'loginname_change_blocking_time', (
int) $save_blocking_time_in_seconds);
1399 $ilSetting->set(
'user_adm_alpha_nav', (
int) $this->form->getInput(
'user_adm_alpha_nav'));
1400 $ilSetting->set(
'user_reactivate_code', (
int) $this->form->getInput(
'user_reactivate_code'));
1402 $ilSetting->set(
'user_delete_own_account', (
int) $this->form->getInput(
'user_own_account'));
1403 $ilSetting->set(
'user_delete_own_account_email', $this->form->getInput(
'user_own_account_email'));
1405 $ilSetting->set(
"password_assistance", $this->form->getInput(
"password_assistance"));
1409 'session_handling_type',
1410 (
int) $this->form->getInput(
'session_handling_type')
1415 'session_reminder_enabled',
1416 $this->form->getInput(
'session_reminder_enabled')
1419 require_once
'Services/Authentication/classes/class.ilSessionControl.php';
1422 'session_allow_client_maintenance',
1427 include_once
"Services/Authentication/classes/class.ilSessionStatistics.php";
1431 'session_max_count',
1432 (
int) $this->form->getInput(
'session_max_count')
1436 (
int) $this->form->getInput(
'session_min_idle')
1440 (
int) $this->form->getInput(
'session_max_idle')
1443 'session_max_idle_after_first_request',
1444 (
int) $this->form->getInput(
'session_max_idle_after_first_request')
1449 $ilSetting->set(
'letter_avatars', (
int) $this->form->getInput(
'letter_avatars'));
1457 $this->form->setValuesByPost();
1458 $this->tpl->setContent($this->form->getHTML());
1471 $this->tabs_gui->setTabActive(
'settings');
1472 $this->tabs_gui->setSubTabActive(
'general_settings');
1474 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1476 $this->form->setFormAction($this->ctrl->getFormAction($this,
'saveGeneralSettings'));
1478 $this->form->setTitle($this->lng->txt(
'general_settings'));
1480 $lua =
new ilCheckboxInputGUI($this->lng->txt(
'enable_local_user_administration'),
'lua');
1481 $lua->
setInfo($this->lng->txt(
'enable_local_user_administration_info'));
1483 $this->form->addItem($lua);
1486 $lrua->
setInfo($this->lng->txt(
'restrict_user_access_info'));
1488 $this->form->addItem($lrua);
1491 $alph =
new ilCheckboxInputGUI($this->lng->txt(
'user_adm_enable_alpha_nav'),
'user_adm_alpha_nav');
1494 $this->form->addItem($alph);
1498 $code->setInfo($this->lng->txt(
'user_account_code_setting_info'));
1499 $this->form->addItem(
$code);
1502 $own =
new ilCheckboxInputGUI($this->lng->txt(
"user_allow_delete_own_account"),
"user_own_account");
1503 $this->form->addItem($own);
1504 $own_email =
new ilEMailInputGUI($this->lng->txt(
"user_delete_own_account_notification_email"),
"user_own_account_email");
1505 $own->addSubItem($own_email);
1517 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"session_reminder"),
"session_reminder_enabled");
1520 $cb->
setInfo($this->lng->txt(
"session_reminder_info") .
"<br />" .
1521 sprintf($this->lng->txt(
'session_reminder_session_duration'),
$time));
1525 $ssettings->addOption($fixed);
1531 require_once(
'Services/Authentication/classes/class.ilSessionControl.php');
1535 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_max_count'),
'session_max_count');
1537 $sub_ti->setSize(5);
1538 $sub_ti->setInfo($this->lng->txt(
'session_max_count_info'));
1540 $sub_ti->setDisabled(
true);
1542 $ldsh->addSubItem($sub_ti);
1547 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_min_idle'),
'session_min_idle');
1549 $sub_ti->setSize(5);
1550 $sub_ti->setInfo($this->lng->txt(
'session_min_idle_info'));
1552 $sub_ti->setDisabled(
true);
1554 $ldsh->addSubItem($sub_ti);
1559 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_max_idle'),
'session_max_idle');
1561 $sub_ti->setSize(5);
1562 $sub_ti->setInfo($this->lng->txt(
'session_max_idle_info'));
1564 $sub_ti->setDisabled(
true);
1566 $ldsh->addSubItem($sub_ti);
1571 $this->lng->txt(
'session_max_idle_after_first_request'),
1572 'session_max_idle_after_first_request' 1575 $sub_ti->setSize(5);
1576 $sub_ti->setInfo($this->lng->txt(
'session_max_idle_after_first_request_info'));
1578 $sub_ti->setDisabled(
true);
1580 $ldsh->addSubItem($sub_ti);
1583 $ssettings->addOption($ldsh);
1589 $this->form->addItem($ssettings);
1594 $ti->
setValue($this->lng->txt(
'session_config_maintenance_disabled'));
1595 $ssettings->setDisabled(
true);
1596 $ti->addSubItem($ssettings);
1597 $this->form->addItem($ti);
1603 $this->lng->loadLanguageModule(
'ps');
1606 $pass->setTitle($this->lng->txt(
'ps_password_settings'));
1607 $this->form->addItem(
$pass);
1609 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_change_on_first_login_enabled'),
'password_change_on_first_login_enabled');
1610 $check->
setInfo($this->lng->txt(
'ps_password_change_on_first_login_enabled_info'));
1611 $this->form->addItem($check);
1613 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1615 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_must_not_contain_loginame'),
'password_must_not_contain_loginame');
1616 $check->
setInfo($this->lng->txt(
'ps_password_must_not_contain_loginame_info'));
1617 $this->form->addItem($check);
1619 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_chars_and_numbers_enabled'),
'password_chars_and_numbers_enabled');
1621 $check->
setInfo($this->lng->txt(
'ps_password_chars_and_numbers_enabled_info'));
1622 $this->form->addItem($check);
1624 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_special_chars_enabled'),
'password_special_chars_enabled');
1626 $check->
setInfo($this->lng->txt(
'ps_password_special_chars_enabled_info'));
1627 $this->form->addItem($check);
1630 $text->setInfo($this->lng->txt(
'ps_password_min_length_info'));
1632 $text->setMaxLength(2);
1633 $this->form->addItem(
$text);
1636 $text->setInfo($this->lng->txt(
'ps_password_max_length_info'));
1638 $text->setMaxLength(3);
1639 $this->form->addItem(
$text);
1641 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_password_uppercase_chars_num'),
'password_ucase_chars_num');
1642 $text->setInfo($this->lng->txt(
'ps_password_uppercase_chars_num_info'));
1643 $text->setMinValue(0);
1645 $text->setMaxLength(3);
1646 $this->form->addItem(
$text);
1648 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_password_lowercase_chars_num'),
'password_lowercase_chars_num');
1649 $text->setInfo($this->lng->txt(
'ps_password_lowercase_chars_num_info'));
1650 $text->setMinValue(0);
1652 $text->setMaxLength(3);
1653 $this->form->addItem(
$text);
1656 $text->setInfo($this->lng->txt(
'ps_password_max_age_info'));
1658 $text->setMaxLength(3);
1659 $this->form->addItem(
$text);
1662 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"enable_password_assistance"),
"password_assistance");
1663 $cb->
setInfo($this->lng->txt(
"password_assistance_info"));
1664 $this->form->addItem($cb);
1667 $pass->setTitle($this->lng->txt(
'ps_security_protection'));
1668 $this->form->addItem(
$pass);
1671 $text->setInfo($this->lng->txt(
'ps_login_max_attempts_info'));
1673 $text->setMaxLength(2);
1674 $this->form->addItem(
$text);
1677 $objCb =
new ilCheckboxInputGUI($this->lng->txt(
'ps_prevent_simultaneous_logins'),
'ps_prevent_simultaneous_logins');
1679 $objCb->setInfo($this->lng->txt(
'ps_prevent_simultaneous_logins_info'));
1680 $this->form->addItem($objCb);
1686 $log->setTitle($this->lng->txt(
'loginname_settings'));
1687 $this->form->addItem(
$log);
1689 $chbChangeLogin =
new ilCheckboxInputGUI($this->lng->txt(
'allow_change_loginname'),
'allow_change_loginname');
1691 $this->form->addItem($chbChangeLogin);
1692 $chbCreateHistory =
new ilCheckboxInputGUI($this->lng->txt(
'history_loginname'),
'create_history_loginname');
1693 $chbCreateHistory->
setInfo($this->lng->txt(
'loginname_history_info'));
1694 $chbCreateHistory->setValue(1);
1696 $chbChangeLogin->addSubItem($chbCreateHistory);
1697 $chbReuseLoginnames =
new ilCheckboxInputGUI($this->lng->txt(
'reuse_of_loginnames_contained_in_history'),
'reuse_of_loginnames');
1699 $chbReuseLoginnames->setInfo($this->lng->txt(
'reuse_of_loginnames_contained_in_history_info'));
1701 $chbChangeLogin->addSubItem($chbReuseLoginnames);
1702 $chbChangeBlockingTime =
new ilNumberInputGUI($this->lng->txt(
'loginname_change_blocking_time'),
'loginname_change_blocking_time');
1704 $chbChangeBlockingTime->setSuffix($this->lng->txt(
'days'));
1705 $chbChangeBlockingTime->setInfo($this->lng->txt(
'loginname_change_blocking_time_info'));
1706 $chbChangeBlockingTime->setSize(10);
1707 $chbChangeBlockingTime->setMaxLength(10);
1708 $chbChangeLogin->addSubItem($chbChangeBlockingTime);
1710 $la =
new ilCheckboxInputGUI($this->lng->txt(
'usr_letter_avatars'),
'letter_avatars');
1712 $la->setInfo($this->lng->txt(
'usr_letter_avatars_info'));
1713 $this->form->addItem($la);
1715 $this->form->addCommandButton(
'saveGeneralSettings', $this->lng->txt(
'save'));
1733 global
$tpl,
$lng, $ilias, $ilTabs;
1735 include_once
'Services/Search/classes/class.ilUserSearchOptions.php';
1736 $lng->loadLanguageModule(
"administration");
1737 $lng->loadLanguageModule(
"mail");
1738 $lng->loadLanguageModule(
"chatroom");
1740 $ilTabs->activateTab(
'settings');
1741 $ilTabs->activateSubTab(
'standard_fields');
1743 include_once(
"./Services/User/classes/class.ilUserFieldSettingsTableGUI.php");
1745 if ($this->confirm_change) {
1746 $tab->setConfirmChange();
1748 $tpl->setContent(
$tab->getHTML());
1758 include_once
'Services/Search/classes/class.ilUserSearchOptions.php';
1759 include_once
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
1764 include_once(
"./Services/User/classes/class.ilUserProfile.php");
1766 $up->skipField(
"username");
1767 $field_properties = $up->getStandardFields();
1768 $profile_fields = array_keys($field_properties);
1771 foreach ($profile_fields as $field) {
1772 if (
$_POST[
"chb"][
"required_" . $field] &&
1773 !(
int)
$_POST[
'chb'][
'visib_reg_' . $field]
1783 $this->confirm_change = 1;
1789 $fixed_required_fields =
array(
1796 "hits_per_page" => 0,
1798 "hide_own_online_status" => 0
1803 if ($privacy->enabledCourseExport() ==
true &&
1804 $privacy->courseConfirmationRequired() ==
true &&
1806 foreach ($profile_fields as $field) {
1807 if (!$ilias->getSetting(
"usr_settings_course_export_" . $field) &&
$_POST[
"chb"][
"course_export_" . $field] ==
"1") {
1808 #ilUtil::sendQuestion($this->lng->txt('confirm_message_course_export')); 1809 #$this->confirm_change = 1; 1810 #$this->settingsObject(); 1817 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
1821 foreach ($profile_fields as $field) {
1827 if (!
$_POST[
"chb"][
"visible_" . $field] && !$field_properties[$field][
"visible_hide"]) {
1828 $ilias->setSetting(
"usr_settings_hide_" . $field,
"1");
1830 $ilias->deleteSetting(
"usr_settings_hide_" . $field);
1833 if (!
$_POST[
"chb"][
"changeable_" . $field] && !$field_properties[$field][
"changeable_hide"]) {
1834 $ilias->setSetting(
"usr_settings_disable_" . $field,
"1");
1836 $ilias->deleteSetting(
"usr_settings_disable_" . $field);
1840 if ((
int)
$_POST[
'chb'][
'visib_reg_' . $field] && !$field_properties[$field][
"visib_reg_hide"]) {
1841 $ilSetting->set(
'usr_settings_visib_reg_' . $field,
'1');
1843 $ilSetting->set(
'usr_settings_visib_reg_' . $field,
'0');
1846 if ((
int)
$_POST[
'chb'][
'visib_lua_' . $field]) {
1847 $ilSetting->set(
'usr_settings_visib_lua_' . $field,
'1');
1849 $ilSetting->set(
'usr_settings_visib_lua_' . $field,
'0');
1852 if ((
int)
$_POST[
'chb'][
'changeable_lua_' . $field]) {
1853 $ilSetting->set(
'usr_settings_changeable_lua_' . $field,
'1');
1855 $ilSetting->set(
'usr_settings_changeable_lua_' . $field,
'0');
1858 if (
$_POST[
"chb"][
"export_" . $field] && !$field_properties[$field][
"export_hide"]) {
1859 $ilias->setSetting(
"usr_settings_export_" . $field,
"1");
1861 $ilias->deleteSetting(
"usr_settings_export_" . $field);
1865 if (
$_POST[
"chb"][
"course_export_" . $field] && !$field_properties[$field][
"course_export_hide"]) {
1866 $ilias->setSetting(
"usr_settings_course_export_" . $field,
"1");
1868 $ilias->deleteSetting(
"usr_settings_course_export_" . $field);
1872 if (
$_POST[
"chb"][
"group_export_" . $field] && !$field_properties[$field][
"group_export_hide"]) {
1873 $ilias->setSetting(
"usr_settings_group_export_" . $field,
"1");
1875 $ilias->deleteSetting(
"usr_settings_group_export_" . $field);
1878 $is_fixed = array_key_exists($field, $fixed_required_fields);
1879 if ($is_fixed && $fixed_required_fields[$field] || !$is_fixed &&
$_POST[
"chb"][
"required_" . $field]) {
1880 $ilias->setSetting(
"require_" . $field,
"1");
1882 $ilias->deleteSetting(
"require_" . $field);
1886 if (
$_POST[
"select"][
"default_hits_per_page"]) {
1887 $ilias->setSetting(
"hits_per_page",
$_POST[
"select"][
"default_hits_per_page"]);
1895 if (
$_POST[
"chb"][
"export_preferences"]) {
1896 $ilias->setSetting(
"usr_settings_export_preferences",
$_POST[
"chb"][
"export_preferences"]);
1898 $ilias->deleteSetting(
"usr_settings_export_preferences");
1901 $ilias->setSetting(
'mail_incoming_mail', (
int)
$_POST[
'select'][
'default_mail_incoming_mail']);
1902 $ilias->setSetting(
'chat_osc_accept_msg',
ilUtil::stripSlashes($_POST[
'select'][
'default_chat_osc_accept_msg']));
1903 $ilias->setSetting(
'bs_allow_to_contact_me',
ilUtil::stripSlashes($_POST[
'select'][
'default_bs_allow_to_contact_me']));
1904 $ilias->setSetting(
'hide_own_online_status',
ilUtil::stripSlashes($_POST[
'select'][
'default_hide_own_online_status']));
1916 $action[-1] = $this->lng->txt(
'all_users');
1917 $action[1] = $this->lng->txt(
'usr_active_only');
1918 $action[0] = $this->lng->txt(
'usr_inactive_only');
1919 $action[2] = $this->lng->txt(
'usr_limited_access_only');
1920 $action[3] = $this->lng->txt(
'usr_without_courses');
1921 $action[4] = $this->lng->txt(
'usr_filter_lastlogin');
1922 $action[5] = $this->lng->txt(
"usr_filter_coursemember");
1923 $action[6] = $this->lng->txt(
"usr_filter_groupmember");
1924 $action[7] = $this->lng->txt(
"usr_filter_role");
1937 if (!isset(
$_POST[
"file"])) {
1938 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
1941 if (count(
$_POST[
"file"]) > 1) {
1942 $this->
ilias->raiseError($this->lng->txt(
"select_max_one_item"), $this->
ilias->error_obj->MESSAGE);
1947 $export_dir = $this->
object->getExportDirectory();
1956 if (!isset(
$_POST[
"file"])) {
1957 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->
ilias->error_obj->MESSAGE);
1961 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1963 $cgui->setFormAction($this->ctrl->getFormAction($this));
1964 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
1965 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDeleteExportFile");
1966 $cgui->setConfirm($this->lng->txt(
"confirm"),
"deleteExportFile");
1973 $this->tpl->setContent($cgui->getHTML());
1982 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
1991 $export_dir = $this->
object->getExportDirectory();
1993 $file = basename($file);
1995 $exp_file = $export_dir .
"/" .
$file;
1996 if (@is_file($exp_file)) {
2000 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2017 if (
$_POST[
"cmd"][
"export"]) {
2018 $this->
object->buildExportFile(
$_POST[
"export_type"]);
2019 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2023 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.usr_export.html',
'Services/User');
2025 $export_types =
array(
2026 "userfolder_export_excel_x86",
2027 "userfolder_export_csv",
2028 "userfolder_export_xml" 2032 include_once(
"./Services/Table/classes/class.ilTableGUI.php");
2036 $this->tpl->addBlockfile(
"EXPORT_FILES",
"export_files",
"tpl.table.html");
2039 $this->tpl->addBlockfile(
"TBL_CONTENT",
"tbl_content",
"tpl.usr_export_file_row.html",
"Services/User");
2043 $tbl->setTitle($this->lng->txt(
"userfolder_export_files"));
2045 $tbl->setHeaderNames(
array(
"", $this->lng->txt(
"userfolder_export_file"),
2046 $this->lng->txt(
"userfolder_export_file_size"), $this->lng->txt(
"date") ));
2047 $tbl->setHeaderVars(
array(), $ilCtrl->getParameterArray($this,
"export"));
2049 $tbl->enabled[
"sort"] =
false;
2050 $tbl->setColumnWidth(
array(
"1%",
"49%",
"25%",
"25%"));
2054 $tbl->setOrderDirection(
$_GET[
"sort_order"]);
2057 $tbl->setMaxCount($this->maxcount);
2060 $this->tpl->setVariable(
"COLUMN_COUNTS", 4);
2064 $this->tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
2065 $this->tpl->setCurrentBlock(
"tbl_action_btn");
2066 $this->tpl->setVariable(
"BTN_NAME",
"confirmDeleteExportFile");
2067 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"delete"));
2068 $this->tpl->parseCurrentBlock();
2070 $this->tpl->setCurrentBlock(
"tbl_action_btn");
2071 $this->tpl->setVariable(
"BTN_NAME",
"downloadExportFile");
2072 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"download"));
2073 $this->tpl->parseCurrentBlock();
2076 $tbl->setFooter(
"tblfooter", $this->lng->txt(
"previous"), $this->lng->txt(
"next"));
2079 $export_files = $this->
object->getExportFiles();
2081 $tbl->setMaxCount(count($export_files));
2082 $export_files = array_slice($export_files,
$_GET[
"offset"],
$_GET[
"limit"]);
2086 if (count($export_files) > 0) {
2088 foreach ($export_files as $exp_file) {
2089 $this->tpl->setCurrentBlock(
"tbl_content");
2090 $this->tpl->setVariable(
"TXT_FILENAME", $exp_file[
"filename"]);
2093 $this->tpl->setVariable(
"CSS_ROW", $css_row);
2095 $this->tpl->setVariable(
"TXT_SIZE", $exp_file[
"filesize"]);
2096 $this->tpl->setVariable(
"CHECKBOX_ID", $exp_file[
"filename"]);
2098 $file_arr = explode(
"__", $exp_file[
"filename"]);
2101 $this->tpl->parseCurrentBlock();
2104 $this->tpl->setCurrentBlock(
"selectall");
2105 $this->tpl->setVariable(
"SELECT_ALL", $this->lng->txt(
"select_all"));
2106 $this->tpl->setVariable(
"CSS_ROW", $css_row);
2107 $this->tpl->parseCurrentBlock();
2120 $this->tpl->parseCurrentBlock();
2123 foreach ($export_types as $export_type) {
2124 $this->tpl->setCurrentBlock(
"option");
2125 $this->tpl->setVariable(
"OPTION_VALUE", $export_type);
2126 $this->tpl->setVariable(
"OPTION_TEXT", $this->lng->txt($export_type));
2127 $this->tpl->parseCurrentBlock();
2130 $this->tpl->setVariable(
"EXPORT_BUTTON", $this->lng->txt(
"create_export_file"));
2131 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
2138 $lng->loadLanguageModule(
"meta");
2139 $lng->loadLanguageModule(
"mail");
2141 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2143 $form->setFormAction($ilCtrl->getFormAction($this));
2146 $form->setTitle($lng->txt(
"user_new_account_mail"));
2147 $form->setDescription($lng->txt(
"user_new_account_mail_desc"));
2149 $langs = $lng->getInstalledLanguages();
2150 foreach ($langs as $lang_key) {
2151 $amail = $this->
object->_lookupNewAccountMail($lang_key);
2153 $title = $lng->txt(
"meta_l_" . $lang_key);
2154 if ($lang_key == $lng->getDefaultLanguage()) {
2155 $title .=
" (" . $lng->txt(
"default") .
")";
2162 $subj =
new ilTextInputGUI($lng->txt(
"subject"),
"subject_" . $lang_key);
2164 $subj->
setValue($amail[
"subject"]);
2165 $form->addItem($subj);
2167 $salg =
new ilTextInputGUI($lng->txt(
"mail_salutation_general"),
"sal_g_" . $lang_key);
2170 $form->addItem($salg);
2172 $salf =
new ilTextInputGUI($lng->txt(
"mail_salutation_female"),
"sal_f_" . $lang_key);
2175 $form->addItem($salf);
2177 $salm =
new ilTextInputGUI($lng->txt(
"mail_salutation_male"),
"sal_m_" . $lang_key);
2180 $form->addItem($salm);
2186 $body->setCols(100);
2187 $form->addItem($body);
2189 $att =
new ilFileInputGUI($lng->txt(
"attachment"),
"att_" . $lang_key);
2190 $att->setAllowDeletion(
true);
2191 if ($amail[
"att_file"]) {
2192 $att->
setValue($amail[
"att_file"]);
2194 $form->addItem($att);
2197 $form->addCommandButton(
"saveNewAccountMail", $lng->txt(
"save"));
2198 $form->addCommandButton(
"cancelNewAccountMail", $lng->txt(
"cancel"));
2211 $this->tabs_gui->setTabActive(
'settings');
2212 $this->tabs_gui->setSubTabActive(
'user_new_account_mail');
2216 $ftpl =
new ilTemplate(
'tpl.usrf_new_account_mail.html',
true,
true,
'Services/User');
2217 $ftpl->setVariable(
"FORM",
$form->getHTML());
2221 $ftpl->setVariable(
"TXT_USE_PLACEHOLDERS", $lng->txt(
"mail_nacc_use_placeholder"));
2222 $ftpl->setVariable(
"TXT_MAIL_SALUTATION", $lng->txt(
"mail_nacc_salutation"));
2223 $ftpl->setVariable(
"TXT_FIRST_NAME", $lng->txt(
"firstname"));
2224 $ftpl->setVariable(
"TXT_LAST_NAME", $lng->txt(
"lastname"));
2225 $ftpl->setVariable(
"TXT_EMAIL", $lng->txt(
"email"));
2226 $ftpl->setVariable(
"TXT_LOGIN", $lng->txt(
"mail_nacc_login"));
2227 $ftpl->setVariable(
"TXT_PASSWORD", $lng->txt(
"password"));
2228 $ftpl->setVariable(
"TXT_PASSWORD_BLOCK", $lng->txt(
"mail_nacc_pw_block"));
2229 $ftpl->setVariable(
"TXT_NOPASSWORD_BLOCK", $lng->txt(
"mail_nacc_no_pw_block"));
2230 $ftpl->setVariable(
"TXT_ADMIN_MAIL", $lng->txt(
"mail_nacc_admin_mail"));
2231 $ftpl->setVariable(
"TXT_ILIAS_URL", $lng->txt(
"mail_nacc_ilias_url"));
2232 $ftpl->setVariable(
"TXT_CLIENT_NAME", $lng->txt(
"mail_nacc_client_name"));
2233 $ftpl->setVariable(
"TXT_TARGET", $lng->txt(
"mail_nacc_target"));
2234 $ftpl->setVariable(
"TXT_TARGET_TITLE", $lng->txt(
"mail_nacc_target_title"));
2235 $ftpl->setVariable(
"TXT_TARGET_TYPE", $lng->txt(
"mail_nacc_target_type"));
2236 $ftpl->setVariable(
"TXT_TARGET_BLOCK", $lng->txt(
"mail_nacc_target_block"));
2237 $ftpl->setVariable(
"TXT_IF_TIMELIMIT", $lng->txt(
"mail_nacc_if_timelimit"));
2238 $ftpl->setVariable(
"TXT_TIMELIMIT", $lng->txt(
"mail_nacc_timelimit"));
2240 $this->tpl->setContent($ftpl->get());
2245 $this->ctrl->redirect($this,
"settings");
2252 $langs = $lng->getInstalledLanguages();
2253 foreach ($langs as $lang_key) {
2254 $this->
object->_writeNewAccountMail(
2263 if ($_FILES[
"att_" . $lang_key][
"tmp_name"]) {
2264 $this->
object->_updateAccountMailAttachment(
2266 $_FILES[
"att_" . $lang_key][
"tmp_name"],
2267 $_FILES[
"att_" . $lang_key][
"name"]
2271 if (
$_POST[
"att_" . $lang_key .
"_delete"]) {
2272 $this->
object->_deleteAccountMailAttachment($lang_key);
2277 $this->ctrl->redirect($this,
"newAccountMail");
2292 include_once
'Services/Tracking/classes/class.ilObjUserTracking.php';
2296 if ($rbacsystem->checkAccess(
"visible,read", $this->object->getRefId())) {
2297 $this->tabs_gui->addTarget(
2299 $this->ctrl->getLinkTarget($this,
"view"),
2300 array(
"view",
"delete",
"resetFilter",
"userAction",
""),
2305 $this->tabs_gui->addTarget(
2306 "search_user_extended",
2307 $this->ctrl->getLinkTargetByClass(
'ilRepositorySearchGUI',
''),
2309 "ilrepositorysearchgui",
2314 if ($rbacsystem->checkAccess(
"write", $this->object->getRefId())) {
2315 $this->tabs_gui->addTarget(
2317 $this->ctrl->getLinkTarget($this,
"generalSettings"),
2318 array(
'settings',
'generalSettings',
'listUserDefinedField',
'newAccountMail')
2321 $this->tabs_gui->addTarget(
2323 $this->ctrl->getLinkTarget($this,
"export"),
2339 if ($rbacsystem->checkAccess(
'edit_permission', $this->object->getRefId())) {
2340 $this->tabs_gui->addTarget(
2342 $this->ctrl->getLinkTargetByClass(
array(get_class($this),
'ilpermissiongui'),
"perm"),
2343 array(
"perm",
"info",
"owner"),
2359 $this->tabs_gui->addSubTabTarget(
2361 $this->ctrl->getLinkTarget($this,
'generalSettings'),
2365 $this->tabs_gui->addSubTabTarget(
2367 $this->ctrl->getLinkTarget($this,
'settings'),
2368 array(
"settings",
"saveGlobalUserSettings"),
2371 $this->tabs_gui->addSubTabTarget(
2372 "user_defined_fields",
2373 $this->ctrl->getLinkTargetByClass(
"ilcustomuserfieldsgui",
"listUserDefinedFields"),
2374 "listUserDefinedFields",
2377 $this->tabs_gui->addSubTabTarget(
2378 "user_new_account_mail",
2379 $this->ctrl->getLinkTarget($this,
'newAccountMail'),
2384 $this->tabs_gui->addSubTabTarget(
2386 $this->ctrl->getLinkTargetByClass(
"iluserstartingpointgui",
"startingPoints"),
2392 $this->tabs_gui->addSubTabTarget(
2393 "user_profile_info",
2394 $this->ctrl->getLinkTargetByClass(
"ilUserProfileInfoSettingsGUI",
''),
2396 "ilUserProfileInfoSettingsGUI" 2399 #$this->tabs_gui->addSubTab("account_codes", $this->lng->txt("user_account_codes"), 2400 # $this->ctrl->getLinkTargetByClass("ilaccountcodesgui")); 2409 $show_blocking_time_in_days = (int) $ilSetting->get(
'loginname_change_blocking_time') / 86400;
2412 $this->loginSettingsForm->setValuesByArray(
array(
2413 'allow_change_loginname' => (
bool) $ilSetting->get(
'allow_change_loginname'),
2414 'create_history_loginname' => (bool) $ilSetting->get(
'create_history_loginname'),
2415 'reuse_of_loginnames' => (bool) $ilSetting->get(
'reuse_of_loginnames'),
2416 'loginname_change_blocking_time' => (float) $show_blocking_time_in_days
2419 $this->tpl->setVariable(
'ADM_CONTENT', $this->loginSettingsForm->getHTML());
2425 $this->tabs_gui->setTabActive(
'settings');
2426 $this->tabs_gui->setSubTabActive(
'loginname_settings');
2428 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2430 $this->loginSettingsForm->
setFormAction($this->ctrl->getFormAction($this,
'saveLoginnameSettings'));
2431 $this->loginSettingsForm->setTitle($this->lng->txt(
'loginname_settings'));
2433 $chbChangeLogin =
new ilCheckboxInputGUI($this->lng->txt(
'allow_change_loginname'),
'allow_change_loginname');
2435 $this->loginSettingsForm->addItem($chbChangeLogin);
2436 $chbCreateHistory =
new ilCheckboxInputGUI($this->lng->txt(
'history_loginname'),
'create_history_loginname');
2437 $chbCreateHistory->
setInfo($this->lng->txt(
'loginname_history_info'));
2438 $chbCreateHistory->setValue(1);
2439 $chbChangeLogin->addSubItem($chbCreateHistory);
2440 $chbReuseLoginnames =
new ilCheckboxInputGUI($this->lng->txt(
'reuse_of_loginnames_contained_in_history'),
'reuse_of_loginnames');
2442 $chbReuseLoginnames->setInfo($this->lng->txt(
'reuse_of_loginnames_contained_in_history_info'));
2443 $chbChangeLogin->addSubItem($chbReuseLoginnames);
2444 $chbChangeBlockingTime =
new ilNumberInputGUI($this->lng->txt(
'loginname_change_blocking_time'),
'loginname_change_blocking_time');
2446 $chbChangeBlockingTime->setSuffix($this->lng->txt(
'days'));
2447 $chbChangeBlockingTime->setInfo($this->lng->txt(
'loginname_change_blocking_time_info'));
2448 $chbChangeBlockingTime->setSize(10);
2449 $chbChangeBlockingTime->setMaxLength(10);
2450 $chbChangeLogin->addSubItem($chbChangeBlockingTime);
2452 $this->loginSettingsForm->addCommandButton(
'saveLoginnameSettings', $this->lng->txt(
'save'));
2460 if ($this->loginSettingsForm->checkInput()) {
2463 if (!strlen($this->loginSettingsForm->getInput(
'loginname_change_blocking_time'))) {
2465 $this->loginSettingsForm->getItemByPostVar(
'loginname_change_blocking_time')
2466 ->setAlert($this->lng->txt(
'loginname_change_blocking_time_invalidity_info'));
2470 $save_blocking_time_in_seconds = (int) $this->loginSettingsForm->getInput(
'loginname_change_blocking_time') * 86400;
2472 $ilSetting->set(
'allow_change_loginname', (
int) $this->loginSettingsForm->getInput(
'allow_change_loginname'));
2473 $ilSetting->set(
'create_history_loginname', (
int) $this->loginSettingsForm->getInput(
'create_history_loginname'));
2474 $ilSetting->set(
'reuse_of_loginnames', (
int) $this->loginSettingsForm->getInput(
'reuse_of_loginnames'));
2475 $ilSetting->set(
'loginname_change_blocking_time', (
int) $save_blocking_time_in_seconds);
2484 $this->loginSettingsForm->setValuesByPost();
2486 $this->tpl->setVariable(
'ADM_CONTENT', $this->loginSettingsForm->getHTML());
2498 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
2499 ilUtil::redirect(
"ilias.php?baseClass=ilAdministrationGUI&ref_id=" . $a_target .
"&jmpToUser=" . $a_user);
2502 if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID)) {
2504 $lng->txt(
"msg_no_perm_read_item"),
2510 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
2521 $ilCtrl->setParameterByClass(
"ilobjusergui",
"obj_id", (
int) $_GET[
"jmpToUser"]);
2522 $ilCtrl->redirectByClass(
"ilobjusergui",
"view");
2531 if (!count((
array) $a_usr_ids)) {
2536 $_POST[
'id'] = $a_usr_ids;
2539 if (stristr($a_cmd,
"export")) {
2540 $cmd = $a_cmd .
"Object";
2541 return $this->$cmd();
2544 $_POST[
'selectedAction'] = $a_cmd;
2553 if ($a_search_form) {
2555 'activate' => $this->lng->txt(
'activate'),
2556 'deactivate' => $this->lng->txt(
'deactivate'),
2557 'accessRestrict' => $this->lng->txt(
'accessRestrict'),
2558 'accessFree' => $this->lng->txt(
'accessFree')
2561 if ($rbacsystem->checkAccess(
'delete', $this->object->getRefId())) {
2562 $cmds[
"delete"] = $this->lng->txt(
"delete");
2568 'activateUsers' => $this->lng->txt(
'activate'),
2569 'deactivateUsers' => $this->lng->txt(
'deactivate'),
2570 'restrictAccess' => $this->lng->txt(
'accessRestrict'),
2571 'freeAccess' => $this->lng->txt(
'accessFree')
2574 if ($rbacsystem->checkAccess(
'delete', $this->object->getRefId())) {
2575 $cmds[
"deleteUsers"] = $this->lng->txt(
"delete");
2580 $export_types =
array(
"userfolder_export_excel_x86",
"userfolder_export_csv",
"userfolder_export_xml");
2581 foreach ($export_types as
$type) {
2582 $cmd = explode(
"_", $type);
2583 $cmd = array_pop($cmd);
2584 $cmds[
'usrExport' . ucfirst($cmd)] = $this->lng->txt(
'export') .
' - ' .
2585 $this->lng->txt($type);
2589 include_once
"Services/Mail/classes/class.ilMail.php";
2590 $mail =
new ilMail($ilUser->getId());
2591 if ($rbacsystem->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId())) {
2592 $cmds[
"mail"] = $this->lng->txt(
"send_mail");
2595 $cmds[
'addToClipboard'] = $this->lng->txt(
'clipboard_add_btn');
2607 $this->
object->buildExportFile(
"userfolder_export_excel_x86", $user_ids);
2608 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2618 $this->
object->buildExportFile(
"userfolder_export_csv", $user_ids);
2619 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2629 $this->
object->buildExportFile(
"userfolder_export_xml", $user_ids);
2630 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2644 include_once
"Services/Contact/classes/class.ilMailingLists.php";
2646 $list->deleteTemporaryLists();
2649 include_once
"Services/Contact/classes/class.ilMailingList.php";
2652 $list->setTitle(
"-TEMPORARY SYSTEM LIST-");
2653 $list->setDescription(
"-USER ACCOUNTS MAIL-");
2654 $list->setCreateDate(
date(
"Y-m-d H:i:s"));
2656 $list_id =
$list->getId();
2659 foreach ($user_ids as $user_id) {
2660 $list->assignUser($user_id);
2663 include_once
"Services/Mail/classes/class.ilFormatMail.php";
2667 if (!is_array($mail_data)) {
2668 $mail_data =
array(
"user_id" => $ilUser->getId());
2674 $umail->savePostData(
2675 $mail_data[
'user_id'],
2676 $mail_data[
'attachments'],
2677 '#il_ml_' . $list_id,
2678 $mail_data[
'rcp_cc'],
2679 $mail_data[
'rcp_bcc'],
2680 $mail_data[
'm_type'],
2681 $mail_data[
'm_email'],
2682 $mail_data[
'm_subject'],
2683 $mail_data[
'm_message'],
2684 $mail_data[
'use_placeholders'],
2685 $mail_data[
'tpl_ctx_id'],
2686 $mail_data[
'tpl_ctx_params']
2689 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
2696 'type' =>
'search_res' 2704 switch ($a_form_id) {
2707 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
2717 'ps_password_min_length' => (
int) $security->getPasswordMinLength(),
2718 'ps_password_max_length' => (int) $security->getPasswordMaxLength(),
2719 'ps_password_uppercase_chars_num' => (int) $security->getPasswordNumberOfUppercaseChars(),
2720 'ps_password_lowercase_chars_num' => (int) $security->getPasswordNumberOfLowercaseChars(),
2721 'ps_password_max_age' => (int) $security->getPasswordMaxAge()
2723 $fields[
'ps_password_settings'] =
array(null, null, $subitems);
2726 'ps_login_max_attempts' => (
int) $security->getLoginMaxAttempts(),
2729 $fields[
'ps_security_protection'] =
array(null, null, $subitems);
2731 return array(
array(
"generalSettings", $fields));
2740 $this->ctrl->redirect($this,
'view');
2742 include_once
'./Services/User/classes/class.ilUserClipboard.php';
2748 $this->ctrl->redirect($this,
'view');
showLoginnameSettingsObject()
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
const DEFAULT_MAX_COUNT
default value for settings that have not been defined in setup or administration yet ...
static _getIcon( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
setSubTabs($a_tab)
set sub tabs
static makeDirParents($a_dir)
Create a new directory and all parent directories.
This class represents an option in a radio group.
GUI class for account codes.
static _isSearchable($a_key)
if(isset($_REQUEST['delete'])) $list
importUsersObject()
import users
__buildUserFilterSelect()
build select form to distinguish between active and non-active users
showActionConfirmation($action, $a_from_search=false)
display activation confirmation screen
setValue($a_value)
Set Value.
static getInstance($a_usr_id)
Get singelton instance.
addToExternalSettingsForm($a_form_id)
getImportDir()
get user import directory name
static searchRolesByMailboxAddressList( $a_address_list, ilMailRfc822AddressParserFactory $parserFactory=null, ilMailRfc822AddressParser $parser=null)
Finds all role ids that match the specified user friendly role mailbox address list.
static _goto($a_user)
goto target group
confirmdeleteObject()
confirm delete Object
cancelSearchActionObject()
importUserRoleAssignmentObject()
display form for user import
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date public.
freeAccessObject()
Free access.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
if(!array_key_exists('StateId', $_REQUEST)) $id
setValue($a_value)
Set Value.
activateUsersObject()
Activate users.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
initFormGeneralSettings()
init general settings form
static unzip($a_file, $overwrite=false, $a_flat=false)
unzip file
chooseLetterObject()
Choose first letter.
settingsObject()
Global user settings.
Learning progress account list for user administration.
static getDir($a_dir, $a_rec=false, $a_sub_dir="")
get directory
applyFilterObject()
Apply filter.
static getRoleMailboxAddress( $a_role_id, $is_localize=true, ilMailRfc822AddressParserFactory $mailAddressParserFactory=null)
Returns the mailbox address of a role.
static _lookupTitle($a_id)
lookup object title
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor public.
viewObject()
list childs of current object
exportObject()
Global user settings.
const SESSION_HANDLING_FIXED
setInfo($a_info)
Set Info.
static _reset()
Reset all.
importCancelledObject()
import cancelled
static _getAssignUsersStatus($a_role_id)
importUserFormObject()
display form for user import
generalSettingsObject()
Show user account general settings.
confirmaccessRestrictObject()
Auto completion class for user lists.
restrictAccessObject()
Restrict access.
User profile info settings UI class.
getActionUserIds()
Get selected items for table action.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
saveGlobalUserSettingsObject($action="")
resetFilterObject()
Reset filter (note: this function existed before data table filter has been introduced.
static _enabledUserRelatedData()
check wether user related tracking is enabled or not
confirmaccessFreeObject()
TableGUI class for user administration.
static updateLimitLog($a_new_value)
Log max session setting.
prepareOutput($a_show_subobjects=true)
prepare output
deleteUsersObject()
Delete users.
static _enabledLearningProgress()
check wether learing progress is enabled or not
Class ilCustomUserFieldsGUI.
deactivateUsersObject()
Deactivate users.
static _saveStatus($a_key, $a_enabled)
static secondsToString($seconds, $force_with_seconds=false, $a_lng=null)
converts seconds to string: Long: 7 days 4 hour(s) ...
saveGeneralSettingsObject()
Save user account settings.
if(isset($_POST['submit'])) $form
static _lookupNewAccountMail($a_lang)
Class ilUserStartingPointGUI.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
confirmDeleteExportFileObject()
confirmation screen for export file deletion
This class handles base functions for mail handling.
Class ilObjectGUI Basic methods of all Output classes.
static _lookupObjId($a_id)
cancelDeleteExportFileObject()
cancel deletion of export files
date( 'd-M-Y', $objPHPExcel->getProperties() ->getCreated())
deleteExportFileObject()
delete export files
getUserMultiCommands($a_search_form=false)
special template class to simplify handling of ITX/PEAR
This class represents a text property in a property form.
showActions($with_subobjects=false)
show possible action (form buttons)
redirection script todo: (a better solution should control the processing via a xml file) ...
newAccountMailObject()
new account mail administration
setMaxLength($a_maxlength)
Set Max Length.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
confirmdeactivateObject()
Set the selected users inactive.
jumpToUserObject()
Jump to edit screen for user.
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
downloadExportFileObject()
Download selected export files.
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
saveLoginnameSettingsObject()
showPossibleSubObjects()
show possible subobjects (pulldown menu) overwritten to prevent displaying of role templates in local...
initAccessRestrictionForm($a_from_search=false)
static getDataDir()
get data directory (outside webspace)
static formSelect( $selected, $varname, $options, $multiple=false, $direct_text=false, $size="0", $style_class="", $attribs="", $disabled=false)
Builds a select form field with options and shows the selected option first.
This class represents a non editable value in a property form.
Create new PHPExcel object
obj_idprivate
static getInstance()
Singelton get instance.
This class represents a text area property in a property form.
addUserObject()
Add new user;.
static getFirstLettersOfLastnames()
Get first letters of all lastnames.
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows) ...
cancelNewAccountMailObject()
searchResultHandler($a_usr_ids, $a_cmd)
Handles multi command from repository search gui.
Class ilObjUserFolderGUI.
const USER_FOLDER_ID
Class ilObjUserFolder.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static getLogger($a_component_id)
Get component logger.
const SESSION_HANDLING_LOAD_DEPENDENT
static _getInstance()
Get instance of ilPrivacySettings.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
const DEFAULT_ALLOW_CLIENT_MAINTENANCE
cancelUserFolderActionObject()
setValue($a_value)
Set Value.
static redirect($a_script)
static getSessionExpireValue()
Returns the session expiration value.
initUserImportForm()
Init user import form.
confirmactivateObject()
Set the selected users active.
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
static _getInstance()
Get instance of ilSecuritySettings.
saveNewAccountMailObject()
viewObject($reset_filter=false)
list users
const DEFAULT_MAX_IDLE_AFTER_FIRST_REQUEST
const IL_UPDATE_ON_CONFLICT
for($i=6; $i< 13; $i++) for($i=1; $i< 13; $i++) $d
static deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
const IL_IGNORE_ON_CONFLICT
setAccessRestrictionObject($a_form=null, $a_from_search=false)
Confirmation screen class.
addUserAutoCompleteObject()
Show auto complete results.