4require_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";
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);
530 $to->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");
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");
798 $fi->setSuffixes(array(
"xml",
"zip"));
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');
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);
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);
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"]) {
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);
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));
1522 $fixed->addSubItem($cb);
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');
1536 $sub_ti->setMaxLength(5);
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');
1548 $sub_ti->setMaxLength(5);
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');
1560 $sub_ti->setMaxLength(5);
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'
1574 $sub_ti->setMaxLength(5);
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');
1678 $objCb->setValue(1);
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');
1690 $chbChangeLogin->setValue(1);
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');
1698 $chbReuseLoginnames->setValue(1);
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');
1703 $chbChangeBlockingTime->allowDecimals(
true);
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();
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']);
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();
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");
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);
2154 if ($lang_key ==
$lng->getDefaultLanguage()) {
2164 $subj->setValue($amail[
"subject"]);
2165 $form->addItem($subj);
2167 $salg =
new ilTextInputGUI(
$lng->txt(
"mail_salutation_general"),
"sal_g_" . $lang_key);
2169 $salg->setValue($amail[
"sal_g"]);
2170 $form->addItem($salg);
2172 $salf =
new ilTextInputGUI(
$lng->txt(
"mail_salutation_female"),
"sal_f_" . $lang_key);
2174 $salf->setValue($amail[
"sal_f"]);
2175 $form->addItem($salf);
2179 $salm->setValue($amail[
"sal_m"]);
2180 $form->addItem($salm);
2184 $body->setValue($amail[
"body"]);
2186 $body->setCols(100);
2187 $form->addItem($body);
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');
2434 $chbChangeLogin->setValue(1);
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');
2441 $chbReuseLoginnames->setValue(1);
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');
2445 $chbChangeBlockingTime->allowDecimals(
true);
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"),
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";
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";
2665 $mail_data = $umail->getSavedData();
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');
sprintf('%.4f', $callTime)
date( 'd-M-Y', $objPHPExcel->getProperties() ->getCreated())
An exception for terminatinating execution or to throw for unit testing.
const USER_FOLDER_ID
Class ilObjUserFolder.
const IL_UPDATE_ON_CONFLICT
const IL_IGNORE_ON_CONFLICT
GUI class for account codes.
Confirmation screen class.
Class ilCustomUserFieldsGUI.
static secondsToString($seconds, $force_with_seconds=false, $a_lng=null)
converts seconds to string: Long: 7 days 4 hour(s) ...
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date @access public.
@classDescription Date and time handling
static getLogger($a_component_id)
Get component logger.
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 getRoleMailboxAddress( $a_role_id, $is_localize=true, ilMailRfc822AddressParserFactory $mailAddressParserFactory=null)
Returns the mailbox address of a role.
This class handles base functions for mail handling.
static _reset()
Reset all.
This class represents a non editable value in a property form.
static _getAssignUsersStatus($a_role_id)
Class ilObjUserFolderGUI.
addUserObject()
Add new user;.
deactivateUsersObject()
Deactivate users.
importCancelledObject()
import cancelled
resetFilterObject()
Reset filter (note: this function existed before data table filter has been introduced.
saveGeneralSettingsObject()
Save user account settings.
addUserAutoCompleteObject()
Show auto complete results.
confirmdeactivateObject()
Set the selected users inactive.
cancelNewAccountMailObject()
cancelSearchActionObject()
deleteUsersObject()
Delete users.
restrictAccessObject()
Restrict access.
newAccountMailObject()
new account mail administration
showPossibleSubObjects()
show possible subobjects (pulldown menu) overwritten to prevent displaying of role templates in local...
initUserImportForm()
Init user import form.
activateUsersObject()
Activate users.
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor @access public.
confirmdeleteObject()
confirm delete Object
initFormGeneralSettings()
init general settings form
getUserMultiCommands($a_search_form=false)
getAdminTabs()
administration tabs show only permissions and trash folder
viewObject($reset_filter=false)
list users
setAccessRestrictionObject($a_form=null, $a_from_search=false)
importUserFormObject()
display form for user import
confirmaccessFreeObject()
importUserRoleAssignmentObject()
display form for user import
exportObject()
Global user settings.
jumpToUserObject()
Jump to edit screen for user.
__buildUserFilterSelect()
build select form to distinguish between active and non-active users
importUsersObject()
import users
showLoginnameSettingsObject()
initAccessRestrictionForm($a_from_search=false)
applyFilterObject()
Apply filter.
getActionUserIds()
Get selected items for table action.
cancelDeleteExportFileObject()
cancel deletion of export files
searchResultHandler($a_usr_ids, $a_cmd)
Handles multi command from repository search gui.
downloadExportFileObject()
Download selected export files.
confirmDeleteExportFileObject()
confirmation screen for export file deletion
saveNewAccountMailObject()
settingsObject()
Global user settings.
saveGlobalUserSettingsObject($action="")
cancelUserFolderActionObject()
static _goto($a_user)
goto target group
getImportDir()
get user import directory name
getTabs()
get tabs @access public
saveLoginnameSettingsObject()
showActionConfirmation($action, $a_from_search=false)
display activation confirmation screen
showActions($with_subobjects=false)
show possible action (form buttons)
setSubTabs($a_tab)
set sub tabs
executeCommand()
execute command
deleteExportFileObject()
delete export files
generalSettingsObject()
Show user account general settings.
confirmaccessRestrictObject()
confirmactivateObject()
Set the selected users active.
chooseLetterObject()
Choose first letter.
freeAccessObject()
Free access.
addToExternalSettingsForm($a_form_id)
static _lookupNewAccountMail($a_lang)
static _enabledLearningProgress()
check wether learing progress is enabled or not
static _enabledUserRelatedData()
check wether user related tracking is enabled or not
static getFirstLettersOfLastnames()
Get first letters of all lastnames.
Class ilObjectGUI Basic methods of all Output classes.
prepareOutput($a_show_subobjects=true)
prepare output
viewObject()
list childs of current object
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
static _getIcon( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
static _lookupType($a_id, $a_reference=false)
lookup object type
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static _getInstance()
Get instance of ilPrivacySettings.
This class represents an option in a radio group.
static _getInstance()
Get instance of ilSecuritySettings.
const DEFAULT_MAX_IDLE_AFTER_FIRST_REQUEST
const DEFAULT_ALLOW_CLIENT_MAINTENANCE
const DEFAULT_MAX_COUNT
default value for settings that have not been defined in setup or administration yet
static updateLimitLog($a_new_value)
Log max session setting.
const SESSION_HANDLING_LOAD_DEPENDENT
const SESSION_HANDLING_FIXED
static getSessionExpireValue()
Returns the session expiration value.
special template class to simplify handling of ITX/PEAR
This class represents a text area property in a property form.
This class represents a text property in a property form.
static getInstance()
Singelton get instance.
Auto completion class for user lists.
static getInstance($a_usr_id)
Get singelton instance.
Learning progress account list for user administration.
User profile info settings UI class.
static _isSearchable($a_key)
static _saveStatus($a_key, $a_enabled)
Class ilUserStartingPointGUI.
TableGUI class for user administration.
static getDataDir()
get data directory (outside webspace)
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows)
static getDir($a_dir, $a_rec=false, $a_sub_dir="")
get directory
static deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
static unzip($a_file, $overwrite=false, $a_flat=false)
unzip file
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static makeDirParents($a_dir)
Create a new directory and all parent directories.
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.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
for( $i=6;$i< 13;$i++) for($i=1; $i< 13; $i++) $d
if(!array_key_exists('StateId', $_REQUEST)) $id
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
redirection script todo: (a better solution should control the processing via a xml file)
if(isset($_POST['submit'])) $form
if(isset($_REQUEST['delete'])) $list
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file