4 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
32 define(
'USER_FOLDER_ID',7);
35 $this->
ilObjectGUI($a_data,$a_id,$a_call_by_reference,
false);
37 $this->lng->loadLanguageModule(
'search');
38 $this->lng->loadLanguageModule(
"user");
40 $ilCtrl->saveParameter($this,
"letter");
45 $this->user_owner_id = $a_id;
49 return $this->user_owner_id ? $this->user_owner_id :
USER_FOLDER_ID;
56 $next_class = $this->ctrl->getNextClass($this);
57 $cmd = $this->ctrl->getCmd();
62 case 'ilusertablegui':
63 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
65 $u_table->initFilter();
66 $this->ctrl->setReturn($this,
'view');
67 $this->ctrl->forwardCommand($u_table);
70 case 'ilpermissiongui':
71 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
73 $ret =& $this->ctrl->forwardCommand($perm_gui);
76 case 'ilrepositorysearchgui':
77 include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
79 $user_search->enableSearchableCheck(
false);
80 $user_search->setCallback(
82 'searchResultHandler',
85 $this->tabs_gui->setTabActive(
'search_user_extended');
86 $this->ctrl->setReturn($this,
'view');
87 $ret =& $this->ctrl->forwardCommand($user_search);
90 case 'ilaccountcodesgui':
91 $this->tabs_gui->setTabActive(
'settings');
93 $ilTabs->activateSubTab(
"account_codes");
94 include_once(
"./Services/User/classes/class.ilAccountCodesGUI.php");
96 $this->ctrl->forwardCommand($acc);
99 case 'ilcustomuserfieldsgui':
100 $this->tabs_gui->setTabActive(
'settings');
102 $ilTabs->activateSubTab(
"user_defined_fields");
103 include_once(
"./Services/User/classes/class.ilCustomUserFieldsGUI.php");
105 $this->ctrl->forwardCommand($cf);
124 global $rbacsystem,
$tpl;
129 if (!$rbacsystem->checkAccess(
"read",$this->object->getRefId()) ||
133 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->
ilias->error_obj->MESSAGE);
136 include_once
"Services/User/classes/class.ilUserLPTableGUI.php";
137 $tbl =
new ilUserLPTableGUI($this,
"learningProgress", $this->object->getRefId());
139 $tpl->setContent($tbl->getHTML());
148 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
150 $utab->resetOffset();
151 $utab->resetFilter();
164 $ilCtrl->setParameterByClass(
"ilobjusergui",
"new_type",
"usr");
165 $ilCtrl->redirectByClass(array(
"iladministrationgui",
"ilobjusergui"),
"create");
176 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
178 $utab->resetOffset();
179 $utab->writeFilterToSession();
181 $ilTabs->activateTab(
"usrf");
193 $ilToolbar->addButton($this->lng->txt(
"usr_add"),
194 $this->ctrl->getLinkTarget($this,
"addUser"));
195 $ilToolbar->addButton($this->lng->txt(
"import_users"),
196 $this->ctrl->getLinkTarget($this,
"importUserForm"));
199 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
201 if ((
int) $ilSetting->get(
'user_adm_alpha_nav'))
203 $ilToolbar->addSeparator();
206 include_once(
"./Services/Form/classes/class.ilAlphabetInputGUI.php");
208 include_once(
"./Services/User/classes/class.ilObjUser.php");
214 $ai->setParentCommand($this,
"chooseLetter");
215 $ai->setHighlighted(
$_GET[
"letter"]);
216 $ilToolbar->addInputItem($ai,
true);
220 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
222 $tpl->setContent($utab->getHTML());
230 include_once
'./Services/User/classes/class.ilUserAutoComplete.php';
232 $auto->setSearchFields(array(
'login',
'firstname',
'lastname',
'email'));
233 $auto->enableFieldSearchableCheck(
false);
248 $ilCtrl->redirect($this,
"view");
262 $operations = array();
264 if ($this->actions ==
"")
267 "delete" => array(
"name" =>
"delete",
"lng" =>
"delete"),
268 "activate" => array(
"name" =>
"activate",
"lng" =>
"activate"),
269 "deactivate" => array(
"name" =>
"deactivate",
"lng" =>
"deactivate"),
270 "accessRestrict" => array(
"name" =>
"accessRestrict",
"lng" =>
"accessRestrict"),
271 "accessFree" => array(
"name" =>
"accessFree",
"lng" =>
"accessFree"),
272 "export" => array(
"name" =>
"export",
"lng" =>
"export")
281 if ($rbacsystem->checkAccess($row[
"name"],$this->object->getRefId()))
283 $operations[] =
$row;
287 if (count($operations) > 0)
289 $select =
"<select name=\"selectedAction\">\n";
290 foreach ($operations as $val)
292 $select .=
"<option value=\"" . $val[
"name"] .
"\"";
293 if (strcmp(
$_POST[
"selectedAction"], $val[
"name"]) == 0)
295 $select .=
" selected=\"selected\"";
298 $select .= $this->lng->txt($val[
"lng"]);
299 $select .=
"</option>";
301 $select .=
"</select>";
302 $this->tpl->setCurrentBlock(
"tbl_action_select");
303 $this->tpl->setVariable(
"SELECT_ACTION", $select);
304 $this->tpl->setVariable(
"BTN_NAME",
"userAction");
305 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"submit"));
306 $this->tpl->parseCurrentBlock();
309 if ($with_subobjects ===
true)
314 if ((count($operations) > 0) or $subobjs ===
true)
316 $this->tpl->setCurrentBlock(
"tbl_action_row");
317 $this->tpl->setVariable(
"COLUMN_COUNTS",count($this->data[
"cols"]));
319 $this->tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
320 $this->tpl->parseCurrentBlock();
334 $d = $this->objDefinition->getCreatableSubObjects($this->object->getType());
336 if (!$rbacsystem->checkAccess(
'create_usr',$this->object->getRefId()))
349 for ($i=0; $i<count($this->data[
"ctrl"]); $i++)
351 if ($this->data[
"ctrl"][$i][
"type"] == $row[
"name"])
357 if ($row[
"max"] ==
"" || $count < $row[
"max"])
359 $subobj[] = $row[
"name"];
364 if (is_array($subobj))
368 $this->tpl->setCurrentBlock(
"add_object");
369 $this->tpl->setVariable(
"SELECT_OBJTYPE", $opts);
370 $this->tpl->setVariable(
"BTN_NAME",
"create");
371 $this->tpl->setVariable(
"TXT_ADD", $this->lng->txt(
"add"));
372 $this->tpl->parseCurrentBlock();
382 $this->ctrl->redirect($this,
'view');
387 $this->ctrl->redirectByClass(
'ilrepositorysearchgui',
'showSearchResults');
400 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
402 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->WARNING);
406 foreach (
$_POST[
"id"] as $id)
409 $obj =& $this->
ilias->obj_factory->getInstanceByObjId($id);
410 $obj->setActive(TRUE, $ilUser->getId());
418 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
422 $this->ctrl->redirect($this,
"view");
436 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
438 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->WARNING);
442 foreach (
$_POST[
"id"] as $id)
445 $obj =& $this->
ilias->obj_factory->getInstanceByObjId($id);
446 $obj->setActive(FALSE, $ilUser->getId());
455 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
459 $this->ctrl->redirect($this,
"view");
468 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
470 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->WARNING);
474 foreach (
$_POST[
"id"] as $id)
477 $obj =& $this->
ilias->obj_factory->getInstanceByObjId($id);
478 $obj->setTimeLimitOwner($ilUser->getId());
479 $obj->setTimeLimitUnlimited(1);
480 $obj->setTimeLimitFrom(
"");
481 $obj->setTimeLimitUntil(
"");
482 $obj->setTimeLimitMessage(0);
491 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
495 $this->ctrl->redirect($this,
"view");
505 $this->tpl->setContent($a_form->getHTML());
520 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
522 $form->setTitle($this->lng->txt(
"time_limit_add_time_limit_for_selected"));
523 $form->setFormAction($this->ctrl->getFormAction($this,
"confirmaccessRestrict"));
527 $from->setRequired(
true);
528 $form->addItem($from);
532 $to->setShowTime(
true);
535 $form->addCommandButton(
"confirmaccessRestrict", $this->lng->txt(
"confirm"));
536 $form->addCommandButton(
"view", $this->lng->txt(
"cancel"));
538 foreach($user_ids as $user_id)
541 $ufield->setValue($user_id);
542 $form->addItem($ufield);
546 if($a_from_search ||
$_POST[
"frsrch"])
550 $form->addItem($field);
559 if(!$form->checkInput())
564 $timefrom = $form->getItemByPostVar(
"from")->getDate()->get(
IL_CAL_UNIX);
565 $timeuntil = $form->getItemByPostVar(
"to")->getDate()->get(
IL_CAL_UNIX);
566 if ($timeuntil <= $timefrom)
575 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
577 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->WARNING);
581 foreach (
$_POST[
"id"] as $id)
584 $obj =& $this->
ilias->obj_factory->getInstanceByObjId($id);
585 $obj->setTimeLimitOwner($ilUser->getId());
586 $obj->setTimeLimitUnlimited(0);
587 $obj->setTimeLimitFrom($timefrom);
588 $obj->setTimeLimitUntil($timeuntil);
589 $obj->setTimeLimitMessage(0);
598 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
602 $this->ctrl->redirect($this,
"view");
616 if (!$rbacsystem->checkAccess(
'delete',$this->object->getRefId()))
619 $ilCtrl->redirect($this,
"view");
622 if (in_array($ilUser->getId(),
$_POST[
"id"]))
624 $this->
ilias->raiseError($this->lng->txt(
"msg_no_delete_yourself"),$this->
ilias->error_obj->WARNING);
628 foreach (
$_POST[
"id"] as $id)
631 $obj =& $this->
ilias->obj_factory->getInstanceByObjId($id);
640 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
644 $this->ctrl->redirect($this,
"view");
655 if(
$_POST[
"select_cmd_all"])
657 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
659 return $utab->getUserIdsForFilter();
677 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
682 $ilTabs->activateTab(
"obj_usrf");
686 $ilTabs->activateTab(
"search_user_extended");
689 if (strcmp($action,
"accessRestrict") == 0)
693 if (strcmp($action,
"mail") == 0)
702 $cancel =
"cancelUserFolderAction";
706 $cancel =
"cancelSearchAction";
710 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
712 $cgui->setFormAction($this->ctrl->getFormAction($this));
713 $cgui->setHeaderText($this->lng->txt(
"info_" . $action .
"_sure"));
714 $cgui->setCancel($this->lng->txt(
"cancel"), $cancel);
715 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirm" . $action);
719 $cgui->addHiddenItem(
"frsrch", 1);
722 foreach($user_ids as $id)
726 $login = $user->getLastLogin();
729 $login = $this->lng->txt(
"never");
736 $caption = $user->getFullname().
" (".$user->getLogin().
")".
", ".
737 $user->getEmail().
" - ".$this->lng->txt(
"last_login").
": ".$login;
739 $cgui->addItem(
"id[]", $id, $caption);
742 $this->tpl->setContent($cgui->getHTML());
752 $_POST[
"selectedAction"] =
"delete";
761 $_POST[
"selectedAction"] =
"activate";
770 $_POST[
"selectedAction"] =
"deactivate";
779 $_POST[
"selectedAction"] =
"accessRestrict";
788 $_POST[
"selectedAction"] =
"accessFree";
802 global
$tpl, $rbacsystem;
805 if (
$_GET[
"baseClass"] ==
'ilRepositoryGUI')
807 $this->tabs_gui->clearTargets();
810 if (!$rbacsystem->checkAccess(
"write", $this->object->getRefId()))
812 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->
ilias->error_obj->MESSAGE);
816 $tpl->setContent($this->form->getHTML());
828 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
832 include_once(
"./Services/Form/classes/class.ilFileInputGUI.php");
837 $this->form->addItem($fi);
839 $this->form->addCommandButton(
"importUserRoleAssignment", $lng->txt(
"import"));
840 $this->form->addCommandButton(
"importCancelled", $lng->txt(
"cancel"));
842 $this->form->setTitle($lng->txt(
"import_users"));
843 $this->form->setFormAction($ilCtrl->getFormAction($this));
856 if (@is_dir($import_dir))
861 if (strtolower(
$_GET[
"baseClass"]) ==
'iladministrationgui')
863 $this->ctrl->redirect($this,
"view");
868 $this->ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
881 $importDir =
ilUtil::getDataDir().
'/user_import/usr_'.$ilUser->getId().
'_'.session_id();
894 if (
$_GET[
"baseClass"] ==
'ilRepositoryGUI')
896 $this->tabs_gui->clearTargets();
900 if ($this->form->checkInput())
902 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
903 include_once
'./Services/User/classes/class.ilUserImportParser.php';
905 global $rbacreview, $rbacsystem,
$tree,
$lng;
908 $this->tpl->addBlockfile(
"ADM_CONTENT",
"adm_content",
"tpl.usr_import_roles.html",
"Services/User");
913 if (@is_dir($import_dir))
920 $file_name = $_FILES[
"importFile"][
"name"];
921 $parts = pathinfo($file_name);
922 $full_path = $import_dir.
"/".$file_name;
925 if (!is_file($_FILES[
"importFile"][
"tmp_name"]))
928 $this->
ilias->raiseError($this->lng->txt(
"no_import_file_found")
929 , $this->
ilias->error_obj->MESSAGE);
932 $_FILES[
"importFile"][
"name"], $full_path);
935 if (strtolower($parts[
"extension"]) ==
"zip")
942 foreach ($file_list as $a_file)
944 if (substr($a_file[
'entry'],-4) ==
'.xml')
946 $xml_file = $import_dir.
"/".$a_file[
'entry'];
950 if (is_null($xml_file))
952 $subdir = basename($parts[
"basename"],
".".$parts[
"extension"]);
953 $xml_file = $import_dir.
"/".$subdir.
"/".$subdir.
".xml";
959 $xml_file = $full_path;
963 if (!is_file($xml_file))
966 $this->
ilias->raiseError($this->lng->txt(
"no_xml_file_found_in_zip")
967 .
" ".$subdir.
"/".$subdir.
".xml", $this->
ilias->error_obj->MESSAGE);
970 require_once(
"./Services/User/classes/class.ilUserImportParser.php");
975 $importParser->startParsing();
976 switch ($importParser->getErrorLevel())
981 $this->tpl->setVariable(
"IMPORT_LOG", $importParser->getProtocolAsHTML($lng->txt(
"verification_warning_log")));
985 $this->
ilias->raiseError(
986 $lng->txt(
"verification_failed").$importParser->getProtocolAsHTML($lng->txt(
"verification_failure_log")),
987 $this->
ilias->error_obj->MESSAGE
994 $this->tpl->setCurrentBlock(
"role_selection_form");
995 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
996 $this->tpl->setVariable(
"TXT_IMPORT_USERS", $this->lng->txt(
"import_users"));
997 $this->tpl->setVariable(
"TXT_IMPORT_FILE", $this->lng->txt(
"import_file"));
998 $this->tpl->setVariable(
"IMPORT_FILE", $file_name);
999 $this->tpl->setVariable(
"TXT_USER_ELEMENT_COUNT", $this->lng->txt(
"num_users"));
1000 $this->tpl->setVariable(
"USER_ELEMENT_COUNT", $importParser->getUserCount());
1001 $this->tpl->setVariable(
"TXT_ROLE_ASSIGNMENT", $this->lng->txt(
"role_assignment"));
1002 $this->tpl->setVariable(
"BTN_IMPORT", $this->lng->txt(
"import"));
1003 $this->tpl->setVariable(
"BTN_CANCEL", $this->lng->txt(
"cancel"));
1004 $this->tpl->setVariable(
"XML_FILE_NAME", $xml_file);
1008 $importParser->startParsing();
1009 $roles = $importParser->getCollectedRoles();
1012 $all_gl_roles = $rbacreview->getRoleListByObject(ROLE_FOLDER_ID);
1013 $gl_roles = array();
1014 $roles_of_user = $rbacreview->assignedRoles($ilUser->getId());
1015 foreach ($all_gl_roles as $obj_data)
1026 if ($obj_data[
"obj_id"] != ANONYMOUS_ROLE_ID)
1029 if ($obj_data[
"obj_id"] != SYSTEM_ROLE_ID or in_array(SYSTEM_ROLE_ID,$roles_of_user))
1031 $gl_roles[$obj_data[
"obj_id"]] = $obj_data[
"title"];
1037 $got_globals =
false;
1038 foreach($roles as $role_id => $role)
1040 if ($role[
"type"] ==
"Global")
1044 $got_globals =
true;
1046 $this->tpl->setCurrentBlock(
"global_role_section");
1047 $this->tpl->setVariable(
"TXT_GLOBAL_ROLES_IMPORT", $this->lng->txt(
"roles_of_import_global"));
1048 $this->tpl->setVariable(
"TXT_GLOBAL_ROLES", $this->lng->txt(
"assign_global_role"));
1052 $pre_select = array_search($role[name], $gl_roles);
1055 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)
1090 if ($role[
"type"] ==
"Local")
1099 $this->tpl->setCurrentBlock(
"local_role_section");
1100 $this->tpl->setVariable(
"TXT_LOCAL_ROLES_IMPORT", $this->lng->txt(
"roles_of_import_local"));
1101 $this->tpl->setVariable(
"TXT_LOCAL_ROLES", $this->lng->txt(
"assign_local_role"));
1112 $loc_roles = array();
1113 foreach($roles as $role_id => $role)
1115 if ($role[
"type"] ==
"Local")
1117 $searchName = (substr($role[
'name'],0,1) ==
'#') ? $role[
'name'] :
'#'.$role[
'name'];
1118 $matching_role_ids = $rbacreview->searchRolesByMailboxAddressList($searchName);
1119 foreach ($matching_role_ids as $mid) {
1120 if (! in_array($mid, $loc_roles)) {
1121 $loc_roles[] = $mid;
1130 $loc_roles = $rbacreview->getAssignableRolesInSubtree($this->object->getRefId());
1135 $l_roles_mailbox_searcharray = array();
1136 foreach ($loc_roles as $key => $loc_role)
1139 $rolf = $rbacreview->getFoldersAssignedToRole($loc_role,
true);
1145 if (!$rbacreview->isDeleted($rolf[0])
1146 && $rbacsystem->checkAccess(
'write',$tree->getParentId($rolf[0]))
1147 && $rolf[0] != ROLE_FOLDER_ID
1161 if ($this->tree->isInTree($rolf[0]))
1165 $tmpPath = $this->tree->getPathFull($rolf[0]);
1166 for ($i = 1,
$n = count($tmpPath) - 1; $i <
$n; $i++)
1172 if ($i < 3 || $i > $n - 3)
1176 else if ($i == 3 || $i == $n - 3)
1181 $isInSubtree |= $tmpPath[$i][
'obj_id'] == $this->
object->getId();
1186 $path =
"<b>Rolefolder ".$rolf[0].
" not found in tree! (Role ".$loc_role.
")</b>";
1188 $roleMailboxAddress = $rbacreview->getRoleMailboxAddress($loc_role);
1189 $l_roles[$loc_role] = $roleMailboxAddress.
', '.
$path;
1194 natcasesort($l_roles);
1195 $l_roles[
""] = $this->lng->txt(
"usrimport_ignore_role");
1196 foreach($roles as $role_id => $role)
1198 if ($role[
"type"] ==
"Local")
1200 $this->tpl->setCurrentBlock(
"local_role");
1201 $this->tpl->setVariable(
"TXT_IMPORT_LOCAL_ROLE", $role[
"name"]);
1202 $searchName = (substr($role[
'name'],0,1) ==
'#') ? $role[
'name'] :
'#'.$role[
'name'];
1203 $matching_role_ids = $rbacreview->searchRolesByMailboxAddressList($searchName);
1204 $pre_select = count($matching_role_ids) == 1 ? $matching_role_ids[0] :
"";
1209 $selectable_roles = array();
1210 $selectable_roles[
""] = $this->lng->txt(
"usrimport_ignore_role");
1211 foreach ($matching_role_ids as $id)
1213 $selectable_roles[$id] = $l_roles[$id];
1215 $role_select =
ilUtil::formSelect($pre_select,
"role_assign[".$role_id.
"]", $selectable_roles,
false,
true);
1217 $role_select =
ilUtil::formSelect($pre_select,
"role_assign[".$role_id.
"]", $l_roles,
false,
true);
1219 $this->tpl->setVariable(
"SELECT_LOCAL_ROLE", $role_select);
1220 $this->tpl->parseCurrentBlock();
1226 $this->tpl->setVariable(
"TXT_CONFLICT_HANDLING", $lng->txt(
"conflict_handling"));
1231 $this->tpl->setVariable(
"TXT_CONFLICT_HANDLING_INFO", str_replace(
'\n',
'<br>',$this->lng->txt(
"usrimport_conflict_handling_info")));
1232 $this->tpl->setVariable(
"TXT_CONFLICT_CHOICE", $lng->txt(
"conflict_handling"));
1236 $this->lng->loadLanguageModule(
"mail");
1237 include_once
'./Services/User/classes/class.ilObjUserFolder.php';
1239 if (trim($amail[
"body"]) !=
"" && trim($amail[
"subject"]) !=
"")
1241 $this->tpl->setCurrentBlock(
"inform_user");
1242 $this->tpl->setVariable(
"TXT_ACCOUNT_MAIL", $lng->txt(
"mail_account_mail"));
1245 $this->tpl->setVariable(
"SEND_MAIL",
" checked=\"checked\"");
1247 $this->tpl->setVariable(
"TXT_INFORM_USER_MAIL",
1248 $this->lng->txt(
"user_send_new_account_mail"));
1249 $this->tpl->parseCurrentBlock();
1254 $this->form->setValuesByPost();
1255 $tpl->setContent($this->form->getHtml());
1267 if (
$_GET[
"baseClass"] ==
'ilRepositoryGUI')
1269 $this->tabs_gui->clearTargets();
1272 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
1273 include_once
'./Services/User/classes/class.ilUserImportParser.php';
1275 global $rbacreview, $rbacsystem,
$tree,
$lng;
1277 switch (
$_POST[
"conflict_handling_choice"])
1279 case "update_on_conflict" :
1282 case "ignore_on_conflict" :
1294 if (
$_POST[
"role_assign"])
1296 $global_roles = $rbacreview->getGlobalRoles();
1297 $roles_of_user = $rbacreview->assignedRoles($ilUser->getId());
1298 foreach (
$_POST[
"role_assign"] as $role_id)
1302 if (in_array($role_id, $global_roles))
1304 if(!in_array(SYSTEM_ROLE_ID,$roles_of_user))
1306 if ($role_id == SYSTEM_ROLE_ID && ! in_array(SYSTEM_ROLE_ID,$roles_of_user)
1312 $this->
ilias->raiseError($this->lng->txt(
"usrimport_with_specified_role_not_permitted"),
1313 $this->
ilias->error_obj->MESSAGE);
1319 $rolf = $rbacreview->getFoldersAssignedToRole($role_id,
true);
1320 if ($rbacreview->isDeleted($rolf[0])
1321 || ! $rbacsystem->checkAccess(
'write',$tree->getParentId($rolf[0])))
1324 $this->
ilias->raiseError($this->lng->txt(
"usrimport_with_specified_role_not_permitted"),
1325 $this->
ilias->error_obj->MESSAGE);
1333 $importParser->setRoleAssignment(
$_POST[
"role_assign"]);
1334 $importParser->startParsing();
1339 switch ($importParser->getErrorLevel())
1345 ilUtil::sendInfo($this->lng->txt(
"user_imported_with_warnings").$importParser->getProtocolAsHTML($lng->txt(
"import_warning_log")),
true);
1348 $this->
ilias->raiseError(
1349 $this->lng->txt(
"user_import_failed")
1350 .$importParser->getProtocolAsHTML($lng->txt(
"import_failure_log")),
1351 $this->
ilias->error_obj->MESSAGE
1356 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
1358 $this->ctrl->redirect($this,
"view");
1363 $this->ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
1370 global $rbacsystem,
$ilias;
1374 if (!$rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
1376 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->
ilias->error_obj->MESSAGE);
1379 if(!count($app_users =& $ilias->account->getAppliedUsers()))
1386 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.usr_applied_users.html",
"Services/User");
1387 $this->lng->loadLanguageModule(
'crs');
1390 foreach($app_users as
$usr_id)
1395 $f_result[$counter][] = $tmp_user->getLogin();
1396 $f_result[$counter][] = $tmp_user->getFirstname();
1397 $f_result[$counter][] = $tmp_user->getLastname();
1399 if($tmp_user->getTimeLimitUnlimited())
1401 $f_result[$counter][] =
"<b>".$this->lng->txt(
'crs_unlimited').
"</b>";
1405 $limit =
"<b>".$this->lng->txt(
'crs_from').
'</b> '.strftime(
"%Y-%m-%d %R",$tmp_user->getTimeLimitFrom()).
'<br />';
1406 $limit .=
"<b>".$this->lng->txt(
'crs_to').
'</b> '.strftime(
"%Y-%m-%d %R",$tmp_user->getTimeLimitUntil());
1408 $f_result[$counter][] = $limit;
1422 if(!$rbacsystem->checkAccess(
"write", $this->ref_id))
1424 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->MESSAGE);
1427 $this->lng->loadLanguageModule(
'crs');
1431 if(!isset(
$_SESSION[
'error_post_vars']))
1433 ilUtil::sendInfo($this->lng->txt(
'time_limit_add_time_limit_for_selected'));
1436 if(!count(
$_POST[
"users"]))
1452 $title .= $tmp_user->getLogin();
1455 if(strlen($title) > 79)
1457 $title = substr($title,0,80);
1462 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.usr_edit_applied_users.html",
"Services/User");
1463 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
1466 $time_limit_unlimited =
$_SESSION[
"error_post_vars"][
"au"][
"time_limit_unlimited"] ?
1469 $time_limit_start =
$_SESSION[
"error_post_vars"][
"au"][
"time_limit_start"] ?
1472 $time_limit_end =
$_SESSION[
"error_post_vars"][
"au"][
"time_limit_end"] ?
1478 $this->tpl->setVariable(
"ALT_IMG",$this->lng->txt(
"obj_usr"));
1480 $this->tpl->setVariable(
"TITLE",$title);
1481 $this->tpl->setVariable(
"TXT_TIME_LIMIT",$this->lng->txt(
"time_limit"));
1482 $this->tpl->setVariable(
"TXT_TIME_LIMIT_START",$this->lng->txt(
"crs_start"));
1483 $this->tpl->setVariable(
"TXT_TIME_LIMIT_END",$this->lng->txt(
"crs_end"));
1484 $this->tpl->setVariable(
"CMD_SUBMIT",
"updateAppliedUsers");
1485 $this->tpl->setVariable(
"TXT_CANCEL",$this->lng->txt(
"cancel"));
1486 $this->tpl->setVariable(
"TXT_SUBMIT",$this->lng->txt(
"submit"));
1490 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_DAY",$this->
__getDateSelect(
"day",
"au[time_limit_start][day]",
1491 date(
"d",$time_limit_start)));
1492 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_MONTH",$this->
__getDateSelect(
"month",
"au[time_limit_start][month]",
1493 date(
"m",$time_limit_start)));
1494 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_YEAR",$this->
__getDateSelect(
"year",
"au[time_limit_start][year]",
1495 date(
"Y",$time_limit_start)));
1496 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_HOUR",$this->
__getDateSelect(
"hour",
"au[time_limit_start][hour]",
1497 date(
"G",$time_limit_start)));
1498 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_MINUTE",$this->
__getDateSelect(
"minute",
"au[time_limit_start][minute]",
1499 date(
"i",$time_limit_start)));
1500 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_DAY",$this->
__getDateSelect(
"day",
"au[time_limit_end][day]",
1501 date(
"d",$time_limit_end)));
1502 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_MONTH",$this->
__getDateSelect(
"month",
"au[time_limit_end][month]",
1503 date(
"m",$time_limit_end)));
1504 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_YEAR",$this->
__getDateSelect(
"year",
"au[time_limit_end][year]",
1505 date(
"Y",$time_limit_end)));
1506 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_HOUR",$this->
__getDateSelect(
"hour",
"au[time_limit_end][hour]",
1507 date(
"G",$time_limit_end)));
1508 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_MINUTE",$this->
__getDateSelect(
"minute",
"au[time_limit_end][minute]",
1509 date(
"i",$time_limit_end)));
1510 if($this->
ilias->account->getTimeLimitUnlimited())
1512 $this->tpl->setVariable(
"ROWSPAN",3);
1513 $this->tpl->setCurrentBlock(
"unlimited");
1514 $this->tpl->setVariable(
"TXT_TIME_LIMIT_UNLIMITED",$this->lng->txt(
"crs_unlimited"));
1515 $this->tpl->setVariable(
"TIME_LIMIT_UNLIMITED",
ilUtil::formCheckbox($time_limit_unlimited,
"au[time_limit_unlimited]",1));
1516 $this->tpl->parseCurrentBlock();
1520 $this->tpl->setVariable(
"ROWSPAN",2);
1528 if(!$rbacsystem->checkAccess(
"write", $this->ref_id))
1530 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->MESSAGE);
1536 if(!
$_POST[
'au'][
'time_limit_unlimited'])
1547 #if(!$this->ilias->account->getTimeLimitUnlimited()) 1549 # if($start < $this->ilias->account->getTimeLimitFrom() or 1550 # $end > $this->ilias->account->getTimeLimitUntil()) 1552 # $_SESSION['error_post_vars'] = $_POST; 1553 # ilUtil::sendInfo($this->lng->txt('time_limit_not_within_owners')); 1554 # $this->editAppliedUsersObject(); 1564 $tmp_user->setTimeLimitUnlimited((
int)
$_POST[
'au'][
'time_limit_unlimited']);
1565 $tmp_user->setTimeLimitFrom($start);
1566 $tmp_user->setTimeLimitUntil($end);
1567 $tmp_user->setTimeLimitMessage(0);
1568 $tmp_user->update();
1583 $tpl =& $tbl->getTemplateObject();
1586 $tpl->setCurrentBlock(
"tbl_form_header");
1588 $tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
1589 $tpl->parseCurrentBlock();
1591 $tpl->setCurrentBlock(
"tbl_action_btn");
1592 $tpl->setVariable(
"BTN_NAME",
'editAppliedUsers');
1593 $tpl->setVariable(
"BTN_VALUE",$this->lng->txt(
'edit'));
1594 $tpl->parseCurrentBlock();
1596 $tpl->setCurrentBlock(
"tbl_action_row");
1597 $tpl->setVariable(
"COLUMN_COUNTS",5);
1599 $tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
1600 $tpl->parseCurrentBlock();
1604 $tbl->setTitle($this->lng->txt(
"time_limit_applied_users"),
"icon_usr_b.png",$this->lng->txt(
"users"));
1605 $tbl->setHeaderNames(array(
'',
1606 $this->lng->txt(
"login"),
1607 $this->lng->txt(
"firstname"),
1608 $this->lng->txt(
"lastname"),
1609 $this->lng->txt(
"time_limits")));
1610 $header_params = $this->ctrl->getParameterArray($this,
"appliedUsers");
1611 $tbl->setHeaderVars(array(
"",
1616 array($header_params));
1617 $tbl->setColumnWidth(array(
"3%",
"19%",
"19%",
"19%",
"40%"));
1623 $this->tpl->setVariable(
"APPLIED_USERS",$tbl->tpl->get());
1630 include_once
"./Services/Table/classes/class.ilTableGUI.php";
1637 $offset =
$_GET[
"offset"];
1638 $order =
$_GET[
"sort_by"];
1639 $direction =
$_GET[
"sort_order"];
1642 $tbl->setOrderColumn($order);
1643 $tbl->setOrderDirection($direction);
1644 $tbl->setOffset($offset);
1645 $tbl->setLimit(
$_GET[
"limit"]);
1646 $tbl->setMaxCount(count($result_set));
1647 $tbl->setFooter(
"tblfooter",$this->lng->txt(
"previous"),$this->lng->txt(
"next"));
1648 $tbl->setData($result_set);
1656 for($i=0;$i<=60;$i++)
1658 $days[$i] = $i < 10 ?
"0".$i : $i;
1663 for($i=0;$i<24;$i++)
1665 $days[$i] = $i < 10 ?
"0".$i : $i;
1670 for($i=1;$i<32;$i++)
1672 $days[$i] = $i < 10 ?
"0".$i : $i;
1677 for($i=1;$i<13;$i++)
1679 $month[$i] = $i < 10 ?
"0".$i : $i;
1684 for($i = date(
"Y",time());$i < date(
"Y",time()) + 3;++$i)
1693 return mktime($a_time_arr[
"hour"],
1694 $a_time_arr[
"minute"],
1695 $a_time_arr[
"second"],
1696 $a_time_arr[
"month"],
1698 $a_time_arr[
"year"]);
1703 parent::hitsperpageObject();
1717 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
1720 $show_blocking_time_in_days = $ilSetting->get(
'loginname_change_blocking_time') / 86400;
1721 $show_blocking_time_in_days = (float)$show_blocking_time_in_days;
1723 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1726 $this->form->setValuesByArray(
1728 'lua' => $aset->isLocalUserAdministrationEnabled(),
1729 'lrua' => $aset->isUserAccessRestricted(),
1730 'allow_change_loginname' => (bool)$ilSetting->get(
'allow_change_loginname'),
1731 'create_history_loginname' => (bool)$ilSetting->get(
'create_history_loginname'),
1732 'reuse_of_loginnames' => (bool)$ilSetting->get(
'reuse_of_loginnames'),
1733 'loginname_change_blocking_time' => (float)$show_blocking_time_in_days,
1734 'user_adm_alpha_nav' => (
int)$ilSetting->get(
'user_adm_alpha_nav'),
1736 'user_reactivate_code' => (int)$ilSetting->get(
'user_reactivate_code'),
1737 'user_own_account' => (int)$ilSetting->get(
'user_delete_own_account'),
1738 'user_own_account_email' => $ilSetting->get(
'user_delete_own_account_email'),
1741 'session_reminder_enabled' => $ilSetting->get(
'session_reminder_enabled'),
1747 'passwd_auto_generate' => (bool)$ilSetting->get(
"passwd_auto_generate"),
1748 'password_change_on_first_login_enabled' => $security->isPasswordChangeOnFirstLoginEnabled() ? 1 : 0,
1749 'password_must_not_contain_loginame' => $security->getPasswordMustNotContainLoginnameStatus() ? 1 : 0,
1750 'password_chars_and_numbers_enabled' => $security->isPasswordCharsAndNumbersEnabled() ? 1 : 0,
1751 'password_special_chars_enabled' => $security->isPasswordSpecialCharsEnabled() ? 1 : 0 ,
1752 'password_min_length' => $security->getPasswordMinLength(),
1753 'password_max_length' => $security->getPasswordMaxLength(),
1754 'password_ucase_chars_num' => $security->getPasswordNumberOfUppercaseChars(),
1755 'password_lowercase_chars_num' => $security->getPasswordNumberOfLowercaseChars(),
1756 'password_max_age' => $security->getPasswordMaxAge(),
1758 'login_max_attempts' => $security->getLoginMaxAttempts(),
1759 'ps_prevent_simultaneous_logins' => (int)$security->isPreventionOfSimultaneousLoginsEnabled(),
1760 'password_assistance' => (bool)$ilSetting->get(
"password_assistance")
1764 $this->tpl->setContent($this->form->getHTML());
1777 if($this->form->checkInput())
1781 if(!strlen($this->form->getInput(
'loginname_change_blocking_time')))
1784 $this->form->getItemByPostVar(
'loginname_change_blocking_time')
1785 ->setAlert($this->lng->txt(
'loginname_change_blocking_time_invalidity_info'));
1788 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1792 $security->setPasswordCharsAndNumbersEnabled((
bool)
$_POST[
"password_chars_and_numbers_enabled"]);
1793 $security->setPasswordSpecialCharsEnabled((
bool) $_POST[
"password_special_chars_enabled"]);
1794 $security->setPasswordMinLength((
int) $_POST[
"password_min_length"]);
1795 $security->setPasswordMaxLength((
int) $_POST[
"password_max_length"]);
1796 $security->setPasswordNumberOfUppercaseChars((
int) $_POST[
'password_ucase_chars_num']);
1797 $security->setPasswordNumberOfLowercaseChars((
int) $_POST[
'password_lowercase_chars_num']);
1798 $security->setPasswordMaxAge((
int) $_POST[
"password_max_age"]);
1799 $security->setLoginMaxAttempts((
int) $_POST[
"login_max_attempts"]);
1800 $security->setPreventionOfSimultaneousLogins((
bool)$_POST[
'ps_prevent_simultaneous_logins']);
1801 $security->setPasswordChangeOnFirstLoginEnabled((
bool) $_POST[
'password_change_on_first_login_enabled']);
1802 $security->setPasswordMustNotContainLoginnameStatus((
int) $_POST[
'password_must_not_contain_loginame']);
1804 if(!$security->validate($this->form))
1813 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
1818 $ilSetting->set(
'allow_change_loginname', (
int)$this->form->getInput(
'allow_change_loginname'));
1819 $ilSetting->set(
'create_history_loginname', (
int)$this->form->getInput(
'create_history_loginname'));
1820 $ilSetting->set(
'reuse_of_loginnames', (
int)$this->form->getInput(
'reuse_of_loginnames'));
1821 $save_blocking_time_in_seconds = (int)($this->form->getInput(
'loginname_change_blocking_time') * 86400);
1822 $ilSetting->set(
'loginname_change_blocking_time', (
int)$save_blocking_time_in_seconds);
1823 $ilSetting->set(
'user_adm_alpha_nav', (
int)$this->form->getInput(
'user_adm_alpha_nav'));
1824 $ilSetting->set(
'user_reactivate_code', (
int)$this->form->getInput(
'user_reactivate_code'));
1826 $ilSetting->set(
'user_delete_own_account', (
int)$this->form->getInput(
'user_own_account'));
1827 $ilSetting->set(
'user_delete_own_account_email', $this->form->getInput(
'user_own_account_email'));
1829 $ilSetting->set(
"passwd_auto_generate", $this->form->getInput(
"passwd_auto_generate"));
1830 $ilSetting->set(
"password_assistance", $this->form->getInput(
"password_assistance"));
1833 $ilSetting->set(
'session_handling_type',
1834 (
int)$this->form->getInput(
'session_handling_type'));
1838 $ilSetting->set(
'session_reminder_enabled',
1839 $this->form->getInput(
'session_reminder_enabled'));
1843 require_once
'Services/Authentication/classes/class.ilSessionControl.php';
1845 $ilSetting->get(
'session_allow_client_maintenance',
1850 include_once
"Services/Authentication/classes/class.ilSessionStatistics.php";
1853 $ilSetting->set(
'session_max_count',
1854 (
int)$this->form->getInput(
'session_max_count'));
1855 $ilSetting->set(
'session_min_idle',
1856 (
int)$this->form->getInput(
'session_min_idle'));
1857 $ilSetting->set(
'session_max_idle',
1858 (
int)$this->form->getInput(
'session_max_idle'));
1859 $ilSetting->set(
'session_max_idle_after_first_request',
1860 (
int)$this->form->getInput(
'session_max_idle_after_first_request'));
1876 $this->form->setValuesByPost();
1877 $this->tpl->setContent($this->form->getHTML());
1890 $this->tabs_gui->setTabActive(
'settings');
1891 $this->tabs_gui->setSubTabActive(
'general_settings');
1893 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1895 $this->form->setFormAction($this->ctrl->getFormAction($this,
'saveGeneralSettings'));
1897 $this->form->setTitle($this->lng->txt(
'general_settings'));
1899 $lua =
new ilCheckboxInputGUI($this->lng->txt(
'enable_local_user_administration'),
'lua');
1900 $lua->
setInfo($this->lng->txt(
'enable_local_user_administration_info'));
1902 $this->form->addItem($lua);
1905 $lrua->
setInfo($this->lng->txt(
'restrict_user_access_info'));
1907 $this->form->addItem($lrua);
1910 $alph =
new ilCheckboxInputGUI($this->lng->txt(
'user_adm_enable_alpha_nav'),
'user_adm_alpha_nav');
1913 $this->form->addItem($alph);
1916 $code =
new ilCheckboxInputGUI($this->lng->txt(
"user_account_code_setting"),
"user_reactivate_code");
1917 $code->
setInfo($this->lng->txt(
'user_account_code_setting_info'));
1918 $this->form->addItem($code);
1921 $own =
new ilCheckboxInputGUI($this->lng->txt(
"user_allow_delete_own_account"),
"user_own_account");
1922 $this->form->addItem($own);
1923 $own_email =
new ilEMailInputGUI($this->lng->txt(
"user_delete_own_account_notification_email"),
"user_own_account_email");
1924 $own->addSubItem($own_email);
1936 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"session_reminder"),
"session_reminder_enabled");
1939 $cb->
setInfo($this->lng->txt(
"session_reminder_info").
"<br />".
1940 sprintf($this->lng->txt(
'session_reminder_session_duration'), $time));
1944 $ssettings->addOption($fixed);
1950 require_once(
'Services/Authentication/classes/class.ilSessionControl.php');
1954 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_max_count'),
'session_max_count');
1956 $sub_ti->setSize(5);
1957 $sub_ti->setInfo($this->lng->txt(
'session_max_count_info'));
1959 $sub_ti->setDisabled(
true);
1960 $ldsh->addSubItem($sub_ti);
1965 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_min_idle'),
'session_min_idle');
1967 $sub_ti->setSize(5);
1968 $sub_ti->setInfo($this->lng->txt(
'session_min_idle_info'));
1970 $sub_ti->setDisabled(
true);
1971 $ldsh->addSubItem($sub_ti);
1976 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_max_idle'),
'session_max_idle');
1978 $sub_ti->setSize(5);
1979 $sub_ti->setInfo($this->lng->txt(
'session_max_idle_info'));
1981 $sub_ti->setDisabled(
true);
1982 $ldsh->addSubItem($sub_ti);
1987 $this->lng->txt(
'session_max_idle_after_first_request'),
1988 'session_max_idle_after_first_request' 1991 $sub_ti->setSize(5);
1992 $sub_ti->setInfo($this->lng->txt(
'session_max_idle_after_first_request_info'));
1994 $sub_ti->setDisabled(
true);
1995 $ldsh->addSubItem($sub_ti);
1998 $ssettings->addOption($ldsh);
2005 $this->form->addItem($ssettings);
2012 $ti->
setValue($this->lng->txt(
'session_config_maintenance_disabled'));
2013 $ssettings->setDisabled(
true);
2014 $ti->addSubItem($ssettings);
2015 $this->form->addItem($ti);
2021 $this->lng->loadLanguageModule(
'ps');
2024 $pass->setTitle($this->lng->txt(
'ps_password_settings'));
2025 $this->form->addItem(
$pass);
2028 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"passwd_generation_pre"),
"passwd_auto_generate");
2029 $cb->setChecked($ilSetting->get(
"passwd_auto_generate"));
2030 $cb->
setInfo($this->lng->txt(
"passwd_generation_info"));
2031 $this->form->addItem($cb);
2033 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_change_on_first_login_enabled'),
'password_change_on_first_login_enabled');
2034 $check->
setInfo($this->lng->txt(
'ps_password_change_on_first_login_enabled_info'));
2035 $this->form->addItem($check);
2037 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
2039 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_must_not_contain_loginame'),
'password_must_not_contain_loginame');
2040 $check->
setInfo($this->lng->txt(
'ps_password_must_not_contain_loginame_info'));
2041 $this->form->addItem($check);
2043 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_chars_and_numbers_enabled'),
'password_chars_and_numbers_enabled');
2045 $check->
setInfo($this->lng->txt(
'ps_password_chars_and_numbers_enabled_info'));
2046 $this->form->addItem($check);
2048 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_special_chars_enabled'),
'password_special_chars_enabled');
2050 $check->
setInfo($this->lng->txt(
'ps_password_special_chars_enabled_info'));
2051 $this->form->addItem($check);
2053 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_password_min_length'),
'password_min_length');
2054 $text->
setInfo($this->lng->txt(
'ps_password_min_length_info'));
2056 $text->setMaxLength(2);
2057 $this->form->addItem($text);
2059 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_password_max_length'),
'password_max_length');
2060 $text->
setInfo($this->lng->txt(
'ps_password_max_length_info'));
2062 $text->setMaxLength(3);
2063 $this->form->addItem($text);
2065 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_password_uppercase_chars_num'),
'password_ucase_chars_num');
2066 $text->
setInfo($this->lng->txt(
'ps_password_uppercase_chars_num_info'));
2067 $text->setMinValue(0);
2069 $text->setMaxLength(3);
2070 $this->form->addItem($text);
2072 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_password_lowercase_chars_num'),
'password_lowercase_chars_num');
2073 $text->
setInfo($this->lng->txt(
'ps_password_lowercase_chars_num_info'));
2074 $text->setMinValue(0);
2076 $text->setMaxLength(3);
2077 $this->form->addItem($text);
2079 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_password_max_age'),
'password_max_age');
2080 $text->
setInfo($this->lng->txt(
'ps_password_max_age_info'));
2082 $text->setMaxLength(3);
2083 $this->form->addItem($text);
2086 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"enable_password_assistance"),
"password_assistance");
2087 $cb->
setInfo($this->lng->txt(
"password_assistance_info"));
2088 $this->form->addItem($cb);
2091 $pass->setTitle($this->lng->txt(
'ps_security_protection'));
2092 $this->form->addItem(
$pass);
2094 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_login_max_attempts'),
'login_max_attempts');
2095 $text->
setInfo($this->lng->txt(
'ps_login_max_attempts_info'));
2097 $text->setMaxLength(2);
2098 $this->form->addItem($text);
2101 $objCb =
new ilCheckboxInputGUI($this->lng->txt(
'ps_prevent_simultaneous_logins'),
'ps_prevent_simultaneous_logins');
2103 $objCb->setInfo($this->lng->txt(
'ps_prevent_simultaneous_logins_info'));
2104 $this->form->addItem($objCb);
2110 $log->setTitle($this->lng->txt(
'loginname_settings'));
2111 $this->form->addItem(
$log);
2113 $chbChangeLogin =
new ilCheckboxInputGUI($this->lng->txt(
'allow_change_loginname'),
'allow_change_loginname');
2115 $this->form->addItem($chbChangeLogin);
2116 $chbCreateHistory =
new ilCheckboxInputGUI($this->lng->txt(
'history_loginname'),
'create_history_loginname');
2117 $chbCreateHistory->
setInfo($this->lng->txt(
'loginname_history_info'));
2118 $chbCreateHistory->setValue(1);
2120 $chbChangeLogin->addSubItem($chbCreateHistory);
2121 $chbReuseLoginnames =
new ilCheckboxInputGUI($this->lng->txt(
'reuse_of_loginnames_contained_in_history'),
'reuse_of_loginnames');
2123 $chbReuseLoginnames->setInfo($this->lng->txt(
'reuse_of_loginnames_contained_in_history_info'));
2125 $chbChangeLogin->addSubItem($chbReuseLoginnames);
2126 $chbChangeBlockingTime =
new ilNumberInputGUI($this->lng->txt(
'loginname_change_blocking_time'),
'loginname_change_blocking_time');
2128 $chbChangeBlockingTime->setSuffix($this->lng->txt(
'days'));
2129 $chbChangeBlockingTime->setInfo($this->lng->txt(
'loginname_change_blocking_time_info'));
2130 $chbChangeBlockingTime->setSize(10);
2131 $chbChangeBlockingTime->setMaxLength(10);
2132 $chbChangeLogin->addSubItem($chbChangeBlockingTime);
2134 $this->form->addCommandButton(
'saveGeneralSettings', $this->lng->txt(
'save'));
2154 include_once
'Services/Search/classes/class.ilUserSearchOptions.php';
2155 $lng->loadLanguageModule(
"administration");
2156 $lng->loadLanguageModule(
"mail");
2158 $ilTabs->activateTab(
'settings');
2159 $ilTabs->activateSubTab(
'standard_fields');
2161 include_once(
"./Services/User/classes/class.ilUserFieldSettingsTableGUI.php");
2163 if($this->confirm_change)
$tab->setConfirmChange();
2164 $tpl->setContent(
$tab->getHTML());
2174 include_once
'Services/Search/classes/class.ilUserSearchOptions.php';
2175 include_once
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
2180 include_once(
"./Services/User/classes/class.ilUserProfile.php");
2182 $up->skipField(
"username");
2183 $field_properties = $up->getStandardFields();
2184 $profile_fields = array_keys($field_properties);
2187 foreach ($profile_fields as $field)
2189 if (
$_POST[
"chb"][
"required_".$field] &&
2190 !(
int)
$_POST[
'chb'][
'visib_reg_' . $field]
2201 $this->confirm_change = 1;
2207 $fixed_required_fields = array(
2214 "hits_per_page" => 0,
2215 "show_users_online" => 0,
2216 "hide_own_online_status" => 0
2221 if ($privacy->enabledCourseExport() ==
true &&
2222 $privacy->courseConfirmationRequired() ==
true &&
2225 foreach ($profile_fields as $field)
2227 if (! $ilias->getSetting(
"usr_settings_course_export_" . $field) &&
$_POST[
"chb"][
"course_export_" . $field] ==
"1")
2229 #ilUtil::sendQuestion($this->lng->txt('confirm_message_course_export')); 2230 #$this->confirm_change = 1; 2231 #$this->settingsObject(); 2237 if($action ==
'save')
2239 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
2243 foreach ($profile_fields as $field)
2251 if (!
$_POST[
"chb"][
"visible_".$field] && !$field_properties[$field][
"visible_hide"])
2253 $ilias->setSetting(
"usr_settings_hide_".$field,
"1");
2257 $ilias->deleteSetting(
"usr_settings_hide_".$field);
2260 if (!
$_POST[
"chb"][
"changeable_" . $field] && !$field_properties[$field][
"changeable_hide"])
2262 $ilias->setSetting(
"usr_settings_disable_".$field,
"1");
2266 $ilias->deleteSetting(
"usr_settings_disable_".$field);
2270 if ((
int)
$_POST[
'chb'][
'visib_reg_' . $field] && !$field_properties[$field][
"visib_reg_hide"])
2272 $ilSetting->set(
'usr_settings_visib_reg_'.$field,
'1');
2276 $ilSetting->set(
'usr_settings_visib_reg_'.$field,
'0');
2279 if ((
int)
$_POST[
'chb'][
'visib_lua_' . $field])
2282 $ilSetting->set(
'usr_settings_visib_lua_'.$field,
'1');
2286 $ilSetting->set(
'usr_settings_visib_lua_'.$field,
'0');
2289 if ((
int)
$_POST[
'chb'][
'changeable_lua_' . $field])
2292 $ilSetting->set(
'usr_settings_changeable_lua_'.$field,
'1');
2296 $ilSetting->set(
'usr_settings_changeable_lua_'.$field,
'0');
2299 if (
$_POST[
"chb"][
"export_" . $field] && !$field_properties[$field][
"export_hide"])
2301 $ilias->setSetting(
"usr_settings_export_".$field,
"1");
2305 $ilias->deleteSetting(
"usr_settings_export_".$field);
2309 if (
$_POST[
"chb"][
"course_export_" . $field] && !$field_properties[$field][
"course_export_hide"])
2311 $ilias->setSetting(
"usr_settings_course_export_".$field,
"1");
2315 $ilias->deleteSetting(
"usr_settings_course_export_".$field);
2319 if (
$_POST[
"chb"][
"group_export_" . $field] && !$field_properties[$field][
"group_export_hide"])
2321 $ilias->setSetting(
"usr_settings_group_export_".$field,
"1");
2325 $ilias->deleteSetting(
"usr_settings_group_export_".$field);
2328 $is_fixed = array_key_exists($field, $fixed_required_fields);
2329 if ($is_fixed && $fixed_required_fields[$field] || ! $is_fixed &&
$_POST[
"chb"][
"required_".$field])
2331 $ilias->setSetting(
"require_".$field,
"1");
2335 $ilias->deleteSetting(
"require_" . $field);
2339 if (
$_POST[
"select"][
"default_hits_per_page"])
2341 $ilias->setSetting(
"hits_per_page",
$_POST[
"select"][
"default_hits_per_page"]);
2344 if (
$_POST[
"select"][
"default_show_users_online"])
2346 $ilias->setSetting(
"show_users_online",
$_POST[
"select"][
"default_show_users_online"]);
2349 if (
$_POST[
"chb"][
"export_preferences"])
2351 $ilias->setSetting(
"usr_settings_export_preferences",
$_POST[
"chb"][
"export_preferences"]);
2353 $ilias->deleteSetting(
"usr_settings_export_preferences");
2356 $ilias->setSetting(
'mail_incoming_mail', (
int)
$_POST[
'select'][
'default_mail_incoming_mail']);
2368 $action[-1] = $this->lng->txt(
'all_users');
2369 $action[1] = $this->lng->txt(
'usr_active_only');
2370 $action[0] = $this->lng->txt(
'usr_inactive_only');
2371 $action[2] = $this->lng->txt(
'usr_limited_access_only');
2372 $action[3] = $this->lng->txt(
'usr_without_courses');
2373 $action[4] = $this->lng->txt(
'usr_filter_lastlogin');
2374 $action[5] = $this->lng->txt(
"usr_filter_coursemember");
2375 $action[6] = $this->lng->txt(
"usr_filter_groupmember");
2376 $action[7] = $this->lng->txt(
"usr_filter_role");
2389 if(!isset(
$_POST[
"file"]))
2391 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
2394 if (count(
$_POST[
"file"]) > 1)
2396 $this->
ilias->raiseError($this->lng->txt(
"select_max_one_item"),$this->
ilias->error_obj->MESSAGE);
2401 $export_dir = $this->
object->getExportDirectory();
2410 if(!isset(
$_POST[
"file"]))
2412 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
2416 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
2418 $cgui->setFormAction($this->ctrl->getFormAction($this));
2419 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
2420 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDeleteExportFile");
2421 $cgui->setConfirm($this->lng->txt(
"confirm"),
"deleteExportFile");
2429 $cgui->addItem(
"file[]", $file, $caption);
2432 $this->tpl->setContent($cgui->getHTML());
2441 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2450 $export_dir = $this->
object->getExportDirectory();
2453 $file = basename($file);
2455 $exp_file = $export_dir.
"/".
$file;
2456 if (@is_file($exp_file))
2461 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2478 if (
$_POST[
"cmd"][
"export"])
2480 $this->
object->buildExportFile(
$_POST[
"export_type"]);
2481 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2485 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.usr_export.html',
'Services/User');
2487 $export_types = array(
2488 "userfolder_export_excel_x86",
2489 "userfolder_export_csv",
2490 "userfolder_export_xml" 2494 include_once(
"./Services/Table/classes/class.ilTableGUI.php");
2498 $this->tpl->addBlockfile(
"EXPORT_FILES",
"export_files",
"tpl.table.html");
2501 $this->tpl->addBlockfile(
"TBL_CONTENT",
"tbl_content",
"tpl.usr_export_file_row.html",
"Services/User");
2505 $tbl->setTitle($this->lng->txt(
"userfolder_export_files"));
2507 $tbl->setHeaderNames(array(
"", $this->lng->txt(
"userfolder_export_file"),
2508 $this->lng->txt(
"userfolder_export_file_size"), $this->lng->txt(
"date") ));
2509 $tbl->setHeaderVars(array(), $ilCtrl->getParameterArray($this,
"export"));
2511 $tbl->enabled[
"sort"] =
false;
2512 $tbl->setColumnWidth(array(
"1%",
"49%",
"25%",
"25%"));
2515 $tbl->setOrderColumn(
$_GET[
"sort_by"]);
2516 $tbl->setOrderDirection(
$_GET[
"sort_order"]);
2517 $tbl->setLimit(
$_GET[
"limit"]);
2518 $tbl->setOffset(
$_GET[
"offset"]);
2519 $tbl->setMaxCount($this->maxcount);
2522 $this->tpl->setVariable(
"COLUMN_COUNTS", 4);
2526 $this->tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
2527 $this->tpl->setCurrentBlock(
"tbl_action_btn");
2528 $this->tpl->setVariable(
"BTN_NAME",
"confirmDeleteExportFile");
2529 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"delete"));
2530 $this->tpl->parseCurrentBlock();
2532 $this->tpl->setCurrentBlock(
"tbl_action_btn");
2533 $this->tpl->setVariable(
"BTN_NAME",
"downloadExportFile");
2534 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"download"));
2535 $this->tpl->parseCurrentBlock();
2538 $tbl->setFooter(
"tblfooter",$this->lng->txt(
"previous"),$this->lng->txt(
"next"));
2541 $export_files = $this->
object->getExportFiles();
2543 $tbl->setMaxCount(count($export_files));
2544 $export_files = array_slice($export_files,
$_GET[
"offset"],
$_GET[
"limit"]);
2548 if(count($export_files) > 0)
2551 foreach($export_files as $exp_file)
2553 $this->tpl->setCurrentBlock(
"tbl_content");
2554 $this->tpl->setVariable(
"TXT_FILENAME", $exp_file[
"filename"]);
2557 $this->tpl->setVariable(
"CSS_ROW", $css_row);
2559 $this->tpl->setVariable(
"TXT_SIZE", $exp_file[
"filesize"]);
2560 $this->tpl->setVariable(
"CHECKBOX_ID", $exp_file[
"filename"]);
2562 $file_arr = explode(
"__", $exp_file[
"filename"]);
2565 $this->tpl->parseCurrentBlock();
2568 $this->tpl->setCurrentBlock(
"selectall");
2569 $this->tpl->setVariable(
"SELECT_ALL", $this->lng->txt(
"select_all"));
2570 $this->tpl->setVariable(
"CSS_ROW", $css_row);
2571 $this->tpl->parseCurrentBlock();
2584 $this->tpl->parseCurrentBlock();
2587 foreach ($export_types as $export_type)
2589 $this->tpl->setCurrentBlock(
"option");
2590 $this->tpl->setVariable(
"OPTION_VALUE", $export_type);
2591 $this->tpl->setVariable(
"OPTION_TEXT", $this->lng->txt($export_type));
2592 $this->tpl->parseCurrentBlock();
2595 $this->tpl->setVariable(
"EXPORT_BUTTON", $this->lng->txt(
"create_export_file"));
2596 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
2603 $lng->loadLanguageModule(
"meta");
2604 $lng->loadLanguageModule(
"mail");
2606 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2608 $form->setFormAction($ilCtrl->getFormAction($this));
2611 $form->setTitle($lng->txt(
"user_new_account_mail"));
2612 $form->setDescription($lng->txt(
"user_new_account_mail_desc"));
2614 $langs = $lng->getInstalledLanguages();
2615 foreach($langs as $lang_key)
2617 $amail = $this->
object->_lookupNewAccountMail($lang_key);
2619 $title = $lng->txt(
"meta_l_".$lang_key);
2620 if ($lang_key == $lng->getDefaultLanguage())
2622 $title .=
" (".$lng->txt(
"default").
")";
2626 $header->setTitle($title);
2627 $form->addItem($header);
2629 $subj =
new ilTextInputGUI($lng->txt(
"subject"),
"subject_".$lang_key);
2631 $subj->
setValue($amail[
"subject"]);
2632 $form->addItem($subj);
2634 $salg =
new ilTextInputGUI($lng->txt(
"mail_salutation_general"),
"sal_g_".$lang_key);
2637 $form->addItem($salg);
2639 $salf =
new ilTextInputGUI($lng->txt(
"mail_salutation_female"),
"sal_f_".$lang_key);
2642 $form->addItem($salf);
2644 $salm =
new ilTextInputGUI($lng->txt(
"mail_salutation_male"),
"sal_m_".$lang_key);
2647 $form->addItem($salm);
2653 $body->setCols(100);
2654 $form->addItem($body);
2656 $att =
new ilFileInputGUI($lng->txt(
"attachment"),
"att_".$lang_key);
2657 $att->setAllowDeletion(
true);
2658 if($amail[
"att_file"])
2660 $att->
setValue($amail[
"att_file"]);
2662 $form->addItem($att);
2665 $form->addCommandButton(
"saveNewAccountMail", $lng->txt(
"save"));
2666 $form->addCommandButton(
"cancelNewAccountMail", $lng->txt(
"cancel"));
2679 $this->tabs_gui->setTabActive(
'settings');
2680 $this->tabs_gui->setSubTabActive(
'user_new_account_mail');
2684 $ftpl =
new ilTemplate(
'tpl.usrf_new_account_mail.html',
true,
true,
'Services/User');
2685 $ftpl->setVariable(
"FORM", $form->getHTML());
2689 $ftpl->setVariable(
"TXT_USE_PLACEHOLDERS", $lng->txt(
"mail_nacc_use_placeholder"));
2690 $ftpl->setVariable(
"TXT_MAIL_SALUTATION", $lng->txt(
"mail_nacc_salutation"));
2691 $ftpl->setVariable(
"TXT_FIRST_NAME", $lng->txt(
"firstname"));
2692 $ftpl->setVariable(
"TXT_LAST_NAME", $lng->txt(
"lastname"));
2693 $ftpl->setVariable(
"TXT_EMAIL", $lng->txt(
"email"));
2694 $ftpl->setVariable(
"TXT_LOGIN", $lng->txt(
"mail_nacc_login"));
2695 $ftpl->setVariable(
"TXT_PASSWORD", $lng->txt(
"password"));
2696 $ftpl->setVariable(
"TXT_PASSWORD_BLOCK", $lng->txt(
"mail_nacc_pw_block"));
2697 $ftpl->setVariable(
"TXT_NOPASSWORD_BLOCK", $lng->txt(
"mail_nacc_no_pw_block"));
2698 $ftpl->setVariable(
"TXT_ADMIN_MAIL", $lng->txt(
"mail_nacc_admin_mail"));
2699 $ftpl->setVariable(
"TXT_ILIAS_URL", $lng->txt(
"mail_nacc_ilias_url"));
2700 $ftpl->setVariable(
"TXT_CLIENT_NAME", $lng->txt(
"mail_nacc_client_name"));
2701 $ftpl->setVariable(
"TXT_TARGET", $lng->txt(
"mail_nacc_target"));
2702 $ftpl->setVariable(
"TXT_TARGET_TITLE", $lng->txt(
"mail_nacc_target_title"));
2703 $ftpl->setVariable(
"TXT_TARGET_TYPE", $lng->txt(
"mail_nacc_target_type"));
2704 $ftpl->setVariable(
"TXT_TARGET_BLOCK", $lng->txt(
"mail_nacc_target_block"));
2705 $ftpl->setVariable(
"TXT_IF_TIMELIMIT", $lng->txt(
"mail_nacc_if_timelimit"));
2706 $ftpl->setVariable(
"TXT_TIMELIMIT", $lng->txt(
"mail_nacc_timelimit"));
2708 $this->tpl->setContent($ftpl->get());
2713 $this->ctrl->redirect($this,
"settings");
2720 $langs = $lng->getInstalledLanguages();
2721 foreach($langs as $lang_key)
2723 $this->
object->_writeNewAccountMail($lang_key,
2730 if($_FILES[
"att_".$lang_key][
"tmp_name"])
2732 $this->
object->_updateAccountMailAttachment($lang_key,
2733 $_FILES[
"att_".$lang_key][
"tmp_name"],
2734 $_FILES[
"att_".$lang_key][
"name"]);
2737 if (
$_POST[
"att_".$lang_key.
"_delete"])
2739 $this->
object->_deleteAccountMailAttachment($lang_key);
2744 $this->ctrl->redirect($this,
"newAccountMail");
2759 include_once
'Services/Tracking/classes/class.ilObjUserTracking.php';
2763 if ($rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
2765 $tabs_gui->addTarget(
"usrf",
2766 $this->ctrl->getLinkTarget($this,
"view"), array(
"view",
"delete",
"resetFilter",
"userAction",
""),
"",
"");
2768 $tabs_gui->addTarget(
2769 "search_user_extended",
2770 $this->ctrl->getLinkTargetByClass(
'ilRepositorySearchGUI',
''),
2772 "ilrepositorysearchgui",
2777 if ($rbacsystem->checkAccess(
"write",$this->object->getRefId()))
2779 $tabs_gui->addTarget(
"settings",
2780 $this->ctrl->getLinkTarget($this,
"generalSettings"),array(
'settings',
'generalSettings',
'listUserDefinedField',
'newAccountMail'));
2782 $tabs_gui->addTarget(
"export",
2783 $this->ctrl->getLinkTarget($this,
"export"),
"export",
"",
"");
2795 if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
2797 $tabs_gui->addTarget(
"perm_settings",
2798 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"),
2799 array(
"perm",
"info",
"owner"),
'ilpermissiongui');
2814 $this->tabs_gui->addSubTabTarget(
2816 $this->ctrl->getLinkTarget($this,
'generalSettings'),
'generalSettings', get_class($this));
2817 $this->tabs_gui->addSubTabTarget(
"standard_fields",
2818 $this->ctrl->getLinkTarget($this,
'settings'),
2819 array(
"settings",
"saveGlobalUserSettings"), get_class($this));
2820 $this->tabs_gui->addSubTabTarget(
"user_defined_fields",
2821 $this->ctrl->getLinkTargetByClass(
"ilcustomuserfieldsgui",
"listUserDefinedFields"),
2822 "listUserDefinedFields",get_class($this));
2823 $this->tabs_gui->addSubTabTarget(
"user_new_account_mail",
2824 $this->ctrl->getLinkTarget($this,
'newAccountMail'),
2825 "newAccountMail",get_class($this));
2826 $this->tabs_gui->addSubTab(
"account_codes", $this->lng->txt(
"user_account_codes"),
2827 $this->ctrl->getLinkTargetByClass(
"ilaccountcodesgui"));
2836 $show_blocking_time_in_days = (int)$ilSetting->get(
'loginname_change_blocking_time') / 86400;
2839 $this->loginSettingsForm->setValuesByArray(array(
2840 'allow_change_loginname' => (
bool)$ilSetting->get(
'allow_change_loginname'),
2841 'create_history_loginname' => (bool)$ilSetting->get(
'create_history_loginname'),
2842 'reuse_of_loginnames' => (bool)$ilSetting->get(
'reuse_of_loginnames'),
2843 'loginname_change_blocking_time' => (float)$show_blocking_time_in_days
2846 $this->tpl->setVariable(
'ADM_CONTENT', $this->loginSettingsForm->getHTML());
2852 $this->tabs_gui->setTabActive(
'settings');
2853 $this->tabs_gui->setSubTabActive(
'loginname_settings');
2855 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2857 $this->loginSettingsForm->
setFormAction($this->ctrl->getFormAction($this,
'saveLoginnameSettings'));
2858 $this->loginSettingsForm->setTitle($this->lng->txt(
'loginname_settings'));
2860 $chbChangeLogin =
new ilCheckboxInputGUI($this->lng->txt(
'allow_change_loginname'),
'allow_change_loginname');
2862 $this->loginSettingsForm->addItem($chbChangeLogin);
2863 $chbCreateHistory =
new ilCheckboxInputGUI($this->lng->txt(
'history_loginname'),
'create_history_loginname');
2864 $chbCreateHistory->
setInfo($this->lng->txt(
'loginname_history_info'));
2865 $chbCreateHistory->setValue(1);
2866 $chbChangeLogin->addSubItem($chbCreateHistory);
2867 $chbReuseLoginnames =
new ilCheckboxInputGUI($this->lng->txt(
'reuse_of_loginnames_contained_in_history'),
'reuse_of_loginnames');
2869 $chbReuseLoginnames->setInfo($this->lng->txt(
'reuse_of_loginnames_contained_in_history_info'));
2870 $chbChangeLogin->addSubItem($chbReuseLoginnames);
2871 $chbChangeBlockingTime =
new ilNumberInputGUI($this->lng->txt(
'loginname_change_blocking_time'),
'loginname_change_blocking_time');
2873 $chbChangeBlockingTime->setSuffix($this->lng->txt(
'days'));
2874 $chbChangeBlockingTime->setInfo($this->lng->txt(
'loginname_change_blocking_time_info'));
2875 $chbChangeBlockingTime->setSize(10);
2876 $chbChangeBlockingTime->setMaxLength(10);
2877 $chbChangeLogin->addSubItem($chbChangeBlockingTime);
2879 $this->loginSettingsForm->addCommandButton(
'saveLoginnameSettings', $this->lng->txt(
'save'));
2887 if($this->loginSettingsForm->checkInput())
2891 if(!strlen($this->loginSettingsForm->getInput(
'loginname_change_blocking_time')))
2894 $this->loginSettingsForm->getItemByPostVar(
'loginname_change_blocking_time')
2895 ->setAlert($this->lng->txt(
'loginname_change_blocking_time_invalidity_info'));
2900 $save_blocking_time_in_seconds = (int)$this->loginSettingsForm->getInput(
'loginname_change_blocking_time') * 86400;
2902 $ilSetting->set(
'allow_change_loginname', (
int)$this->loginSettingsForm->getInput(
'allow_change_loginname'));
2903 $ilSetting->set(
'create_history_loginname', (
int)$this->loginSettingsForm->getInput(
'create_history_loginname'));
2904 $ilSetting->set(
'reuse_of_loginnames', (
int)$this->loginSettingsForm->getInput(
'reuse_of_loginnames'));
2905 $ilSetting->set(
'loginname_change_blocking_time', (
int)$save_blocking_time_in_seconds);
2918 $this->loginSettingsForm->setValuesByPost();
2920 $this->tpl->setVariable(
'ADM_CONTENT', $this->loginSettingsForm->getHTML());
2932 if ($ilAccess->checkAccess(
"read",
"", $a_target))
2934 ilUtil::redirect(
"ilias.php?baseClass=ilAdministrationGUI&ref_id=".$a_target.
"&jmpToUser=".$a_user);
2939 if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
2946 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
2958 $ilCtrl->setParameterByClass(
"ilobjusergui",
"obj_id", (
int) $_GET[
"jmpToUser"]);
2959 $ilCtrl->redirectByClass(
"ilobjusergui",
"view");
2968 if(!count((array) $a_usr_ids))
2974 $_POST[
'id'] = $a_usr_ids;
2977 if(stristr($a_cmd,
"export"))
2979 $cmd = $a_cmd.
"Object";
2980 return $this->
$cmd();
2983 $_POST[
'selectedAction'] = $a_cmd;
2995 'activate' => $this->lng->txt(
'activate'),
2996 'deactivate' => $this->lng->txt(
'deactivate'),
2997 'accessRestrict' => $this->lng->txt(
'accessRestrict'),
2998 'accessFree' => $this->lng->txt(
'accessFree')
3001 if ($rbacsystem->checkAccess(
'delete', $this->object->getRefId()))
3003 $cmds[
"delete"] = $this->lng->txt(
"delete");
3010 'activateUsers' => $this->lng->txt(
'activate'),
3011 'deactivateUsers' => $this->lng->txt(
'deactivate'),
3012 'restrictAccess' => $this->lng->txt(
'accessRestrict'),
3013 'freeAccess' => $this->lng->txt(
'accessFree')
3016 if ($rbacsystem->checkAccess(
'delete', $this->object->getRefId()))
3018 $cmds[
"deleteUsers"] = $this->lng->txt(
"delete");
3023 $export_types = array(
"userfolder_export_excel_x86",
"userfolder_export_csv",
"userfolder_export_xml");
3024 foreach ($export_types as $type)
3026 $cmd = explode(
"_", $type);
3028 $cmds[
'usrExport'.ucfirst(
$cmd)] = $this->lng->txt(
'export').
' - '.
3029 $this->lng->txt($type);
3033 include_once
"Services/Mail/classes/class.ilMail.php";
3034 $mail =
new ilMail($ilUser->getId());
3035 if($rbacsystem->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId()))
3037 $cmds[
"mail"] = $this->lng->txt(
"send_mail");
3051 $this->
object->buildExportFile(
"userfolder_export_excel_x86", $user_ids);
3052 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
3063 $this->
object->buildExportFile(
"userfolder_export_csv", $user_ids);
3064 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
3075 $this->
object->buildExportFile(
"userfolder_export_xml", $user_ids);
3076 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
3091 include_once
"Services/Contact/classes/class.ilMailingLists.php";
3093 $list->deleteTemporaryLists();
3096 include_once
"Services/Contact/classes/class.ilMailingList.php";
3099 $list->setTitle(
"-TEMPORARY SYSTEM LIST-");
3100 $list->setDescription(
"-USER ACCOUNTS MAIL-");
3101 $list->setCreateDate(date(
"Y-m-d H:i:s"));
3103 $list_id = $list->getId();
3106 foreach($user_ids as $user_id)
3108 $list->assignAddressbookEntry($user_id);
3111 include_once
"Services/Mail/classes/class.ilFormatMail.php";
3115 if(!is_array($mail_data))
3117 $mail_data = array(
"user_id" => $ilUser->getId());
3124 $mail_data[
'user_id'],
3125 $mail_data[
'attachments'],
3127 $mail_data[
'rcp_cc'],
3128 $mail_data[
'rcp_bcc'],
3129 $mail_data[
'm_type'],
3130 $mail_data[
'm_email'],
3131 $mail_data[
'm_subject'],
3132 $mail_data[
'm_message'],
3133 $mail_data[
'use_placeholders']
3145 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
3155 'ps_password_min_length' => (
int)$security->getPasswordMinLength(),
3156 'ps_password_max_length' => (int)$security->getPasswordMaxLength(),
3157 'ps_password_uppercase_chars_num' => (int)$security->getPasswordNumberOfUppercaseChars(),
3158 'ps_password_lowercase_chars_num' => (int)$security->getPasswordNumberOfLowercaseChars(),
3159 'ps_password_max_age' => (int)$security->getPasswordMaxAge()
3161 $fields[
'ps_password_settings'] = array(null, null, $subitems);
3164 'ps_login_max_attempts' => (
int)$security->getLoginMaxAttempts(),
3167 $fields[
'ps_security_protection'] = array(null, null, $subitems);
3169 return array(array(
"generalSettings", $fields));
showLoginnameSettingsObject()
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
const DEFAULT_MAX_COUNT
default value for settings that have not been defined in setup or administration yet ...
setSubTabs($a_tab)
set sub tabs
static makeDirParents($a_dir)
Create a new directory and all parent directories.
This class represents an option in a radio group.
GUI class for account codes.
static _isSearchable($a_key)
importUsersObject()
import users
__buildUserFilterSelect()
build select form to distinguish between active and non-active users
showActionConfirmation($action, $a_from_search=false)
display activation confirmation screen
setValue($a_value)
Set Value.
__setTableGUIBasicData(&$tbl, &$result_set, $from="")
getSavedData()
get saved data public
addToExternalSettingsForm($a_form_id)
getImportDir()
get user import directory name
confirmdeleteObject()
confirm delete Object
cancelSearchActionObject()
static getImageTagByType($a_type, $a_path, $a_big=false)
Builds an html image tag TODO: function still in use, but in future use getImagePath and move HTML-Co...
importUserRoleAssignmentObject()
display form for user import
freeAccessObject()
Free access.
setValue($a_value)
Set Value.
activateUsersObject()
Activate users.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
initFormGeneralSettings()
init general settings form
updateAppliedUsersObject()
static unzip($a_file, $overwrite=false, $a_flat=false)
unzip file
chooseLetterObject()
Choose first letter.
settingsObject()
Global user settings.
Learning progress account list for user administration.
static getDir($a_dir, $a_rec=false, $a_sub_dir="")
get directory
applyFilterObject()
Apply filter.
ilObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
Constructor public.
static _lookupTitle($a_id)
lookup object title
_goto($a_user)
goto target group
viewObject()
list childs of current object
exportObject()
Global user settings.
const SESSION_HANDLING_FIXED
setInfo($a_info)
Set Info.
static _reset()
Reset all.
importCancelledObject()
import cancelled
importUserFormObject()
display form for user import
generalSettingsObject()
Show user account general settings.
confirmaccessRestrictObject()
Auto completion class for user lists.
restrictAccessObject()
Restrict access.
_lookupNewAccountMail($a_lang)
getTabs(&$tabs_gui)
get tabs public
getActionUserIds()
Get selected items for table action.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
viewObject($reset_filter=FALSE)
list users
saveGlobalUserSettingsObject($action="")
resetFilterObject()
Reset filter (note: this function existed before data table filter has been introduced.
static _enabledUserRelatedData()
check wether user related tracking is enabled or not
confirmaccessFreeObject()
TableGUI class for user administration.
static updateLimitLog($a_new_value)
Log max session setting.
deleteUsersObject()
Delete users.
static _enabledLearningProgress()
check wether learing progress is enabled or not
Class ilCustomUserFieldsGUI.
deactivateUsersObject()
Deactivate users.
static _saveStatus($a_key, $a_enabled)
saveGeneralSettingsObject()
Save user account settings.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
confirmDeleteExportFileObject()
confirmation screen for export file deletion
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.
Class Mail this class handles base functions for mail handling.
static moveUploadedFile($a_file, $a_name, $a_target, $a_raise_errors=true, $a_mode="move_uploaded")
move uploaded file
Class ilObjectGUI Basic methods of all Output classes.
static _lookupObjId($a_id)
cancelDeleteExportFileObject()
cancel deletion of export files
deleteExportFileObject()
delete export files
getUserMultiCommands($a_search_form=false)
special template class to simplify handling of ITX/PEAR
ilObjUserFolderGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor public.
This class represents a text property in a property form.
__getDateSelect($a_type, $a_varname, $a_selected)
static formatDate(ilDateTime $date)
Format a date public.
showActions($with_subobjects=false)
show possible action (form buttons)
redirection script todo: (a better solution should control the processing via a xml file) ...
newAccountMailObject()
new account mail administration
setMaxLength($a_maxlength)
Set Max Length.
getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
confirmdeactivateObject()
Set the selected users inactive.
jumpToUserObject()
Jump to edit screen for user.
prepareOutput()
prepare output
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
downloadExportFileObject()
Download selected export files.
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
saveLoginnameSettingsObject()
showPossibleSubObjects()
show possible subobjects (pulldown menu) overwritten to prevent displaying of role templates in local...
initAccessRestrictionForm($a_from_search=false)
static getDataDir()
get data directory (outside webspace)
This class represents a non editable value in a property form.
_getAssignUsersStatus($a_role_id)
static getInstance()
Singelton get instance.
This class represents a text area property in a property form.
addUserObject()
Add new user;.
static getFirstLettersOfLastnames()
Get first letters of all lastnames.
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows) ...
cancelNewAccountMailObject()
searchResultHandler($a_usr_ids, $a_cmd)
Handles multi command from repository search gui.
Class ilObjUserFolderGUI.
const USER_FOLDER_ID
Class ilObjUserFolder.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
const SESSION_HANDLING_LOAD_DEPENDENT
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
static _getInstance()
Get instance of ilPrivacySettings.
const DEFAULT_ALLOW_CLIENT_MAINTENANCE
cancelUserFolderActionObject()
setValue($a_value)
Set Value.
static redirect($a_script)
http redirect to other script
static getSessionExpireValue()
Returns the session expiration value.
initUserImportForm()
Init user import form.
confirmactivateObject()
Set the selected users active.
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
static _getInstance()
Get instance of ilSecuritySettings.
saveNewAccountMailObject()
const DEFAULT_MAX_IDLE_AFTER_FIRST_REQUEST
const IL_UPDATE_ON_CONFLICT
static formCheckbox($checked, $varname, $value, $disabled=false)
??? public
const IL_IGNORE_ON_CONFLICT
__showAppliedUsersTable($a_result_set)
setAccessRestrictionObject($a_form=null, $a_from_search=false)
Confirmation screen class.
addUserAutoCompleteObject()
Show auto complete results.
savePostData($a_user_id, $a_attachments, $a_rcp_to, $a_rcp_cc, $a_rcp_bcc, $a_m_type, $a_m_email, $a_m_subject, $a_m_message, $a_use_placeholders)
save post data in table public