4require_once
"./Services/Object/classes/class.ilObjectGUI.php";
30 public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output =
true)
37 define(
'USER_FOLDER_ID', 7);
40 parent::__construct($a_data, $a_id, $a_call_by_reference,
false);
42 $this->lng->loadLanguageModule(
'search');
43 $this->lng->loadLanguageModule(
"user");
45 $ilCtrl->saveParameter($this,
"letter");
52 $this->user_owner_id = $a_id;
56 return $this->user_owner_id ? $this->user_owner_id :
USER_FOLDER_ID;
63 $ilTabs =
$DIC[
'ilTabs'];
65 $next_class = $this->ctrl->getNextClass($this);
66 $cmd = $this->ctrl->getCmd();
69 switch ($next_class) {
70 case 'ilusertablegui':
71 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
73 $u_table->initFilter();
74 $this->ctrl->setReturn($this,
'view');
75 $this->ctrl->forwardCommand($u_table);
78 case 'ilpermissiongui':
79 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
81 $ret = &$this->ctrl->forwardCommand($perm_gui);
84 case 'ilrepositorysearchgui':
85 include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
87 $user_search->setTitle($this->lng->txt(
"search_user_extended"));
88 $user_search->enableSearchableCheck(
false);
89 $user_search->setUserLimitations(
false);
90 $user_search->setCallback(
92 'searchResultHandler',
95 $this->tabs_gui->setTabActive(
'search_user_extended');
96 $this->ctrl->setReturn($this,
'view');
97 $ret = &$this->ctrl->forwardCommand($user_search);
100 case 'ilaccountcodesgui':
101 $this->tabs_gui->setTabActive(
'settings');
103 $ilTabs->activateSubTab(
"account_codes");
104 include_once(
"./Services/User/classes/class.ilAccountCodesGUI.php");
106 $this->ctrl->forwardCommand($acc);
109 case 'ilcustomuserfieldsgui':
110 $this->tabs_gui->setTabActive(
'settings');
112 $ilTabs->activateSubTab(
"user_defined_fields");
113 include_once(
"./Services/User/classes/class.ilCustomUserFieldsGUI.php");
115 $this->ctrl->forwardCommand($cf);
118 case 'iluserstartingpointgui':
119 $this->tabs_gui->setTabActive(
'settings');
121 $ilTabs->activateSubTab(
"starting_points");
122 include_once(
"./Services/User/classes/class.ilUserStartingPointGUI.php");
124 $this->ctrl->forwardCommand($cf);
127 case 'iluserprofileinfosettingsgui':
128 $this->tabs_gui->setTabActive(
'settings');
130 $ilTabs->activateSubTab(
"user_profile_info");
132 $this->ctrl->forwardCommand($ps);
151 $rbacsystem =
$DIC[
'rbacsystem'];
157 if (!$rbacsystem->checkAccess(
"read", $this->object->getRefId()) ||
160 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"), $this->ilias->error_obj->MESSAGE);
163 include_once
"Services/User/classes/class.ilUserLPTableGUI.php";
175 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
177 $utab->resetOffset();
178 $utab->resetFilter();
193 $ilCtrl->setParameterByClass(
"ilobjusergui",
"new_type",
"usr");
194 $ilCtrl->redirectByClass(array(
"iladministrationgui",
"ilobjusergui"),
"create");
205 $ilTabs =
$DIC[
'ilTabs'];
207 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
209 $utab->resetOffset();
210 $utab->writeFilterToSession();
212 $ilTabs->activateTab(
"usrf");
224 $rbacsystem =
$DIC[
'rbacsystem'];
226 $ilToolbar =
$DIC[
'ilToolbar'];
231 include_once
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
233 if ($rbacsystem->checkAccess(
'create_usr', $this->object->getRefId()) ||
234 $rbacsystem->checkAccess(
'cat_administrate_users', $this->object->getRefId())) {
236 $button->setCaption(
"usr_add");
237 $button->setUrl($this->ctrl->getLinkTarget($this,
"addUser"));
238 $ilToolbar->addButtonInstance($button);
241 $button->setCaption(
"import_users");
242 $button->setUrl($this->ctrl->getLinkTarget($this,
"importUserForm"));
243 $ilToolbar->addButtonInstance($button);
247 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
249 if ((
int)
$ilSetting->get(
'user_adm_alpha_nav')) {
250 $ilToolbar->addSeparator();
253 include_once(
"./Services/Form/classes/class.ilAlphabetInputGUI.php");
255 include_once(
"./Services/User/classes/class.ilObjUser.php");
261 $ai->setParentCommand($this,
"chooseLetter");
262 $ai->setHighlighted(
$_GET[
"letter"]);
263 $ilToolbar->addInputItem(
$ai,
true);
266 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
268 $tpl->setContent($utab->getHTML());
276 include_once
'./Services/User/classes/class.ilUserAutoComplete.php';
278 $auto->setSearchFields(array(
'login',
'firstname',
'lastname',
'email',
'second_email'));
279 $auto->enableFieldSearchableCheck(
false);
280 $auto->setMoreLinkAvailable(
true);
282 if (($_REQUEST[
'fetchall'])) {
286 echo $auto->getList($_REQUEST[
'term']);
302 $ilCtrl->redirect($this,
"view");
316 $rbacsystem =
$DIC[
'rbacsystem'];
318 $operations = array();
320 if ($this->actions ==
"") {
322 "delete" => array(
"name" =>
"delete",
"lng" =>
"delete"),
323 "activate" => array(
"name" =>
"activate",
"lng" =>
"activate"),
324 "deactivate" => array(
"name" =>
"deactivate",
"lng" =>
"deactivate"),
325 "accessRestrict" => array(
"name" =>
"accessRestrict",
"lng" =>
"accessRestrict"),
326 "accessFree" => array(
"name" =>
"accessFree",
"lng" =>
"accessFree"),
327 "export" => array(
"name" =>
"export",
"lng" =>
"export")
333 if ($rbacsystem->checkAccess(
$row[
"name"], $this->object->getRefId())) {
334 $operations[] =
$row;
338 if (count($operations) > 0) {
339 $select =
"<select name=\"selectedAction\">\n";
340 foreach ($operations as $val) {
341 $select .=
"<option value=\"" . $val[
"name"] .
"\"";
342 if (strcmp(
$_POST[
"selectedAction"], $val[
"name"]) == 0) {
343 $select .=
" selected=\"selected\"";
346 $select .= $this->lng->txt($val[
"lng"]);
347 $select .=
"</option>";
349 $select .=
"</select>";
350 $this->tpl->setCurrentBlock(
"tbl_action_select");
351 $this->tpl->setVariable(
"SELECT_ACTION", $select);
352 $this->tpl->setVariable(
"BTN_NAME",
"userAction");
353 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"submit"));
354 $this->tpl->parseCurrentBlock();
357 if ($with_subobjects ===
true) {
361 if ((count($operations) > 0) or $subobjs ===
true) {
362 $this->tpl->setCurrentBlock(
"tbl_action_row");
363 $this->tpl->setVariable(
"COLUMN_COUNTS", count($this->
data[
"cols"]));
365 $this->tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
366 $this->tpl->parseCurrentBlock();
380 $rbacsystem =
$DIC[
'rbacsystem'];
382 $d = $this->objDefinition->getCreatableSubObjects($this->object->getType());
384 if (!$rbacsystem->checkAccess(
'create_usr', $this->object->getRefId())) {
391 if (
$row[
"max"] > 0) {
393 for (
$i = 0;
$i < count($this->
data[
"ctrl"]);
$i++) {
394 if ($this->
data[
"ctrl"][
$i][
"type"] == $row[
"name"]) {
399 if (
$row[
"max"] ==
"" || $count <
$row[
"max"]) {
400 $subobj[] =
$row[
"name"];
405 if (is_array($subobj)) {
408 $this->tpl->setCurrentBlock(
"add_object");
409 $this->tpl->setVariable(
"SELECT_OBJTYPE", $opts);
410 $this->tpl->setVariable(
"BTN_NAME",
"create");
411 $this->tpl->setVariable(
"TXT_ADD", $this->lng->txt(
"add"));
412 $this->tpl->parseCurrentBlock();
422 $this->ctrl->redirect($this,
'view');
427 $this->ctrl->redirectByClass(
'ilrepositorysearchgui',
'showSearchResults');
439 $rbacsystem =
$DIC[
'rbacsystem'];
443 if (!$rbacsystem->checkAccess(
'write', $this->object->getRefId())) {
444 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"), $this->ilias->error_obj->WARNING);
450 $obj = &$this->
ilias->obj_factory->getInstanceByObjId($id);
451 $obj->setActive(
true,
$ilUser->getId());
455 ilUtil::sendSuccess($this->lng->txt(
"user_activated"),
true);
458 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
460 $this->ctrl->redirect($this,
"view");
473 $rbacsystem =
$DIC[
'rbacsystem'];
477 if (!$rbacsystem->checkAccess(
'write', $this->object->getRefId())) {
478 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"), $this->ilias->error_obj->WARNING);
484 $obj = &$this->
ilias->obj_factory->getInstanceByObjId($id);
485 $obj->setActive(
false,
$ilUser->getId());
490 ilUtil::sendSuccess($this->lng->txt(
"user_deactivated"),
true);
493 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
495 $this->ctrl->redirect($this,
"view");
503 $rbacsystem =
$DIC[
'rbacsystem'];
507 if (!$rbacsystem->checkAccess(
'write', $this->object->getRefId())) {
508 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"), $this->ilias->error_obj->WARNING);
514 $obj = $this->
ilias->obj_factory->getInstanceByObjId($id);
515 $obj->setTimeLimitUnlimited(1);
516 $obj->setTimeLimitFrom(
"");
517 $obj->setTimeLimitUntil(
"");
518 $obj->setTimeLimitMessage(0);
523 ilUtil::sendSuccess($this->lng->txt(
"access_free_granted"),
true);
526 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
528 $this->ctrl->redirect($this,
"view");
537 $this->tpl->setContent($a_form->getHTML());
551 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
553 $form->setTitle($this->lng->txt(
"time_limit_add_time_limit_for_selected"));
554 $form->setFormAction($this->ctrl->getFormAction($this,
"confirmaccessRestrict"));
557 $from->setShowTime(
true);
558 $from->setRequired(
true);
562 $to->setRequired(
true);
563 $to->setShowTime(
true);
566 $form->addCommandButton(
"confirmaccessRestrict", $this->lng->txt(
"confirm"));
567 $form->addCommandButton(
"view", $this->lng->txt(
"cancel"));
569 foreach ($user_ids as $user_id) {
571 $ufield->setValue($user_id);
572 $form->addItem($ufield);
576 if ($a_from_search ||
$_POST[
"frsrch"]) {
579 $form->addItem($field);
588 if (!
$form->checkInput()) {
594 if ($timeuntil <= $timefrom) {
601 $rbacsystem =
$DIC[
'rbacsystem'];
605 if (!$rbacsystem->checkAccess(
'write', $this->object->getRefId())) {
606 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"), $this->ilias->error_obj->WARNING);
612 $obj = $this->
ilias->obj_factory->getInstanceByObjId($id);
613 $obj->setTimeLimitUnlimited(0);
614 $obj->setTimeLimitFrom($timefrom);
615 $obj->setTimeLimitUntil($timeuntil);
616 $obj->setTimeLimitMessage(0);
621 ilUtil::sendSuccess($this->lng->txt(
"access_restricted"),
true);
624 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
626 $this->ctrl->redirect($this,
"view");
639 $rbacsystem =
$DIC[
'rbacsystem'];
644 if (!$rbacsystem->checkAccess(
'delete', $this->object->getRefId())) {
646 $ilCtrl->redirect($this,
"view");
650 $this->
ilias->raiseError($this->lng->txt(
"msg_no_delete_yourself"), $this->ilias->error_obj->WARNING);
656 $obj = &$this->
ilias->obj_factory->getInstanceByObjId($id);
661 ilUtil::sendSuccess($this->lng->txt(
"user_deleted"),
true);
664 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
666 $this->ctrl->redirect($this,
"view");
677 if (
$_POST[
"select_cmd_all"]) {
678 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
680 return $utab->getUserIdsForFilter();
693 $ilTabs =
$DIC[
'ilTabs'];
697 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->ilias->error_obj->MESSAGE);
700 if (!$a_from_search) {
701 $ilTabs->activateTab(
"obj_usrf");
703 $ilTabs->activateTab(
"search_user_extended");
706 if (strcmp(
$action,
"accessRestrict") == 0) {
709 if (strcmp(
$action,
"mail") == 0) {
715 if (!$a_from_search) {
716 $cancel =
"cancelUserFolderAction";
718 $cancel =
"cancelSearchAction";
722 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
724 $cgui->setFormAction($this->ctrl->getFormAction($this));
725 $cgui->setHeaderText($this->lng->txt(
"info_" .
$action .
"_sure"));
726 $cgui->setCancel($this->lng->txt(
"cancel"), $cancel);
727 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirm" .
$action);
729 if ($a_from_search) {
730 $cgui->addHiddenItem(
"frsrch", 1);
733 foreach ($user_ids as
$id) {
738 $login = $this->lng->txt(
"never");
743 $caption =
$user->getFullname() .
" (" .
$user->getLogin() .
")" .
", " .
744 $user->getEmail() .
" - " . $this->lng->txt(
"last_login") .
": " .
$login;
746 $cgui->addItem(
"id[]",
$id, $caption);
749 $this->tpl->setContent($cgui->getHTML());
759 $_POST[
"selectedAction"] =
"delete";
768 $_POST[
"selectedAction"] =
"activate";
777 $_POST[
"selectedAction"] =
"deactivate";
786 $_POST[
"selectedAction"] =
"accessRestrict";
795 $_POST[
"selectedAction"] =
"accessFree";
812 $rbacsystem =
$DIC[
'rbacsystem'];
815 if (
$_GET[
"baseClass"] ==
'ilRepositoryGUI') {
816 $this->tabs_gui->clearTargets();
819 if (!$rbacsystem->checkAccess(
"write", $this->object->getRefId())) {
820 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"), $this->ilias->error_obj->MESSAGE);
824 $tpl->setContent($this->form->getHTML());
839 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
843 include_once(
"./Services/Form/classes/class.ilFileInputGUI.php");
845 $fi->setSuffixes(array(
"xml",
"zip"));
848 $this->form->addItem($fi);
850 $this->form->addCommandButton(
"importUserRoleAssignment",
$lng->txt(
"import"));
851 $this->form->addCommandButton(
"importCancelled",
$lng->txt(
"cancel"));
853 $this->form->setTitle(
$lng->txt(
"import_users"));
854 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
866 if (@is_dir($import_dir)) {
870 if (strtolower(
$_GET[
"baseClass"]) ==
'iladministrationgui') {
871 $this->ctrl->redirect($this,
"view");
874 $this->ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
908 if (
$_GET[
"baseClass"] ==
'ilRepositoryGUI') {
909 $this->tabs_gui->clearTargets();
913 if ($this->form->checkInput()) {
914 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
915 include_once
'./Services/User/classes/class.ilUserImportParser.php';
920 $rbacsystem =
$DIC[
'rbacsystem'];
925 $this->tpl->addBlockfile(
"ADM_CONTENT",
"adm_content",
"tpl.usr_import_roles.html",
"Services/User");
930 if (@is_dir($import_dir)) {
936 $file_name = $_FILES[
"importFile"][
"name"];
937 $parts = pathinfo($file_name);
938 $full_path = $import_dir .
"/" . $file_name;
941 if (!is_file($_FILES[
"importFile"][
"tmp_name"])) {
943 $this->
ilias->raiseError($this->lng->txt(
"no_import_file_found"), $this->ilias->error_obj->MESSAGE);
945 ilUtil::moveUploadedFile(
946 $_FILES[
"importFile"][
"tmp_name"],
947 $_FILES[
"importFile"][
"name"],
952 if (strtolower($parts[
"extension"]) ==
"zip") {
958 foreach ($file_list as $a_file) {
959 if (substr($a_file[
'entry'], -4) ==
'.xml') {
960 $xml_file = $import_dir .
"/" . $a_file[
'entry'];
964 if (is_null($xml_file)) {
965 $subdir = basename($parts[
"basename"],
"." . $parts[
"extension"]);
966 $xml_file = $import_dir .
"/" . $subdir .
"/" . $subdir .
".xml";
971 $xml_file = $full_path;
975 if (!is_file($xml_file)) {
977 $this->
ilias->raiseError($this->lng->txt(
"no_xml_file_found_in_zip")
978 .
" " . $subdir .
"/" . $subdir .
".xml", $this->ilias->error_obj->MESSAGE);
981 require_once(
"./Services/User/classes/class.ilUserImportParser.php");
986 $importParser->startParsing();
987 switch ($importParser->getErrorLevel()) {
991 $this->tpl->setVariable(
"IMPORT_LOG", $importParser->getProtocolAsHTML(
$lng->txt(
"verification_warning_log")));
995 $this->
ilias->raiseError(
996 $lng->txt(
"verification_failed") . $importParser->getProtocolAsHTML(
$lng->txt(
"verification_failure_log")),
997 $this->ilias->error_obj->MESSAGE
1004 $this->tpl->setCurrentBlock(
"role_selection_form");
1005 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
1006 $this->tpl->setVariable(
"TXT_IMPORT_USERS", $this->lng->txt(
"import_users"));
1007 $this->tpl->setVariable(
"TXT_IMPORT_FILE", $this->lng->txt(
"import_file"));
1008 $this->tpl->setVariable(
"IMPORT_FILE", $file_name);
1009 $this->tpl->setVariable(
"TXT_USER_ELEMENT_COUNT", $this->lng->txt(
"num_users"));
1010 $this->tpl->setVariable(
"USER_ELEMENT_COUNT", $importParser->getUserCount());
1011 $this->tpl->setVariable(
"TXT_ROLE_ASSIGNMENT", $this->lng->txt(
"role_assignment"));
1012 $this->tpl->setVariable(
"BTN_IMPORT", $this->lng->txt(
"import"));
1013 $this->tpl->setVariable(
"BTN_CANCEL", $this->lng->txt(
"cancel"));
1014 $this->tpl->setVariable(
"XML_FILE_NAME", $xml_file);
1018 $importParser->startParsing();
1019 $roles = $importParser->getCollectedRoles();
1022 $all_gl_roles =
$rbacreview->getRoleListByObject(ROLE_FOLDER_ID);
1023 $gl_roles = array();
1025 foreach ($all_gl_roles as $obj_data) {
1033 if ($obj_data[
"obj_id"] != ANONYMOUS_ROLE_ID) {
1035 if ($obj_data[
"obj_id"] != SYSTEM_ROLE_ID or in_array(SYSTEM_ROLE_ID, $roles_of_user)) {
1036 $gl_roles[$obj_data[
"obj_id"]] = $obj_data[
"title"];
1042 $got_globals =
false;
1043 foreach ($roles as $role_id => $role) {
1044 if ($role[
"type"] ==
"Global") {
1045 if (!$got_globals) {
1046 $got_globals =
true;
1048 $this->tpl->setCurrentBlock(
"global_role_section");
1049 $this->tpl->setVariable(
"TXT_GLOBAL_ROLES_IMPORT", $this->lng->txt(
"roles_of_import_global"));
1050 $this->tpl->setVariable(
"TXT_GLOBAL_ROLES", $this->lng->txt(
"assign_global_role"));
1054 $pre_select = array_search($role[
"name"], $gl_roles);
1056 switch ($role[
"name"]) {
1057 case "Administrator":
1058 $pre_select = array_search(
"Administrator", $gl_roles);
1062 $pre_select = array_search(
"User", $gl_roles);
1066 $pre_select = array_search(
"User", $gl_roles);
1070 $pre_select = array_search(
"Guest", $gl_roles);
1074 $pre_select = array_search(
"User", $gl_roles);
1078 $this->tpl->setCurrentBlock(
"global_role");
1079 $role_select =
ilUtil::formSelect($pre_select,
"role_assign[" . $role_id .
"]", $gl_roles,
false,
true);
1080 $this->tpl->setVariable(
"TXT_IMPORT_GLOBAL_ROLE", $role[
"name"] .
" [" . $role_id .
"]");
1081 $this->tpl->setVariable(
"SELECT_GLOBAL_ROLE", $role_select);
1082 $this->tpl->parseCurrentBlock();
1087 $got_locals =
false;
1088 foreach ($roles as $role_id => $role) {
1089 if ($role[
"type"] ==
"Local") {
1096 $this->tpl->setCurrentBlock(
"local_role_section");
1097 $this->tpl->setVariable(
"TXT_LOCAL_ROLES_IMPORT", $this->lng->txt(
"roles_of_import_local"));
1098 $this->tpl->setVariable(
"TXT_LOCAL_ROLES", $this->lng->txt(
"assign_local_role"));
1108 $loc_roles = array();
1111 foreach ($roles as $role_id => $role) {
1112 if ($role[
"type"] ==
"Local") {
1113 $searchName = (substr($role[
'name'], 0, 1) ==
'#') ? $role[
'name'] :
'#' . $role[
'name'];
1114 $matching_role_ids = $roleMailboxSearch->searchRoleIdsByAddressString($searchName);
1115 foreach ($matching_role_ids as $mid) {
1116 if (!in_array($mid, $loc_roles)) {
1117 $loc_roles[] = $mid;
1126 $loc_roles =
$rbacreview->getAssignableRolesInSubtree($this->object->getRefId());
1131 $l_roles_mailbox_searcharray = array();
1132 require_once
'Services/Mail/classes/Address/Type/class.ilMailRoleAddressType.php';
1133 foreach ($loc_roles as
$key => $loc_role) {
1135 $rolf =
$rbacreview->getFoldersAssignedToRole($loc_role,
true);
1143 $rbacsystem->checkAccess(
'write', $rolf[0]) &&
1144 $rolf[0] != ROLE_FOLDER_ID
1156 $path_array = array();
1157 if ($this->tree->isInTree($rolf[0])) {
1160 $tmpPath = $this->tree->getPathFull($rolf[0]);
1161 $tmpPath[] = $rolf[0];
1163 for (
$i = 1,
$n = count($tmpPath) - 1;
$i <
$n;
$i++) {
1164 if ($i < 3 || $i >
$n - 3) {
1165 $path_array[] = $tmpPath[
$i][
'title'];
1166 } elseif (
$i == 3 ||
$i ==
$n - 3) {
1167 $path_array[] =
'...';
1170 $isInSubtree |= $tmpPath[
$i][
'obj_id'] == $this->
object->getId();
1173 $path = implode(
" < ", array_reverse($path_array));
1175 $path =
"<b>Rolefolder " . $rolf[0] .
" not found in tree! (Role " . $loc_role .
")</b>";
1177 $roleMailboxAddress = (new \ilRoleMailboxAddress($loc_role))->value();
1178 $l_roles[$loc_role] = $roleMailboxAddress .
', ' .
$path;
1183 natcasesort($l_roles);
1184 $l_roles[
""] = $this->lng->txt(
"usrimport_ignore_role");
1187 foreach ($roles as $role_id => $role) {
1188 if ($role[
"type"] ==
"Local") {
1189 $this->tpl->setCurrentBlock(
"local_role");
1190 $this->tpl->setVariable(
"TXT_IMPORT_LOCAL_ROLE", $role[
"name"]);
1191 $searchName = (substr($role[
'name'], 0, 1) ==
'#') ? $role[
'name'] :
'#' . $role[
'name'];
1192 $matching_role_ids = $roleMailboxSearch->searchRoleIdsByAddressString($searchName);
1193 $pre_select = count($matching_role_ids) == 1 ? $matching_role_ids[0] :
"";
1198 $selectable_roles = array();
1199 $selectable_roles[
""] = $this->lng->txt(
"usrimport_ignore_role");
1200 foreach ($matching_role_ids as
$id) {
1201 $selectable_roles[
$id] = $l_roles[
$id];
1203 $role_select =
ilUtil::formSelect($pre_select,
"role_assign[" . $role_id .
"]", $selectable_roles,
false,
true);
1205 $role_select =
ilUtil::formSelect($pre_select,
"role_assign[" . $role_id .
"]", $l_roles,
false,
true);
1207 $this->tpl->setVariable(
"SELECT_LOCAL_ROLE", $role_select);
1208 $this->tpl->parseCurrentBlock();
1214 $this->tpl->setVariable(
"TXT_CONFLICT_HANDLING",
$lng->txt(
"conflict_handling"));
1219 $this->tpl->setVariable(
"TXT_CONFLICT_HANDLING_INFO", str_replace(
'\n',
'<br>', $this->lng->txt(
"usrimport_conflict_handling_info")));
1220 $this->tpl->setVariable(
"TXT_CONFLICT_CHOICE",
$lng->txt(
"conflict_handling"));
1224 $this->lng->loadLanguageModule(
"mail");
1225 include_once
'./Services/User/classes/class.ilObjUserFolder.php';
1227 if (trim($amail[
"body"]) !=
"" && trim($amail[
"subject"]) !=
"") {
1228 $this->tpl->setCurrentBlock(
"inform_user");
1229 $this->tpl->setVariable(
"TXT_ACCOUNT_MAIL",
$lng->txt(
"mail_account_mail"));
1231 $this->tpl->setVariable(
"SEND_MAIL",
" checked=\"checked\"");
1233 $this->tpl->setVariable(
1234 "TXT_INFORM_USER_MAIL",
1235 $this->lng->txt(
"user_send_new_account_mail")
1237 $this->tpl->parseCurrentBlock();
1240 $this->form->setValuesByPost();
1241 $tpl->setContent($this->form->getHtml());
1256 if (
$_GET[
"baseClass"] ==
'ilRepositoryGUI') {
1257 $this->tabs_gui->clearTargets();
1260 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
1261 include_once
'./Services/User/classes/class.ilUserImportParser.php';
1266 $rbacsystem =
$DIC[
'rbacsystem'];
1270 switch (
$_POST[
"conflict_handling_choice"]) {
1271 case "update_on_conflict":
1274 case "ignore_on_conflict":
1286 if (
$_POST[
"role_assign"]) {
1289 foreach (
$_POST[
"role_assign"] as $role_id) {
1290 if ($role_id !=
"") {
1291 if (in_array($role_id, $global_roles)) {
1292 if (!in_array(SYSTEM_ROLE_ID, $roles_of_user)) {
1293 if ($role_id == SYSTEM_ROLE_ID && !in_array(SYSTEM_ROLE_ID, $roles_of_user)
1298 $this->
ilias->raiseError(
1299 $this->lng->txt(
"usrimport_with_specified_role_not_permitted"),
1300 $this->ilias->error_obj->MESSAGE
1305 $rolf =
$rbacreview->getFoldersAssignedToRole($role_id,
true);
1307 || !$rbacsystem->checkAccess(
'write', $rolf[0])) {
1309 $this->
ilias->raiseError(
1310 $this->lng->txt(
"usrimport_with_specified_role_not_permitted"),
1311 $this->ilias->error_obj->MESSAGE
1320 $importParser->setRoleAssignment(
$_POST[
"role_assign"]);
1321 $importParser->startParsing();
1326 switch ($importParser->getErrorLevel()) {
1328 ilUtil::sendSuccess($this->lng->txt(
"user_imported"),
true);
1331 ilUtil::sendInfo($this->lng->txt(
"user_imported_with_warnings") . $importParser->getProtocolAsHTML(
$lng->txt(
"import_warning_log")),
true);
1334 $this->
ilias->raiseError(
1335 $this->lng->txt(
"user_import_failed")
1336 . $importParser->getProtocolAsHTML(
$lng->txt(
"import_failure_log")),
1337 $this->ilias->error_obj->MESSAGE
1342 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui") {
1343 $this->ctrl->redirect($this,
"view");
1346 $this->ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
1352 parent::hitsperpageObject();
1368 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
1371 $show_blocking_time_in_days =
$ilSetting->get(
'loginname_change_blocking_time') / 86400;
1372 $show_blocking_time_in_days = (float) $show_blocking_time_in_days;
1374 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1377 $this->form->setValuesByArray(
1379 'lua' => $aset->isLocalUserAdministrationEnabled(),
1380 'lrua' => $aset->isUserAccessRestricted(),
1381 'allow_change_loginname' => (
bool)
$ilSetting->get(
'allow_change_loginname'),
1382 'create_history_loginname' => (
bool)
$ilSetting->get(
'create_history_loginname'),
1383 'reuse_of_loginnames' => (
bool)
$ilSetting->get(
'reuse_of_loginnames'),
1384 'loginname_change_blocking_time' => (
float) $show_blocking_time_in_days,
1385 'user_adm_alpha_nav' => (
int)
$ilSetting->get(
'user_adm_alpha_nav'),
1387 'user_reactivate_code' => (
int)
$ilSetting->get(
'user_reactivate_code'),
1388 'user_own_account' => (
int)
$ilSetting->get(
'user_delete_own_account'),
1389 'user_own_account_email' =>
$ilSetting->get(
'user_delete_own_account_email'),
1392 'session_reminder_enabled' =>
$ilSetting->get(
'session_reminder_enabled'),
1398 'password_change_on_first_login_enabled' => $security->isPasswordChangeOnFirstLoginEnabled() ? 1 : 0,
1399 'password_must_not_contain_loginame' => $security->getPasswordMustNotContainLoginnameStatus() ? 1 : 0,
1400 'password_chars_and_numbers_enabled' => $security->isPasswordCharsAndNumbersEnabled() ? 1 : 0,
1401 'password_special_chars_enabled' => $security->isPasswordSpecialCharsEnabled() ? 1 : 0 ,
1402 'password_min_length' => $security->getPasswordMinLength(),
1403 'password_max_length' => $security->getPasswordMaxLength(),
1404 'password_ucase_chars_num' => $security->getPasswordNumberOfUppercaseChars(),
1405 'password_lowercase_chars_num' => $security->getPasswordNumberOfLowercaseChars(),
1406 'password_max_age' => $security->getPasswordMaxAge(),
1408 'login_max_attempts' => $security->getLoginMaxAttempts(),
1409 'ps_prevent_simultaneous_logins' => (
int) $security->isPreventionOfSimultaneousLoginsEnabled(),
1410 'password_assistance' => (
bool)
$ilSetting->get(
"password_assistance")
1411 ,
'letter_avatars' => (
int)
$ilSetting->get(
'letter_avatars')
1415 $this->tpl->setContent($this->form->getHTML());
1431 if ($this->form->checkInput()) {
1434 if (!strlen($this->form->getInput(
'loginname_change_blocking_time'))) {
1436 $this->form->getItemByPostVar(
'loginname_change_blocking_time')
1437 ->setAlert($this->lng->txt(
'loginname_change_blocking_time_invalidity_info'));
1440 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1444 $security->setPasswordCharsAndNumbersEnabled((
bool)
$_POST[
"password_chars_and_numbers_enabled"]);
1445 $security->setPasswordSpecialCharsEnabled((
bool)
$_POST[
"password_special_chars_enabled"]);
1446 $security->setPasswordMinLength((
int)
$_POST[
"password_min_length"]);
1447 $security->setPasswordMaxLength((
int)
$_POST[
"password_max_length"]);
1448 $security->setPasswordNumberOfUppercaseChars((
int)
$_POST[
'password_ucase_chars_num']);
1449 $security->setPasswordNumberOfLowercaseChars((
int)
$_POST[
'password_lowercase_chars_num']);
1450 $security->setPasswordMaxAge((
int)
$_POST[
"password_max_age"]);
1451 $security->setLoginMaxAttempts((
int)
$_POST[
"login_max_attempts"]);
1452 $security->setPreventionOfSimultaneousLogins((
bool)
$_POST[
'ps_prevent_simultaneous_logins']);
1453 $security->setPasswordChangeOnFirstLoginEnabled((
bool)
$_POST[
'password_change_on_first_login_enabled']);
1454 $security->setPasswordMustNotContainLoginnameStatus((
int)
$_POST[
'password_must_not_contain_loginame']);
1456 if (!$security->validate($this->form)) {
1463 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
1468 $ilSetting->set(
'allow_change_loginname', (
int) $this->form->getInput(
'allow_change_loginname'));
1469 $ilSetting->set(
'create_history_loginname', (
int) $this->form->getInput(
'create_history_loginname'));
1470 $ilSetting->set(
'reuse_of_loginnames', (
int) $this->form->getInput(
'reuse_of_loginnames'));
1471 $save_blocking_time_in_seconds = (int) ($this->form->getInput(
'loginname_change_blocking_time') * 86400);
1472 $ilSetting->set(
'loginname_change_blocking_time', (
int) $save_blocking_time_in_seconds);
1473 $ilSetting->set(
'user_adm_alpha_nav', (
int) $this->form->getInput(
'user_adm_alpha_nav'));
1474 $ilSetting->set(
'user_reactivate_code', (
int) $this->form->getInput(
'user_reactivate_code'));
1476 $ilSetting->set(
'user_delete_own_account', (
int) $this->form->getInput(
'user_own_account'));
1477 $ilSetting->set(
'user_delete_own_account_email', $this->form->getInput(
'user_own_account_email'));
1479 $ilSetting->set(
"password_assistance", $this->form->getInput(
"password_assistance"));
1483 'session_handling_type',
1484 (
int) $this->form->getInput(
'session_handling_type')
1489 'session_reminder_enabled',
1490 $this->form->getInput(
'session_reminder_enabled')
1493 require_once
'Services/Authentication/classes/class.ilSessionControl.php';
1496 'session_allow_client_maintenance',
1501 include_once
"Services/Authentication/classes/class.ilSessionStatistics.php";
1505 'session_max_count',
1506 (
int) $this->form->getInput(
'session_max_count')
1510 (
int) $this->form->getInput(
'session_min_idle')
1514 (
int) $this->form->getInput(
'session_max_idle')
1517 'session_max_idle_after_first_request',
1518 (
int) $this->form->getInput(
'session_max_idle_after_first_request')
1523 $ilSetting->set(
'letter_avatars', (
int) $this->form->getInput(
'letter_avatars'));
1524 ilUtil::sendSuccess($this->lng->txt(
'saved_successfully'));
1531 $this->form->setValuesByPost();
1532 $this->tpl->setContent($this->form->getHTML());
1547 $this->tabs_gui->setTabActive(
'settings');
1548 $this->tabs_gui->setSubTabActive(
'general_settings');
1550 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1552 $this->form->setFormAction($this->ctrl->getFormAction($this,
'saveGeneralSettings'));
1554 $this->form->setTitle($this->lng->txt(
'general_settings'));
1556 $lua =
new ilCheckboxInputGUI($this->lng->txt(
'enable_local_user_administration'),
'lua');
1557 $lua->setInfo($this->lng->txt(
'enable_local_user_administration_info'));
1559 $this->form->addItem($lua);
1562 $lrua->setInfo($this->lng->txt(
'restrict_user_access_info'));
1564 $this->form->addItem($lrua);
1567 $alph =
new ilCheckboxInputGUI($this->lng->txt(
'user_adm_enable_alpha_nav'),
'user_adm_alpha_nav');
1570 $this->form->addItem($alph);
1574 $code->setInfo($this->lng->txt(
'user_account_code_setting_info'));
1575 $this->form->addItem(
$code);
1578 $own =
new ilCheckboxInputGUI($this->lng->txt(
"user_allow_delete_own_account"),
"user_own_account");
1579 $this->form->addItem($own);
1580 $own_email =
new ilEMailInputGUI($this->lng->txt(
"user_delete_own_account_notification_email"),
"user_own_account_email");
1581 $own->addSubItem($own_email);
1593 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"session_reminder"),
"session_reminder_enabled");
1596 $cb->setInfo($this->lng->txt(
"session_reminder_info") .
"<br />" .
1597 sprintf($this->lng->txt(
'session_reminder_session_duration'),
$time));
1598 $fixed->addSubItem($cb);
1601 $ssettings->addOption($fixed);
1607 require_once(
'Services/Authentication/classes/class.ilSessionControl.php');
1611 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_max_count'),
'session_max_count');
1612 $sub_ti->setMaxLength(5);
1613 $sub_ti->setSize(5);
1614 $sub_ti->setInfo($this->lng->txt(
'session_max_count_info'));
1616 $sub_ti->setDisabled(
true);
1618 $ldsh->addSubItem($sub_ti);
1623 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_min_idle'),
'session_min_idle');
1624 $sub_ti->setMaxLength(5);
1625 $sub_ti->setSize(5);
1626 $sub_ti->setInfo($this->lng->txt(
'session_min_idle_info'));
1628 $sub_ti->setDisabled(
true);
1630 $ldsh->addSubItem($sub_ti);
1635 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_max_idle'),
'session_max_idle');
1636 $sub_ti->setMaxLength(5);
1637 $sub_ti->setSize(5);
1638 $sub_ti->setInfo($this->lng->txt(
'session_max_idle_info'));
1640 $sub_ti->setDisabled(
true);
1642 $ldsh->addSubItem($sub_ti);
1647 $this->lng->txt(
'session_max_idle_after_first_request'),
1648 'session_max_idle_after_first_request'
1650 $sub_ti->setMaxLength(5);
1651 $sub_ti->setSize(5);
1652 $sub_ti->setInfo($this->lng->txt(
'session_max_idle_after_first_request_info'));
1654 $sub_ti->setDisabled(
true);
1656 $ldsh->addSubItem($sub_ti);
1659 $ssettings->addOption($ldsh);
1665 $this->form->addItem($ssettings);
1670 $ti->setValue($this->lng->txt(
'session_config_maintenance_disabled'));
1671 $ssettings->setDisabled(
true);
1672 $ti->addSubItem($ssettings);
1673 $this->form->addItem($ti);
1679 $this->lng->loadLanguageModule(
'ps');
1682 $pass->setTitle($this->lng->txt(
'ps_password_settings'));
1683 $this->form->addItem(
$pass);
1685 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_change_on_first_login_enabled'),
'password_change_on_first_login_enabled');
1686 $check->setInfo($this->lng->txt(
'ps_password_change_on_first_login_enabled_info'));
1687 $this->form->addItem($check);
1689 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1691 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_must_not_contain_loginame'),
'password_must_not_contain_loginame');
1692 $check->setInfo($this->lng->txt(
'ps_password_must_not_contain_loginame_info'));
1693 $this->form->addItem($check);
1695 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_chars_and_numbers_enabled'),
'password_chars_and_numbers_enabled');
1697 $check->setInfo($this->lng->txt(
'ps_password_chars_and_numbers_enabled_info'));
1698 $this->form->addItem($check);
1700 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_special_chars_enabled'),
'password_special_chars_enabled');
1702 $check->setInfo($this->lng->txt(
'ps_password_special_chars_enabled_info'));
1703 $this->form->addItem($check);
1706 $text->setInfo($this->lng->txt(
'ps_password_min_length_info'));
1708 $text->setMaxLength(2);
1709 $this->form->addItem(
$text);
1712 $text->setInfo($this->lng->txt(
'ps_password_max_length_info'));
1714 $text->setMaxLength(3);
1715 $this->form->addItem(
$text);
1717 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_password_uppercase_chars_num'),
'password_ucase_chars_num');
1718 $text->setInfo($this->lng->txt(
'ps_password_uppercase_chars_num_info'));
1719 $text->setMinValue(0);
1721 $text->setMaxLength(3);
1722 $this->form->addItem(
$text);
1724 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_password_lowercase_chars_num'),
'password_lowercase_chars_num');
1725 $text->setInfo($this->lng->txt(
'ps_password_lowercase_chars_num_info'));
1726 $text->setMinValue(0);
1728 $text->setMaxLength(3);
1729 $this->form->addItem(
$text);
1732 $text->setInfo($this->lng->txt(
'ps_password_max_age_info'));
1734 $text->setMaxLength(3);
1735 $this->form->addItem(
$text);
1738 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"enable_password_assistance"),
"password_assistance");
1739 $cb->setInfo($this->lng->txt(
"password_assistance_info"));
1740 $this->form->addItem($cb);
1743 $pass->setTitle($this->lng->txt(
'ps_security_protection'));
1744 $this->form->addItem(
$pass);
1747 $text->setInfo($this->lng->txt(
'ps_login_max_attempts_info'));
1749 $text->setMaxLength(2);
1750 $this->form->addItem(
$text);
1753 $objCb =
new ilCheckboxInputGUI($this->lng->txt(
'ps_prevent_simultaneous_logins'),
'ps_prevent_simultaneous_logins');
1754 $objCb->setValue(1);
1755 $objCb->setInfo($this->lng->txt(
'ps_prevent_simultaneous_logins_info'));
1756 $this->form->addItem($objCb);
1762 $log->setTitle($this->lng->txt(
'loginname_settings'));
1763 $this->form->addItem(
$log);
1765 $chbChangeLogin =
new ilCheckboxInputGUI($this->lng->txt(
'allow_change_loginname'),
'allow_change_loginname');
1766 $chbChangeLogin->setValue(1);
1767 $this->form->addItem($chbChangeLogin);
1768 $chbCreateHistory =
new ilCheckboxInputGUI($this->lng->txt(
'history_loginname'),
'create_history_loginname');
1769 $chbCreateHistory->setInfo($this->lng->txt(
'loginname_history_info'));
1770 $chbCreateHistory->setValue(1);
1772 $chbChangeLogin->addSubItem($chbCreateHistory);
1773 $chbReuseLoginnames =
new ilCheckboxInputGUI($this->lng->txt(
'reuse_of_loginnames_contained_in_history'),
'reuse_of_loginnames');
1774 $chbReuseLoginnames->setValue(1);
1775 $chbReuseLoginnames->setInfo($this->lng->txt(
'reuse_of_loginnames_contained_in_history_info'));
1777 $chbChangeLogin->addSubItem($chbReuseLoginnames);
1778 $chbChangeBlockingTime =
new ilNumberInputGUI($this->lng->txt(
'loginname_change_blocking_time'),
'loginname_change_blocking_time');
1779 $chbChangeBlockingTime->allowDecimals(
true);
1780 $chbChangeBlockingTime->setSuffix($this->lng->txt(
'days'));
1781 $chbChangeBlockingTime->setInfo($this->lng->txt(
'loginname_change_blocking_time_info'));
1782 $chbChangeBlockingTime->setSize(10);
1783 $chbChangeBlockingTime->setMaxLength(10);
1784 $chbChangeLogin->addSubItem($chbChangeBlockingTime);
1786 $la =
new ilCheckboxInputGUI($this->lng->txt(
'usr_letter_avatars'),
'letter_avatars');
1788 $la->setInfo($this->lng->txt(
'usr_letter_avatars_info'));
1789 $this->form->addItem($la);
1791 $this->form->addCommandButton(
'saveGeneralSettings', $this->lng->txt(
'save'));
1813 $ilias =
$DIC[
'ilias'];
1814 $ilTabs =
$DIC[
'ilTabs'];
1816 include_once
'Services/Search/classes/class.ilUserSearchOptions.php';
1817 $lng->loadLanguageModule(
"administration");
1818 $lng->loadLanguageModule(
"mail");
1819 $lng->loadLanguageModule(
"chatroom");
1821 $ilTabs->activateTab(
'settings');
1822 $ilTabs->activateSubTab(
'standard_fields');
1824 include_once(
"./Services/User/classes/class.ilUserFieldSettingsTableGUI.php");
1826 if ($this->confirm_change) {
1827 $tab->setConfirmChange();
1839 include_once
'Services/Search/classes/class.ilUserSearchOptions.php';
1840 include_once
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
1844 $ilias =
$DIC[
'ilias'];
1848 include_once(
"./Services/User/classes/class.ilUserProfile.php");
1850 $up->skipField(
"username");
1851 $field_properties = $up->getStandardFields();
1852 $profile_fields = array_keys($field_properties);
1855 foreach ($profile_fields as $field) {
1856 if (
$_POST[
"chb"][
"required_" . $field] &&
1857 !(
int)
$_POST[
'chb'][
'visib_reg_' . $field]
1869 $this->confirm_change = 1;
1875 $fixed_required_fields = array(
1882 "hits_per_page" => 0,
1884 "hide_own_online_status" => 0
1889 if ($privacy->enabledCourseExport() ==
true &&
1890 $privacy->courseConfirmationRequired() ==
true &&
1892 foreach ($profile_fields as $field) {
1893 if (!$ilias->getSetting(
"usr_settings_course_export_" . $field) &&
$_POST[
"chb"][
"course_export_" . $field] ==
"1") {
1894 #ilUtil::sendQuestion($this->lng->txt('confirm_message_course_export'));
1895 #$this->confirm_change = 1;
1896 #$this->settingsObject();
1903 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
1907 foreach ($profile_fields as $field) {
1913 if (!
$_POST[
"chb"][
"visible_" . $field] && !$field_properties[$field][
"visible_hide"]) {
1914 $ilias->setSetting(
"usr_settings_hide_" . $field,
"1");
1916 $ilias->deleteSetting(
"usr_settings_hide_" . $field);
1919 if (!
$_POST[
"chb"][
"changeable_" . $field] && !$field_properties[$field][
"changeable_hide"]) {
1920 $ilias->setSetting(
"usr_settings_disable_" . $field,
"1");
1922 $ilias->deleteSetting(
"usr_settings_disable_" . $field);
1926 if ((
int)
$_POST[
'chb'][
'visib_reg_' . $field] && !$field_properties[$field][
"visib_reg_hide"]) {
1927 $ilSetting->set(
'usr_settings_visib_reg_' . $field,
'1');
1929 $ilSetting->set(
'usr_settings_visib_reg_' . $field,
'0');
1932 if ((
int)
$_POST[
'chb'][
'visib_lua_' . $field]) {
1933 $ilSetting->set(
'usr_settings_visib_lua_' . $field,
'1');
1935 $ilSetting->set(
'usr_settings_visib_lua_' . $field,
'0');
1938 if ((
int)
$_POST[
'chb'][
'changeable_lua_' . $field]) {
1939 $ilSetting->set(
'usr_settings_changeable_lua_' . $field,
'1');
1941 $ilSetting->set(
'usr_settings_changeable_lua_' . $field,
'0');
1944 if (
$_POST[
"chb"][
"export_" . $field] && !$field_properties[$field][
"export_hide"]) {
1945 $ilias->setSetting(
"usr_settings_export_" . $field,
"1");
1947 $ilias->deleteSetting(
"usr_settings_export_" . $field);
1951 if (
$_POST[
"chb"][
"course_export_" . $field] && !$field_properties[$field][
"course_export_hide"]) {
1952 $ilias->setSetting(
"usr_settings_course_export_" . $field,
"1");
1954 $ilias->deleteSetting(
"usr_settings_course_export_" . $field);
1958 if (
$_POST[
"chb"][
"group_export_" . $field] && !$field_properties[$field][
"group_export_hide"]) {
1959 $ilias->setSetting(
"usr_settings_group_export_" . $field,
"1");
1961 $ilias->deleteSetting(
"usr_settings_group_export_" . $field);
1964 $is_fixed = array_key_exists($field, $fixed_required_fields);
1965 if ($is_fixed && $fixed_required_fields[$field] || !$is_fixed &&
$_POST[
"chb"][
"required_" . $field]) {
1966 $ilias->setSetting(
"require_" . $field,
"1");
1968 $ilias->deleteSetting(
"require_" . $field);
1972 if (
$_POST[
"select"][
"default_hits_per_page"]) {
1973 $ilias->setSetting(
"hits_per_page",
$_POST[
"select"][
"default_hits_per_page"]);
1981 if (
$_POST[
"chb"][
"export_preferences"]) {
1982 $ilias->setSetting(
"usr_settings_export_preferences",
$_POST[
"chb"][
"export_preferences"]);
1984 $ilias->deleteSetting(
"usr_settings_export_preferences");
1987 $ilias->setSetting(
'mail_incoming_mail', (
int)
$_POST[
'select'][
'default_mail_incoming_mail']);
1992 ilUtil::sendSuccess($this->lng->txt(
"usr_settings_saved"));
2002 $action[-1] = $this->lng->txt(
'all_users');
2003 $action[1] = $this->lng->txt(
'usr_active_only');
2004 $action[0] = $this->lng->txt(
'usr_inactive_only');
2005 $action[2] = $this->lng->txt(
'usr_limited_access_only');
2006 $action[3] = $this->lng->txt(
'usr_without_courses');
2007 $action[4] = $this->lng->txt(
'usr_filter_lastlogin');
2008 $action[5] = $this->lng->txt(
"usr_filter_coursemember");
2009 $action[6] = $this->lng->txt(
"usr_filter_groupmember");
2010 $action[7] = $this->lng->txt(
"usr_filter_role");
2023 if (!isset(
$_POST[
"file"])) {
2024 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->ilias->error_obj->MESSAGE);
2027 if (count(
$_POST[
"file"]) > 1) {
2028 $this->
ilias->raiseError($this->lng->txt(
"select_max_one_item"), $this->ilias->error_obj->MESSAGE);
2031 $file = basename(
$_POST[
"file"][0]);
2033 $export_dir = $this->
object->getExportDirectory();
2042 if (!isset(
$_POST[
"file"])) {
2043 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"), $this->ilias->error_obj->MESSAGE);
2047 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
2049 $cgui->setFormAction($this->ctrl->getFormAction($this));
2050 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
2051 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDeleteExportFile");
2052 $cgui->setConfirm($this->lng->txt(
"confirm"),
"deleteExportFile");
2055 foreach (
$_POST[
"file"] as $file) {
2056 $cgui->addItem(
"file[]", $file, $file, ilObject::_getIcon($this->object->getId()), $this->lng->txt(
"obj_usrf"));
2059 $this->tpl->setContent($cgui->getHTML());
2068 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2077 $export_dir = $this->
object->getExportDirectory();
2078 foreach (
$_POST[
"file"] as $file) {
2079 $file = basename($file);
2081 $exp_file = $export_dir .
"/" . $file;
2082 if (@is_file($exp_file)) {
2086 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2103 $ilias =
$DIC[
'ilias'];
2106 if (
$_POST[
"cmd"][
"export"]) {
2107 $this->
object->buildExportFile(
$_POST[
"export_type"]);
2108 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2112 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.usr_export.html',
'Services/User');
2114 $export_types = array(
2115 "userfolder_export_excel_x86",
2116 "userfolder_export_csv",
2117 "userfolder_export_xml"
2121 include_once(
"./Services/Table/classes/class.ilTableGUI.php");
2125 $this->tpl->addBlockfile(
"EXPORT_FILES",
"export_files",
"tpl.table.html");
2128 $this->tpl->addBlockfile(
"TBL_CONTENT",
"tbl_content",
"tpl.usr_export_file_row.html",
"Services/User");
2132 $tbl->setTitle($this->lng->txt(
"userfolder_export_files"));
2134 $tbl->setHeaderNames(array(
"", $this->lng->txt(
"userfolder_export_file"),
2135 $this->lng->txt(
"userfolder_export_file_size"), $this->lng->txt(
"date") ));
2136 $tbl->setHeaderVars(array(),
$ilCtrl->getParameterArray($this,
"export"));
2138 $tbl->enabled[
"sort"] =
false;
2139 $tbl->setColumnWidth(array(
"1%",
"49%",
"25%",
"25%"));
2143 $tbl->setOrderDirection(
$_GET[
"sort_order"]);
2146 $tbl->setMaxCount($this->maxcount);
2149 $this->tpl->setVariable(
"COLUMN_COUNTS", 4);
2153 $this->tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
2154 $this->tpl->setCurrentBlock(
"tbl_action_btn");
2155 $this->tpl->setVariable(
"BTN_NAME",
"confirmDeleteExportFile");
2156 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"delete"));
2157 $this->tpl->parseCurrentBlock();
2159 $this->tpl->setCurrentBlock(
"tbl_action_btn");
2160 $this->tpl->setVariable(
"BTN_NAME",
"downloadExportFile");
2161 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"download"));
2162 $this->tpl->parseCurrentBlock();
2165 $tbl->setFooter(
"tblfooter", $this->lng->txt(
"previous"), $this->lng->txt(
"next"));
2168 $export_files = $this->
object->getExportFiles();
2170 $tbl->setMaxCount(count($export_files));
2171 $export_files = array_slice($export_files,
$_GET[
"offset"],
$_GET[
"limit"]);
2175 if (count($export_files) > 0) {
2177 foreach ($export_files as $exp_file) {
2178 $this->tpl->setCurrentBlock(
"tbl_content");
2179 $this->tpl->setVariable(
"TXT_FILENAME", $exp_file[
"filename"]);
2182 $this->tpl->setVariable(
"CSS_ROW", $css_row);
2184 $this->tpl->setVariable(
"TXT_SIZE", $exp_file[
"filesize"]);
2185 $this->tpl->setVariable(
"CHECKBOX_ID", $exp_file[
"filename"]);
2187 $file_arr = explode(
"__", $exp_file[
"filename"]);
2190 $this->tpl->parseCurrentBlock();
2193 $this->tpl->setCurrentBlock(
"selectall");
2194 $this->tpl->setVariable(
"SELECT_ALL", $this->lng->txt(
"select_all"));
2195 $this->tpl->setVariable(
"CSS_ROW", $css_row);
2196 $this->tpl->parseCurrentBlock();
2209 $this->tpl->parseCurrentBlock();
2212 foreach ($export_types as $export_type) {
2213 $this->tpl->setCurrentBlock(
"option");
2214 $this->tpl->setVariable(
"OPTION_VALUE", $export_type);
2215 $this->tpl->setVariable(
"OPTION_TEXT", $this->lng->txt($export_type));
2216 $this->tpl->parseCurrentBlock();
2219 $this->tpl->setVariable(
"EXPORT_BUTTON", $this->lng->txt(
"create_export_file"));
2220 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
2230 $lng->loadLanguageModule(
"meta");
2231 $lng->loadLanguageModule(
"mail");
2233 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2238 $form->setTitle(
$lng->txt(
"user_new_account_mail"));
2239 $form->setDescription(
$lng->txt(
"user_new_account_mail_desc"));
2241 $langs =
$lng->getInstalledLanguages();
2242 foreach ($langs as $lang_key) {
2243 $amail = $this->
object->_lookupNewAccountMail($lang_key);
2246 if ($lang_key ==
$lng->getDefaultLanguage()) {
2256 $subj->setValue($amail[
"subject"]);
2257 $form->addItem($subj);
2259 $salg =
new ilTextInputGUI(
$lng->txt(
"mail_salutation_general"),
"sal_g_" . $lang_key);
2261 $salg->setValue($amail[
"sal_g"]);
2262 $form->addItem($salg);
2264 $salf =
new ilTextInputGUI(
$lng->txt(
"mail_salutation_female"),
"sal_f_" . $lang_key);
2266 $salf->setValue($amail[
"sal_f"]);
2267 $form->addItem($salf);
2271 $salm->setValue($amail[
"sal_m"]);
2272 $form->addItem($salm);
2276 $body->setValue($amail[
"body"]);
2278 $body->setCols(100);
2279 $form->addItem($body);
2282 $att->setAllowDeletion(
true);
2283 if ($amail[
"att_file"]) {
2284 $att->setValue($amail[
"att_file"]);
2286 $form->addItem($att);
2289 $form->addCommandButton(
"saveNewAccountMail",
$lng->txt(
"save"));
2290 $form->addCommandButton(
"cancelNewAccountMail",
$lng->txt(
"cancel"));
2305 $this->tabs_gui->setTabActive(
'settings');
2306 $this->tabs_gui->setSubTabActive(
'user_new_account_mail');
2310 $ftpl =
new ilTemplate(
'tpl.usrf_new_account_mail.html',
true,
true,
'Services/User');
2311 $ftpl->setVariable(
"FORM",
$form->getHTML());
2315 $ftpl->setVariable(
"TXT_USE_PLACEHOLDERS",
$lng->txt(
"mail_nacc_use_placeholder"));
2316 $ftpl->setVariable(
"TXT_MAIL_SALUTATION",
$lng->txt(
"mail_nacc_salutation"));
2317 $ftpl->setVariable(
"TXT_FIRST_NAME",
$lng->txt(
"firstname"));
2318 $ftpl->setVariable(
"TXT_LAST_NAME",
$lng->txt(
"lastname"));
2319 $ftpl->setVariable(
"TXT_EMAIL",
$lng->txt(
"email"));
2320 $ftpl->setVariable(
"TXT_LOGIN",
$lng->txt(
"mail_nacc_login"));
2321 $ftpl->setVariable(
"TXT_PASSWORD",
$lng->txt(
"password"));
2322 $ftpl->setVariable(
"TXT_PASSWORD_BLOCK",
$lng->txt(
"mail_nacc_pw_block"));
2323 $ftpl->setVariable(
"TXT_NOPASSWORD_BLOCK",
$lng->txt(
"mail_nacc_no_pw_block"));
2324 $ftpl->setVariable(
"TXT_ADMIN_MAIL",
$lng->txt(
"mail_nacc_admin_mail"));
2325 $ftpl->setVariable(
"TXT_ILIAS_URL",
$lng->txt(
"mail_nacc_ilias_url"));
2326 $ftpl->setVariable(
"TXT_CLIENT_NAME",
$lng->txt(
"mail_nacc_client_name"));
2327 $ftpl->setVariable(
"TXT_TARGET",
$lng->txt(
"mail_nacc_target"));
2328 $ftpl->setVariable(
"TXT_TARGET_TITLE",
$lng->txt(
"mail_nacc_target_title"));
2329 $ftpl->setVariable(
"TXT_TARGET_TYPE",
$lng->txt(
"mail_nacc_target_type"));
2330 $ftpl->setVariable(
"TXT_TARGET_BLOCK",
$lng->txt(
"mail_nacc_target_block"));
2331 $ftpl->setVariable(
"TXT_IF_TIMELIMIT",
$lng->txt(
"mail_nacc_if_timelimit"));
2332 $ftpl->setVariable(
"TXT_TIMELIMIT",
$lng->txt(
"mail_nacc_timelimit"));
2334 $this->tpl->setContent($ftpl->get());
2339 $this->ctrl->redirect($this,
"settings");
2348 $langs =
$lng->getInstalledLanguages();
2349 foreach ($langs as $lang_key) {
2350 $this->
object->_writeNewAccountMail(
2359 if ($_FILES[
"att_" . $lang_key][
"tmp_name"]) {
2360 $this->
object->_updateAccountMailAttachment(
2362 $_FILES[
"att_" . $lang_key][
"tmp_name"],
2363 $_FILES[
"att_" . $lang_key][
"name"]
2367 if (
$_POST[
"att_" . $lang_key .
"_delete"]) {
2368 $this->
object->_deleteAccountMailAttachment($lang_key);
2372 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
2373 $this->ctrl->redirect($this,
"newAccountMail");
2388 include_once
'Services/Tracking/classes/class.ilObjUserTracking.php';
2392 $rbacsystem =
$DIC[
'rbacsystem'];
2394 if ($rbacsystem->checkAccess(
"visible,read", $this->object->getRefId())) {
2395 $this->tabs_gui->addTarget(
2397 $this->ctrl->getLinkTarget($this,
"view"),
2398 array(
"view",
"delete",
"resetFilter",
"userAction",
""),
2403 $this->tabs_gui->addTarget(
2404 "search_user_extended",
2405 $this->ctrl->getLinkTargetByClass(
'ilRepositorySearchGUI',
''),
2407 "ilrepositorysearchgui",
2412 if ($rbacsystem->checkAccess(
"write", $this->object->getRefId())) {
2413 $this->tabs_gui->addTarget(
2415 $this->ctrl->getLinkTarget($this,
"generalSettings"),
2416 array(
'settings',
'generalSettings',
'listUserDefinedField',
'newAccountMail')
2419 $this->tabs_gui->addTarget(
2421 $this->ctrl->getLinkTarget($this,
"export"),
2437 if ($rbacsystem->checkAccess(
'edit_permission', $this->object->getRefId())) {
2438 $this->tabs_gui->addTarget(
2440 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"),
2441 array(
"perm",
"info",
"owner"),
2455 $rbacsystem =
$DIC[
'rbacsystem'];
2460 $this->tabs_gui->addSubTabTarget(
2462 $this->ctrl->getLinkTarget($this,
'generalSettings'),
2466 $this->tabs_gui->addSubTabTarget(
2468 $this->ctrl->getLinkTarget($this,
'settings'),
2469 array(
"settings",
"saveGlobalUserSettings"),
2472 $this->tabs_gui->addSubTabTarget(
2473 "user_defined_fields",
2474 $this->ctrl->getLinkTargetByClass(
"ilcustomuserfieldsgui",
"listUserDefinedFields"),
2475 "listUserDefinedFields",
2478 $this->tabs_gui->addSubTabTarget(
2479 "user_new_account_mail",
2480 $this->ctrl->getLinkTarget($this,
'newAccountMail'),
2485 $this->tabs_gui->addSubTabTarget(
2487 $this->ctrl->getLinkTargetByClass(
"iluserstartingpointgui",
"startingPoints"),
2493 $this->tabs_gui->addSubTabTarget(
2494 "user_profile_info",
2495 $this->ctrl->getLinkTargetByClass(
"ilUserProfileInfoSettingsGUI",
''),
2497 "ilUserProfileInfoSettingsGUI"
2500 #$this->tabs_gui->addSubTab("account_codes", $this->lng->txt("user_account_codes"),
2501 # $this->ctrl->getLinkTargetByClass("ilaccountcodesgui"));
2512 $show_blocking_time_in_days = (int)
$ilSetting->get(
'loginname_change_blocking_time') / 86400;
2515 $this->loginSettingsForm->setValuesByArray(array(
2516 'allow_change_loginname' => (
bool)
$ilSetting->get(
'allow_change_loginname'),
2517 'create_history_loginname' => (
bool)
$ilSetting->get(
'create_history_loginname'),
2518 'reuse_of_loginnames' => (
bool)
$ilSetting->get(
'reuse_of_loginnames'),
2519 'loginname_change_blocking_time' => (
float) $show_blocking_time_in_days
2522 $this->tpl->setVariable(
'ADM_CONTENT', $this->loginSettingsForm->getHTML());
2528 $this->tabs_gui->setTabActive(
'settings');
2529 $this->tabs_gui->setSubTabActive(
'loginname_settings');
2531 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2533 $this->loginSettingsForm->
setFormAction($this->ctrl->getFormAction($this,
'saveLoginnameSettings'));
2534 $this->loginSettingsForm->setTitle($this->lng->txt(
'loginname_settings'));
2536 $chbChangeLogin =
new ilCheckboxInputGUI($this->lng->txt(
'allow_change_loginname'),
'allow_change_loginname');
2537 $chbChangeLogin->setValue(1);
2538 $this->loginSettingsForm->addItem($chbChangeLogin);
2539 $chbCreateHistory =
new ilCheckboxInputGUI($this->lng->txt(
'history_loginname'),
'create_history_loginname');
2540 $chbCreateHistory->setInfo($this->lng->txt(
'loginname_history_info'));
2541 $chbCreateHistory->setValue(1);
2542 $chbChangeLogin->addSubItem($chbCreateHistory);
2543 $chbReuseLoginnames =
new ilCheckboxInputGUI($this->lng->txt(
'reuse_of_loginnames_contained_in_history'),
'reuse_of_loginnames');
2544 $chbReuseLoginnames->setValue(1);
2545 $chbReuseLoginnames->setInfo($this->lng->txt(
'reuse_of_loginnames_contained_in_history_info'));
2546 $chbChangeLogin->addSubItem($chbReuseLoginnames);
2547 $chbChangeBlockingTime =
new ilNumberInputGUI($this->lng->txt(
'loginname_change_blocking_time'),
'loginname_change_blocking_time');
2548 $chbChangeBlockingTime->allowDecimals(
true);
2549 $chbChangeBlockingTime->setSuffix($this->lng->txt(
'days'));
2550 $chbChangeBlockingTime->setInfo($this->lng->txt(
'loginname_change_blocking_time_info'));
2551 $chbChangeBlockingTime->setSize(10);
2552 $chbChangeBlockingTime->setMaxLength(10);
2553 $chbChangeLogin->addSubItem($chbChangeBlockingTime);
2555 $this->loginSettingsForm->addCommandButton(
'saveLoginnameSettings', $this->lng->txt(
'save'));
2566 if ($this->loginSettingsForm->checkInput()) {
2569 if (!strlen($this->loginSettingsForm->getInput(
'loginname_change_blocking_time'))) {
2571 $this->loginSettingsForm->getItemByPostVar(
'loginname_change_blocking_time')
2572 ->setAlert($this->lng->txt(
'loginname_change_blocking_time_invalidity_info'));
2576 $save_blocking_time_in_seconds = (int) $this->loginSettingsForm->getInput(
'loginname_change_blocking_time') * 86400;
2578 $ilSetting->set(
'allow_change_loginname', (
int) $this->loginSettingsForm->getInput(
'allow_change_loginname'));
2579 $ilSetting->set(
'create_history_loginname', (
int) $this->loginSettingsForm->getInput(
'create_history_loginname'));
2580 $ilSetting->set(
'reuse_of_loginnames', (
int) $this->loginSettingsForm->getInput(
'reuse_of_loginnames'));
2581 $ilSetting->set(
'loginname_change_blocking_time', (
int) $save_blocking_time_in_seconds);
2583 ilUtil::sendSuccess($this->lng->txt(
'saved_successfully'));
2590 $this->loginSettingsForm->setValuesByPost();
2592 $this->tpl->setVariable(
'ADM_CONTENT', $this->loginSettingsForm->getHTML());
2602 $ilAccess =
$DIC[
'ilAccess'];
2608 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
2609 ilUtil::redirect(
"ilias.php?baseClass=ilAdministrationGUI&ref_id=" . $a_target .
"&jmpToUser=" . $a_user);
2612 if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID)) {
2614 $lng->txt(
"msg_no_perm_read_item"),
2633 $ilCtrl->setParameterByClass(
"ilobjusergui",
"obj_id", (
int)
$_GET[
"jmpToUser"]);
2634 $ilCtrl->redirectByClass(
"ilobjusergui",
"view");
2643 if (!count((array) $a_usr_ids)) {
2648 $_POST[
'id'] = $a_usr_ids;
2651 if (stristr($a_cmd,
"export")) {
2652 $cmd = $a_cmd .
"Object";
2653 return $this->$cmd();
2656 $_POST[
'selectedAction'] = $a_cmd;
2664 $rbacsystem =
$DIC[
'rbacsystem'];
2668 if ($a_search_form) {
2670 'activate' => $this->lng->txt(
'activate'),
2671 'deactivate' => $this->lng->txt(
'deactivate'),
2672 'accessRestrict' => $this->lng->txt(
'accessRestrict'),
2673 'accessFree' => $this->lng->txt(
'accessFree')
2676 if ($rbacsystem->checkAccess(
'delete', $this->object->getRefId())) {
2677 $cmds[
"delete"] = $this->lng->txt(
"delete");
2683 'activateUsers' => $this->lng->txt(
'activate'),
2684 'deactivateUsers' => $this->lng->txt(
'deactivate'),
2685 'restrictAccess' => $this->lng->txt(
'accessRestrict'),
2686 'freeAccess' => $this->lng->txt(
'accessFree')
2689 if ($rbacsystem->checkAccess(
'delete', $this->object->getRefId())) {
2690 $cmds[
"deleteUsers"] = $this->lng->txt(
"delete");
2695 $export_types = array(
"userfolder_export_excel_x86",
"userfolder_export_csv",
"userfolder_export_xml");
2696 foreach ($export_types as
$type) {
2697 $cmd = explode(
"_",
$type);
2698 $cmd = array_pop($cmd);
2699 $cmds[
'usrExport' . ucfirst($cmd)] = $this->lng->txt(
'export') .
' - ' .
2700 $this->lng->txt(
$type);
2704 include_once
"Services/Mail/classes/class.ilMail.php";
2706 if ($rbacsystem->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId())) {
2707 $cmds[
"mail"] = $this->lng->txt(
"send_mail");
2710 $cmds[
'addToClipboard'] = $this->lng->txt(
'clipboard_add_btn');
2722 $this->
object->buildExportFile(
"userfolder_export_excel_x86", $user_ids);
2723 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2733 $this->
object->buildExportFile(
"userfolder_export_csv", $user_ids);
2734 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2744 $this->
object->buildExportFile(
"userfolder_export_xml", $user_ids);
2745 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2761 include_once
"Services/Contact/classes/class.ilMailingLists.php";
2763 $list->deleteTemporaryLists();
2766 include_once
"Services/Contact/classes/class.ilMailingList.php";
2769 $list->setTitle(
"-TEMPORARY SYSTEM LIST-");
2770 $list->setDescription(
"-USER ACCOUNTS MAIL-");
2771 $list->setCreateDate(date(
"Y-m-d H:i:s"));
2773 $list_id =
$list->getId();
2776 foreach ($user_ids as $user_id) {
2777 $list->assignUser($user_id);
2780 include_once
"Services/Mail/classes/class.ilFormatMail.php";
2782 $mail_data = $umail->getSavedData();
2784 if (!is_array($mail_data)) {
2785 $mail_data = array(
"user_id" =>
$ilUser->getId());
2791 $umail->savePostData(
2792 $mail_data[
'user_id'],
2793 $mail_data[
'attachments'],
2794 '#il_ml_' . $list_id,
2795 $mail_data[
'rcp_cc'],
2796 $mail_data[
'rcp_bcc'],
2797 $mail_data[
'm_type'],
2798 $mail_data[
'm_email'],
2799 $mail_data[
'm_subject'],
2800 $mail_data[
'm_message'],
2801 $mail_data[
'use_placeholders'],
2802 $mail_data[
'tpl_ctx_id'],
2803 $mail_data[
'tpl_ctx_params']
2806 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
2813 'type' =>
'search_res'
2821 switch ($a_form_id) {
2824 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
2834 'ps_password_min_length' => (
int) $security->getPasswordMinLength(),
2835 'ps_password_max_length' => (
int) $security->getPasswordMaxLength(),
2836 'ps_password_uppercase_chars_num' => (
int) $security->getPasswordNumberOfUppercaseChars(),
2837 'ps_password_lowercase_chars_num' => (
int) $security->getPasswordNumberOfLowercaseChars(),
2838 'ps_password_max_age' => (
int) $security->getPasswordMaxAge()
2840 $fields[
'ps_password_settings'] = array(
null,
null, $subitems);
2843 'ps_login_max_attempts' => (
int) $security->getLoginMaxAttempts(),
2846 $fields[
'ps_security_protection'] = array(
null,
null, $subitems);
2848 return array(array(
"generalSettings", $fields));
2857 $this->ctrl->redirect($this,
'view');
2859 include_once
'./Services/User/classes/class.ilUserClipboard.php';
2864 ilUtil::sendSuccess($this->lng->txt(
'clipboard_user_added'),
true);
2865 $this->ctrl->redirect($this,
'view');
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, $include_seconds=false)
Format a date @access public.
@classDescription Date and time handling
static getLogger($a_component_id)
Get component logger.
Class ilMailRfc822AddressParserFactory.
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 _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 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['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
redirection script todo: (a better solution should control the processing via a xml file)
if(isset($_POST['submit'])) $form
if(isset($_REQUEST['delete'])) $list