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->setTitle($this->lng->txt(
"search_user_extended"));
80 $user_search->enableSearchableCheck(
false);
81 $user_search->setUserLimitations(
false);
82 $user_search->setCallback(
84 'searchResultHandler',
87 $this->tabs_gui->setTabActive(
'search_user_extended');
88 $this->ctrl->setReturn($this,
'view');
89 $ret =& $this->ctrl->forwardCommand($user_search);
92 case 'ilaccountcodesgui':
93 $this->tabs_gui->setTabActive(
'settings');
95 $ilTabs->activateSubTab(
"account_codes");
96 include_once(
"./Services/User/classes/class.ilAccountCodesGUI.php");
98 $this->ctrl->forwardCommand($acc);
101 case 'ilcustomuserfieldsgui':
102 $this->tabs_gui->setTabActive(
'settings');
104 $ilTabs->activateSubTab(
"user_defined_fields");
105 include_once(
"./Services/User/classes/class.ilCustomUserFieldsGUI.php");
107 $this->ctrl->forwardCommand($cf);
126 global $rbacsystem,
$tpl;
131 if (!$rbacsystem->checkAccess(
"read",$this->object->getRefId()) ||
135 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->
ilias->error_obj->MESSAGE);
138 include_once
"Services/User/classes/class.ilUserLPTableGUI.php";
141 $tpl->setContent(
$tbl->getHTML());
150 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
152 $utab->resetOffset();
153 $utab->resetFilter();
166 $ilCtrl->setParameterByClass(
"ilobjusergui",
"new_type",
"usr");
167 $ilCtrl->redirectByClass(array(
"iladministrationgui",
"ilobjusergui"),
"create");
178 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
180 $utab->resetOffset();
181 $utab->writeFilterToSession();
183 $ilTabs->activateTab(
"usrf");
195 include_once
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
197 if ($rbacsystem->checkAccess(
'create_usr', $this->object->getRefId()) ||
198 $rbacsystem->checkAccess(
'cat_administrate_users', $this->object->getRefId()))
201 $button->setCaption(
"usr_add");
202 $button->setUrl($this->ctrl->getLinkTarget($this,
"addUser"));
203 $ilToolbar->addButtonInstance($button);
206 $button->setCaption(
"import_users");
207 $button->setUrl($this->ctrl->getLinkTarget($this,
"importUserForm"));
208 $ilToolbar->addButtonInstance($button);
212 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
214 if ((
int) $ilSetting->get(
'user_adm_alpha_nav'))
216 $ilToolbar->addSeparator();
219 include_once(
"./Services/Form/classes/class.ilAlphabetInputGUI.php");
221 include_once(
"./Services/User/classes/class.ilObjUser.php");
227 $ai->setParentCommand($this,
"chooseLetter");
228 $ai->setHighlighted(
$_GET[
"letter"]);
229 $ilToolbar->addInputItem($ai,
true);
233 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
235 $tpl->setContent($utab->getHTML());
243 include_once
'./Services/User/classes/class.ilUserAutoComplete.php';
245 $auto->setSearchFields(array(
'login',
'firstname',
'lastname',
'email'));
246 $auto->enableFieldSearchableCheck(
false);
247 $auto->setMoreLinkAvailable(
true);
268 $ilCtrl->redirect($this,
"view");
282 $operations = array();
284 if ($this->actions ==
"")
287 "delete" => array(
"name" =>
"delete",
"lng" =>
"delete"),
288 "activate" => array(
"name" =>
"activate",
"lng" =>
"activate"),
289 "deactivate" => array(
"name" =>
"deactivate",
"lng" =>
"deactivate"),
290 "accessRestrict" => array(
"name" =>
"accessRestrict",
"lng" =>
"accessRestrict"),
291 "accessFree" => array(
"name" =>
"accessFree",
"lng" =>
"accessFree"),
292 "export" => array(
"name" =>
"export",
"lng" =>
"export")
301 if ($rbacsystem->checkAccess($row[
"name"],$this->object->getRefId()))
303 $operations[] =
$row;
307 if (count($operations) > 0)
309 $select =
"<select name=\"selectedAction\">\n";
310 foreach ($operations as $val)
312 $select .=
"<option value=\"" . $val[
"name"] .
"\"";
313 if (strcmp(
$_POST[
"selectedAction"], $val[
"name"]) == 0)
315 $select .=
" selected=\"selected\"";
318 $select .= $this->lng->txt($val[
"lng"]);
319 $select .=
"</option>";
321 $select .=
"</select>";
322 $this->tpl->setCurrentBlock(
"tbl_action_select");
323 $this->tpl->setVariable(
"SELECT_ACTION", $select);
324 $this->tpl->setVariable(
"BTN_NAME",
"userAction");
325 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"submit"));
326 $this->tpl->parseCurrentBlock();
329 if ($with_subobjects ===
true)
334 if ((count($operations) > 0) or $subobjs ===
true)
336 $this->tpl->setCurrentBlock(
"tbl_action_row");
337 $this->tpl->setVariable(
"COLUMN_COUNTS",count($this->data[
"cols"]));
339 $this->tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
340 $this->tpl->parseCurrentBlock();
354 $d = $this->objDefinition->getCreatableSubObjects($this->object->getType());
356 if (!$rbacsystem->checkAccess(
'create_usr',$this->object->getRefId()))
369 for ($i=0; $i<count($this->data[
"ctrl"]); $i++)
371 if ($this->data[
"ctrl"][$i][
"type"] == $row[
"name"])
377 if ($row[
"max"] ==
"" || $count < $row[
"max"])
379 $subobj[] = $row[
"name"];
384 if (is_array($subobj))
388 $this->tpl->setCurrentBlock(
"add_object");
389 $this->tpl->setVariable(
"SELECT_OBJTYPE", $opts);
390 $this->tpl->setVariable(
"BTN_NAME",
"create");
391 $this->tpl->setVariable(
"TXT_ADD", $this->lng->txt(
"add"));
392 $this->tpl->parseCurrentBlock();
402 $this->ctrl->redirect($this,
'view');
407 $this->ctrl->redirectByClass(
'ilrepositorysearchgui',
'showSearchResults');
420 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
422 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->WARNING);
426 foreach (
$_POST[
"id"] as $id)
429 $obj =& $this->
ilias->obj_factory->getInstanceByObjId($id);
430 $obj->setActive(TRUE, $ilUser->getId());
438 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
442 $this->ctrl->redirect($this,
"view");
456 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
458 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->WARNING);
462 foreach (
$_POST[
"id"] as $id)
465 $obj =& $this->
ilias->obj_factory->getInstanceByObjId($id);
466 $obj->setActive(FALSE, $ilUser->getId());
475 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
479 $this->ctrl->redirect($this,
"view");
488 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
490 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->WARNING);
494 foreach (
$_POST[
"id"] as $id)
497 $obj = $this->
ilias->obj_factory->getInstanceByObjId($id);
498 $obj->setTimeLimitUnlimited(1);
499 $obj->setTimeLimitFrom(
"");
500 $obj->setTimeLimitUntil(
"");
501 $obj->setTimeLimitMessage(0);
510 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
514 $this->ctrl->redirect($this,
"view");
524 $this->tpl->setContent($a_form->getHTML());
539 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
541 $form->setTitle($this->lng->txt(
"time_limit_add_time_limit_for_selected"));
542 $form->setFormAction($this->ctrl->getFormAction($this,
"confirmaccessRestrict"));
546 $from->setRequired(
true);
547 $form->addItem($from);
551 $to->setShowTime(
true);
554 $form->addCommandButton(
"confirmaccessRestrict", $this->lng->txt(
"confirm"));
555 $form->addCommandButton(
"view", $this->lng->txt(
"cancel"));
557 foreach($user_ids as $user_id)
560 $ufield->setValue($user_id);
561 $form->addItem($ufield);
565 if($a_from_search ||
$_POST[
"frsrch"])
569 $form->addItem($field);
578 if(!$form->checkInput())
583 $timefrom = $form->getItemByPostVar(
"from")->getDate()->get(
IL_CAL_UNIX);
584 $timeuntil = $form->getItemByPostVar(
"to")->getDate()->get(
IL_CAL_UNIX);
585 if ($timeuntil <= $timefrom)
594 if (!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
596 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->WARNING);
600 foreach (
$_POST[
"id"] as $id)
603 $obj = $this->
ilias->obj_factory->getInstanceByObjId($id);
604 $obj->setTimeLimitUnlimited(0);
605 $obj->setTimeLimitFrom($timefrom);
606 $obj->setTimeLimitUntil($timeuntil);
607 $obj->setTimeLimitMessage(0);
616 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
620 $this->ctrl->redirect($this,
"view");
634 if (!$rbacsystem->checkAccess(
'delete',$this->object->getRefId()))
637 $ilCtrl->redirect($this,
"view");
640 if (in_array($ilUser->getId(),
$_POST[
"id"]))
642 $this->
ilias->raiseError($this->lng->txt(
"msg_no_delete_yourself"),$this->
ilias->error_obj->WARNING);
646 foreach (
$_POST[
"id"] as $id)
649 $obj =& $this->
ilias->obj_factory->getInstanceByObjId($id);
658 $this->ctrl->redirectByClass(
'ilRepositorySearchGUI',
'show');
662 $this->ctrl->redirect($this,
"view");
673 if(
$_POST[
"select_cmd_all"])
675 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
677 return $utab->getUserIdsForFilter();
695 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
700 $ilTabs->activateTab(
"obj_usrf");
704 $ilTabs->activateTab(
"search_user_extended");
707 if (strcmp($action,
"accessRestrict") == 0)
711 if (strcmp($action,
"mail") == 0)
720 $cancel =
"cancelUserFolderAction";
724 $cancel =
"cancelSearchAction";
728 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
730 $cgui->setFormAction($this->ctrl->getFormAction($this));
731 $cgui->setHeaderText($this->lng->txt(
"info_" . $action .
"_sure"));
732 $cgui->setCancel($this->lng->txt(
"cancel"), $cancel);
733 $cgui->setConfirm($this->lng->txt(
"confirm"),
"confirm" . $action);
737 $cgui->addHiddenItem(
"frsrch", 1);
740 foreach($user_ids as $id)
744 $login = $user->getLastLogin();
747 $login = $this->lng->txt(
"never");
754 $caption = $user->getFullname().
" (".$user->getLogin().
")".
", ".
755 $user->getEmail().
" - ".$this->lng->txt(
"last_login").
": ".$login;
757 $cgui->addItem(
"id[]", $id, $caption);
760 $this->tpl->setContent($cgui->getHTML());
770 $_POST[
"selectedAction"] =
"delete";
779 $_POST[
"selectedAction"] =
"activate";
788 $_POST[
"selectedAction"] =
"deactivate";
797 $_POST[
"selectedAction"] =
"accessRestrict";
806 $_POST[
"selectedAction"] =
"accessFree";
820 global
$tpl, $rbacsystem;
823 if (
$_GET[
"baseClass"] ==
'ilRepositoryGUI')
825 $this->tabs_gui->clearTargets();
828 if (!$rbacsystem->checkAccess(
"write", $this->object->getRefId()))
830 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->
ilias->error_obj->MESSAGE);
834 $tpl->setContent($this->form->getHTML());
846 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
850 include_once(
"./Services/Form/classes/class.ilFileInputGUI.php");
855 $this->form->addItem($fi);
857 $this->form->addCommandButton(
"importUserRoleAssignment", $lng->txt(
"import"));
858 $this->form->addCommandButton(
"importCancelled", $lng->txt(
"cancel"));
860 $this->form->setTitle($lng->txt(
"import_users"));
861 $this->form->setFormAction($ilCtrl->getFormAction($this));
874 if (@is_dir($import_dir))
879 if (strtolower(
$_GET[
"baseClass"]) ==
'iladministrationgui')
881 $this->ctrl->redirect($this,
"view");
886 $this->ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
899 $importDir =
ilUtil::getDataDir().
'/user_import/usr_'.$ilUser->getId().
'_'.session_id();
912 if (
$_GET[
"baseClass"] ==
'ilRepositoryGUI')
914 $this->tabs_gui->clearTargets();
918 if ($this->form->checkInput())
920 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
921 include_once
'./Services/User/classes/class.ilUserImportParser.php';
923 global $rbacreview, $rbacsystem,
$tree,
$lng;
926 $this->tpl->addBlockfile(
"ADM_CONTENT",
"adm_content",
"tpl.usr_import_roles.html",
"Services/User");
931 if (@is_dir($import_dir))
938 $file_name = $_FILES[
"importFile"][
"name"];
939 $parts = pathinfo($file_name);
940 $full_path = $import_dir.
"/".$file_name;
943 if (!is_file($_FILES[
"importFile"][
"tmp_name"]))
946 $this->
ilias->raiseError($this->lng->txt(
"no_import_file_found")
947 , $this->
ilias->error_obj->MESSAGE);
950 $_FILES[
"importFile"][
"name"], $full_path);
953 if (strtolower($parts[
"extension"]) ==
"zip")
960 foreach ($file_list as $a_file)
962 if (substr($a_file[
'entry'],-4) ==
'.xml')
964 $xml_file = $import_dir.
"/".$a_file[
'entry'];
968 if (is_null($xml_file))
970 $subdir = basename($parts[
"basename"],
".".$parts[
"extension"]);
971 $xml_file = $import_dir.
"/".$subdir.
"/".$subdir.
".xml";
977 $xml_file = $full_path;
981 if (!is_file($xml_file))
984 $this->
ilias->raiseError($this->lng->txt(
"no_xml_file_found_in_zip")
985 .
" ".$subdir.
"/".$subdir.
".xml", $this->
ilias->error_obj->MESSAGE);
988 require_once(
"./Services/User/classes/class.ilUserImportParser.php");
993 $importParser->startParsing();
994 switch ($importParser->getErrorLevel())
999 $this->tpl->setVariable(
"IMPORT_LOG", $importParser->getProtocolAsHTML($lng->txt(
"verification_warning_log")));
1003 $this->
ilias->raiseError(
1004 $lng->txt(
"verification_failed").$importParser->getProtocolAsHTML($lng->txt(
"verification_failure_log")),
1005 $this->
ilias->error_obj->MESSAGE
1012 $this->tpl->setCurrentBlock(
"role_selection_form");
1013 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
1014 $this->tpl->setVariable(
"TXT_IMPORT_USERS", $this->lng->txt(
"import_users"));
1015 $this->tpl->setVariable(
"TXT_IMPORT_FILE", $this->lng->txt(
"import_file"));
1016 $this->tpl->setVariable(
"IMPORT_FILE", $file_name);
1017 $this->tpl->setVariable(
"TXT_USER_ELEMENT_COUNT", $this->lng->txt(
"num_users"));
1018 $this->tpl->setVariable(
"USER_ELEMENT_COUNT", $importParser->getUserCount());
1019 $this->tpl->setVariable(
"TXT_ROLE_ASSIGNMENT", $this->lng->txt(
"role_assignment"));
1020 $this->tpl->setVariable(
"BTN_IMPORT", $this->lng->txt(
"import"));
1021 $this->tpl->setVariable(
"BTN_CANCEL", $this->lng->txt(
"cancel"));
1022 $this->tpl->setVariable(
"XML_FILE_NAME", $xml_file);
1026 $importParser->startParsing();
1027 $roles = $importParser->getCollectedRoles();
1030 $all_gl_roles = $rbacreview->getRoleListByObject(ROLE_FOLDER_ID);
1031 $gl_roles = array();
1032 $roles_of_user = $rbacreview->assignedRoles($ilUser->getId());
1033 foreach ($all_gl_roles as $obj_data)
1044 if ($obj_data[
"obj_id"] != ANONYMOUS_ROLE_ID)
1047 if ($obj_data[
"obj_id"] != SYSTEM_ROLE_ID or in_array(SYSTEM_ROLE_ID,$roles_of_user))
1049 $gl_roles[$obj_data[
"obj_id"]] = $obj_data[
"title"];
1055 $got_globals =
false;
1056 foreach($roles as $role_id => $role)
1058 if ($role[
"type"] ==
"Global")
1062 $got_globals =
true;
1064 $this->tpl->setCurrentBlock(
"global_role_section");
1065 $this->tpl->setVariable(
"TXT_GLOBAL_ROLES_IMPORT", $this->lng->txt(
"roles_of_import_global"));
1066 $this->tpl->setVariable(
"TXT_GLOBAL_ROLES", $this->lng->txt(
"assign_global_role"));
1070 $pre_select = array_search($role[name], $gl_roles);
1073 switch($role[
"name"])
1075 case "Administrator":
1076 $pre_select = array_search(
"Administrator", $gl_roles);
1080 $pre_select = array_search(
"User", $gl_roles);
1084 $pre_select = array_search(
"User", $gl_roles);
1088 $pre_select = array_search(
"Guest", $gl_roles);
1092 $pre_select = array_search(
"User", $gl_roles);
1096 $this->tpl->setCurrentBlock(
"global_role");
1097 $role_select =
ilUtil::formSelect($pre_select,
"role_assign[".$role_id.
"]", $gl_roles,
false,
true);
1098 $this->tpl->setVariable(
"TXT_IMPORT_GLOBAL_ROLE", $role[
"name"].
" [".$role_id.
"]");
1099 $this->tpl->setVariable(
"SELECT_GLOBAL_ROLE", $role_select);
1100 $this->tpl->parseCurrentBlock();
1105 $got_locals =
false;
1106 foreach($roles as $role_id => $role)
1108 if ($role[
"type"] ==
"Local")
1117 $this->tpl->setCurrentBlock(
"local_role_section");
1118 $this->tpl->setVariable(
"TXT_LOCAL_ROLES_IMPORT", $this->lng->txt(
"roles_of_import_local"));
1119 $this->tpl->setVariable(
"TXT_LOCAL_ROLES", $this->lng->txt(
"assign_local_role"));
1130 $loc_roles = array();
1131 foreach($roles as $role_id => $role)
1133 if ($role[
"type"] ==
"Local")
1135 $searchName = (substr($role[
'name'],0,1) ==
'#') ? $role[
'name'] :
'#'.$role[
'name'];
1136 $matching_role_ids = $rbacreview->searchRolesByMailboxAddressList($searchName);
1137 foreach ($matching_role_ids as $mid) {
1138 if (! in_array($mid, $loc_roles)) {
1139 $loc_roles[] = $mid;
1148 $loc_roles = $rbacreview->getAssignableRolesInSubtree($this->object->getRefId());
1153 $l_roles_mailbox_searcharray = array();
1154 foreach ($loc_roles as $key => $loc_role)
1157 $rolf = $rbacreview->getFoldersAssignedToRole($loc_role,
true);
1164 !$rbacreview->isDeleted($rolf[0]) &&
1165 $rbacsystem->checkAccess(
'write',$rolf[0]) &&
1166 $rolf[0] != ROLE_FOLDER_ID
1179 $path_array = array();
1180 if ($this->tree->isInTree($rolf[0]))
1184 $tmpPath = $this->tree->getPathFull($rolf[0]);
1185 $tmpPath[] = $rolf[0];
1187 for ($i = 1,
$n = count($tmpPath) - 1; $i <
$n; $i++)
1189 if ($i < 3 || $i > $n - 3)
1191 $path_array[] = $tmpPath[$i][
'title'];
1193 else if ($i == 3 || $i == $n - 3)
1195 $path_array[] =
'...';
1198 $isInSubtree |= $tmpPath[$i][
'obj_id'] == $this->
object->getId();
1201 $path = implode(
" < ", array_reverse($path_array));
1206 $path =
"<b>Rolefolder ".$rolf[0].
" not found in tree! (Role ".$loc_role.
")</b>";
1208 $roleMailboxAddress = $rbacreview->getRoleMailboxAddress($loc_role);
1209 $l_roles[$loc_role] = $roleMailboxAddress.
', '.
$path;
1214 natcasesort($l_roles);
1215 $l_roles[
""] = $this->lng->txt(
"usrimport_ignore_role");
1216 foreach($roles as $role_id => $role)
1218 if ($role[
"type"] ==
"Local")
1220 $this->tpl->setCurrentBlock(
"local_role");
1221 $this->tpl->setVariable(
"TXT_IMPORT_LOCAL_ROLE", $role[
"name"]);
1222 $searchName = (substr($role[
'name'],0,1) ==
'#') ? $role[
'name'] :
'#'.$role[
'name'];
1223 $matching_role_ids = $rbacreview->searchRolesByMailboxAddressList($searchName);
1224 $pre_select = count($matching_role_ids) == 1 ? $matching_role_ids[0] :
"";
1229 $selectable_roles = array();
1230 $selectable_roles[
""] = $this->lng->txt(
"usrimport_ignore_role");
1231 foreach ($matching_role_ids as $id)
1233 $selectable_roles[$id] = $l_roles[$id];
1235 $role_select =
ilUtil::formSelect($pre_select,
"role_assign[".$role_id.
"]", $selectable_roles,
false,
true);
1237 $role_select =
ilUtil::formSelect($pre_select,
"role_assign[".$role_id.
"]", $l_roles,
false,
true);
1239 $this->tpl->setVariable(
"SELECT_LOCAL_ROLE", $role_select);
1240 $this->tpl->parseCurrentBlock();
1246 $this->tpl->setVariable(
"TXT_CONFLICT_HANDLING", $lng->txt(
"conflict_handling"));
1251 $this->tpl->setVariable(
"TXT_CONFLICT_HANDLING_INFO", str_replace(
'\n',
'<br>',$this->lng->txt(
"usrimport_conflict_handling_info")));
1252 $this->tpl->setVariable(
"TXT_CONFLICT_CHOICE", $lng->txt(
"conflict_handling"));
1256 $this->lng->loadLanguageModule(
"mail");
1257 include_once
'./Services/User/classes/class.ilObjUserFolder.php';
1259 if (trim($amail[
"body"]) !=
"" && trim($amail[
"subject"]) !=
"")
1261 $this->tpl->setCurrentBlock(
"inform_user");
1262 $this->tpl->setVariable(
"TXT_ACCOUNT_MAIL", $lng->txt(
"mail_account_mail"));
1265 $this->tpl->setVariable(
"SEND_MAIL",
" checked=\"checked\"");
1267 $this->tpl->setVariable(
"TXT_INFORM_USER_MAIL",
1268 $this->lng->txt(
"user_send_new_account_mail"));
1269 $this->tpl->parseCurrentBlock();
1274 $this->form->setValuesByPost();
1275 $tpl->setContent($this->form->getHtml());
1287 if (
$_GET[
"baseClass"] ==
'ilRepositoryGUI')
1289 $this->tabs_gui->clearTargets();
1292 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
1293 include_once
'./Services/User/classes/class.ilUserImportParser.php';
1295 global $rbacreview, $rbacsystem,
$tree,
$lng;
1297 switch (
$_POST[
"conflict_handling_choice"])
1299 case "update_on_conflict" :
1302 case "ignore_on_conflict" :
1314 if (
$_POST[
"role_assign"])
1316 $global_roles = $rbacreview->getGlobalRoles();
1317 $roles_of_user = $rbacreview->assignedRoles($ilUser->getId());
1318 foreach (
$_POST[
"role_assign"] as $role_id)
1322 if (in_array($role_id, $global_roles))
1324 if(!in_array(SYSTEM_ROLE_ID,$roles_of_user))
1326 if ($role_id == SYSTEM_ROLE_ID && ! in_array(SYSTEM_ROLE_ID,$roles_of_user)
1332 $this->
ilias->raiseError($this->lng->txt(
"usrimport_with_specified_role_not_permitted"),
1333 $this->
ilias->error_obj->MESSAGE);
1339 $rolf = $rbacreview->getFoldersAssignedToRole($role_id,
true);
1340 if ($rbacreview->isDeleted($rolf[0])
1341 || ! $rbacsystem->checkAccess(
'write',$rolf[0]))
1344 $this->
ilias->raiseError($this->lng->txt(
"usrimport_with_specified_role_not_permitted"),
1345 $this->
ilias->error_obj->MESSAGE);
1353 $importParser->setRoleAssignment(
$_POST[
"role_assign"]);
1354 $importParser->startParsing();
1359 switch ($importParser->getErrorLevel())
1365 ilUtil::sendInfo($this->lng->txt(
"user_imported_with_warnings").$importParser->getProtocolAsHTML($lng->txt(
"import_warning_log")),
true);
1368 $this->
ilias->raiseError(
1369 $this->lng->txt(
"user_import_failed")
1370 .$importParser->getProtocolAsHTML($lng->txt(
"import_failure_log")),
1371 $this->
ilias->error_obj->MESSAGE
1376 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
1378 $this->ctrl->redirect($this,
"view");
1383 $this->ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
1390 global $rbacsystem,
$ilias;
1394 if (!$rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
1396 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->
ilias->error_obj->MESSAGE);
1399 if(!count($app_users =& $ilias->account->getAppliedUsers()))
1406 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.usr_applied_users.html",
"Services/User");
1407 $this->lng->loadLanguageModule(
'crs');
1410 foreach($app_users as $usr_id)
1415 $f_result[$counter][] = $tmp_user->getLogin();
1416 $f_result[$counter][] = $tmp_user->getFirstname();
1417 $f_result[$counter][] = $tmp_user->getLastname();
1419 if($tmp_user->getTimeLimitUnlimited())
1421 $f_result[$counter][] =
"<b>".$this->lng->txt(
'crs_unlimited').
"</b>";
1425 $limit =
"<b>".$this->lng->txt(
'crs_from').
'</b> '.strftime(
"%Y-%m-%d %R",$tmp_user->getTimeLimitFrom()).
'<br />';
1426 $limit .=
"<b>".$this->lng->txt(
'crs_to').
'</b> '.strftime(
"%Y-%m-%d %R",$tmp_user->getTimeLimitUntil());
1428 $f_result[$counter][] = $limit;
1442 if(!$rbacsystem->checkAccess(
"write", $this->ref_id))
1444 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->MESSAGE);
1447 $this->lng->loadLanguageModule(
'crs');
1451 if(!isset(
$_SESSION[
'error_post_vars']))
1453 ilUtil::sendInfo($this->lng->txt(
'time_limit_add_time_limit_for_selected'));
1456 if(!count(
$_POST[
"users"]))
1465 foreach(
$_POST[
'users'] as $usr_id)
1472 $title .= $tmp_user->getLogin();
1475 if(strlen($title) > 79)
1477 $title = substr($title,0,80);
1482 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.usr_edit_applied_users.html",
"Services/User");
1483 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
1486 $time_limit_unlimited =
$_SESSION[
"error_post_vars"][
"au"][
"time_limit_unlimited"] ?
1489 $time_limit_start =
$_SESSION[
"error_post_vars"][
"au"][
"time_limit_start"] ?
1492 $time_limit_end =
$_SESSION[
"error_post_vars"][
"au"][
"time_limit_end"] ?
1498 $this->tpl->setVariable(
"ALT_IMG",$this->lng->txt(
"obj_usr"));
1500 $this->tpl->setVariable(
"TITLE",$title);
1501 $this->tpl->setVariable(
"TXT_TIME_LIMIT",$this->lng->txt(
"time_limit"));
1502 $this->tpl->setVariable(
"TXT_TIME_LIMIT_START",$this->lng->txt(
"crs_start"));
1503 $this->tpl->setVariable(
"TXT_TIME_LIMIT_END",$this->lng->txt(
"crs_end"));
1504 $this->tpl->setVariable(
"CMD_SUBMIT",
"updateAppliedUsers");
1505 $this->tpl->setVariable(
"TXT_CANCEL",$this->lng->txt(
"cancel"));
1506 $this->tpl->setVariable(
"TXT_SUBMIT",$this->lng->txt(
"submit"));
1510 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_DAY",$this->
__getDateSelect(
"day",
"au[time_limit_start][day]",
1511 date(
"d",$time_limit_start)));
1512 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_MONTH",$this->
__getDateSelect(
"month",
"au[time_limit_start][month]",
1513 date(
"m",$time_limit_start)));
1514 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_YEAR",$this->
__getDateSelect(
"year",
"au[time_limit_start][year]",
1515 date(
"Y",$time_limit_start)));
1516 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_HOUR",$this->
__getDateSelect(
"hour",
"au[time_limit_start][hour]",
1517 date(
"G",$time_limit_start)));
1518 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_START_MINUTE",$this->
__getDateSelect(
"minute",
"au[time_limit_start][minute]",
1519 date(
"i",$time_limit_start)));
1520 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_DAY",$this->
__getDateSelect(
"day",
"au[time_limit_end][day]",
1521 date(
"d",$time_limit_end)));
1522 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_MONTH",$this->
__getDateSelect(
"month",
"au[time_limit_end][month]",
1523 date(
"m",$time_limit_end)));
1524 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_YEAR",$this->
__getDateSelect(
"year",
"au[time_limit_end][year]",
1525 date(
"Y",$time_limit_end)));
1526 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_HOUR",$this->
__getDateSelect(
"hour",
"au[time_limit_end][hour]",
1527 date(
"G",$time_limit_end)));
1528 $this->tpl->setVariable(
"SELECT_TIME_LIMIT_END_MINUTE",$this->
__getDateSelect(
"minute",
"au[time_limit_end][minute]",
1529 date(
"i",$time_limit_end)));
1530 if($this->
ilias->account->getTimeLimitUnlimited())
1532 $this->tpl->setVariable(
"ROWSPAN",3);
1533 $this->tpl->setCurrentBlock(
"unlimited");
1534 $this->tpl->setVariable(
"TXT_TIME_LIMIT_UNLIMITED",$this->lng->txt(
"crs_unlimited"));
1535 $this->tpl->setVariable(
"TIME_LIMIT_UNLIMITED",
ilUtil::formCheckbox($time_limit_unlimited,
"au[time_limit_unlimited]",1));
1536 $this->tpl->parseCurrentBlock();
1540 $this->tpl->setVariable(
"ROWSPAN",2);
1548 if(!$rbacsystem->checkAccess(
"write", $this->ref_id))
1550 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->
ilias->error_obj->MESSAGE);
1556 if(!
$_POST[
'au'][
'time_limit_unlimited'])
1567 #if(!$this->ilias->account->getTimeLimitUnlimited()) 1569 # if($start < $this->ilias->account->getTimeLimitFrom() or 1570 # $end > $this->ilias->account->getTimeLimitUntil()) 1572 # $_SESSION['error_post_vars'] = $_POST; 1573 # ilUtil::sendInfo($this->lng->txt('time_limit_not_within_owners')); 1574 # $this->editAppliedUsersObject(); 1580 foreach(
$_SESSION[
'applied_users'] as $usr_id)
1584 $tmp_user->setTimeLimitUnlimited((
int)
$_POST[
'au'][
'time_limit_unlimited']);
1585 $tmp_user->setTimeLimitFrom($start);
1586 $tmp_user->setTimeLimitUntil($end);
1587 $tmp_user->setTimeLimitMessage(0);
1588 $tmp_user->update();
1606 $tpl->setCurrentBlock(
"tbl_form_header");
1608 $tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
1609 $tpl->parseCurrentBlock();
1611 $tpl->setCurrentBlock(
"tbl_action_btn");
1612 $tpl->setVariable(
"BTN_NAME",
'editAppliedUsers');
1613 $tpl->setVariable(
"BTN_VALUE",$this->lng->txt(
'edit'));
1614 $tpl->parseCurrentBlock();
1616 $tpl->setCurrentBlock(
"tbl_action_row");
1617 $tpl->setVariable(
"COLUMN_COUNTS",5);
1619 $tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
1620 $tpl->parseCurrentBlock();
1624 $tbl->setTitle($this->lng->txt(
"time_limit_applied_users"),
"",$this->lng->txt(
"users"));
1625 $tbl->setHeaderNames(array(
'',
1626 $this->lng->txt(
"login"),
1627 $this->lng->txt(
"firstname"),
1628 $this->lng->txt(
"lastname"),
1629 $this->lng->txt(
"time_limits")));
1630 $header_params = $this->ctrl->getParameterArray($this,
"appliedUsers");
1631 $tbl->setHeaderVars(array(
"",
1636 array($header_params));
1637 $tbl->setColumnWidth(array(
"3%",
"19%",
"19%",
"19%",
"40%"));
1643 $this->tpl->setVariable(
"APPLIED_USERS",
$tbl->tpl->get());
1650 include_once
"./Services/Table/classes/class.ilTableGUI.php";
1657 $offset =
$_GET[
"offset"];
1658 $order =
$_GET[
"sort_by"];
1659 $direction =
$_GET[
"sort_order"];
1662 $tbl->setOrderColumn($order);
1663 $tbl->setOrderDirection($direction);
1664 $tbl->setOffset($offset);
1666 $tbl->setMaxCount(count($result_set));
1667 $tbl->setFooter(
"tblfooter",$this->lng->txt(
"previous"),$this->lng->txt(
"next"));
1668 $tbl->setData($result_set);
1676 for($i=0;$i<=60;$i++)
1678 $days[$i] = $i < 10 ?
"0".$i : $i;
1683 for($i=0;$i<24;$i++)
1685 $days[$i] = $i < 10 ?
"0".$i : $i;
1690 for($i=1;$i<32;$i++)
1692 $days[$i] = $i < 10 ?
"0".$i : $i;
1697 for($i=1;$i<13;$i++)
1699 $month[$i] = $i < 10 ?
"0".$i : $i;
1704 for($i = date(
"Y",time());$i < date(
"Y",time()) + 3;++$i)
1713 return mktime($a_time_arr[
"hour"],
1714 $a_time_arr[
"minute"],
1715 $a_time_arr[
"second"],
1716 $a_time_arr[
"month"],
1718 $a_time_arr[
"year"]);
1723 parent::hitsperpageObject();
1737 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
1740 $show_blocking_time_in_days = $ilSetting->get(
'loginname_change_blocking_time') / 86400;
1741 $show_blocking_time_in_days = (float)$show_blocking_time_in_days;
1743 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1746 $this->form->setValuesByArray(
1748 'lua' => $aset->isLocalUserAdministrationEnabled(),
1749 'lrua' => $aset->isUserAccessRestricted(),
1750 'allow_change_loginname' => (bool)$ilSetting->get(
'allow_change_loginname'),
1751 'create_history_loginname' => (bool)$ilSetting->get(
'create_history_loginname'),
1752 'reuse_of_loginnames' => (bool)$ilSetting->get(
'reuse_of_loginnames'),
1753 'loginname_change_blocking_time' => (float)$show_blocking_time_in_days,
1754 'user_adm_alpha_nav' => (
int)$ilSetting->get(
'user_adm_alpha_nav'),
1756 'user_reactivate_code' => (int)$ilSetting->get(
'user_reactivate_code'),
1757 'user_own_account' => (int)$ilSetting->get(
'user_delete_own_account'),
1758 'user_own_account_email' => $ilSetting->get(
'user_delete_own_account_email'),
1761 'session_reminder_enabled' => $ilSetting->get(
'session_reminder_enabled'),
1767 'passwd_auto_generate' => (bool)$ilSetting->get(
"passwd_auto_generate"),
1768 'password_change_on_first_login_enabled' => $security->isPasswordChangeOnFirstLoginEnabled() ? 1 : 0,
1769 'password_must_not_contain_loginame' => $security->getPasswordMustNotContainLoginnameStatus() ? 1 : 0,
1770 'password_chars_and_numbers_enabled' => $security->isPasswordCharsAndNumbersEnabled() ? 1 : 0,
1771 'password_special_chars_enabled' => $security->isPasswordSpecialCharsEnabled() ? 1 : 0 ,
1772 'password_min_length' => $security->getPasswordMinLength(),
1773 'password_max_length' => $security->getPasswordMaxLength(),
1774 'password_ucase_chars_num' => $security->getPasswordNumberOfUppercaseChars(),
1775 'password_lowercase_chars_num' => $security->getPasswordNumberOfLowercaseChars(),
1776 'password_max_age' => $security->getPasswordMaxAge(),
1778 'login_max_attempts' => $security->getLoginMaxAttempts(),
1779 'ps_prevent_simultaneous_logins' => (int)$security->isPreventionOfSimultaneousLoginsEnabled(),
1780 'password_assistance' => (bool)$ilSetting->get(
"password_assistance")
1784 $this->tpl->setContent($this->form->getHTML());
1797 if($this->form->checkInput())
1801 if(!strlen($this->form->getInput(
'loginname_change_blocking_time')))
1804 $this->form->getItemByPostVar(
'loginname_change_blocking_time')
1805 ->setAlert($this->lng->txt(
'loginname_change_blocking_time_invalidity_info'));
1808 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1812 $security->setPasswordCharsAndNumbersEnabled((
bool)
$_POST[
"password_chars_and_numbers_enabled"]);
1813 $security->setPasswordSpecialCharsEnabled((
bool) $_POST[
"password_special_chars_enabled"]);
1814 $security->setPasswordMinLength((
int) $_POST[
"password_min_length"]);
1815 $security->setPasswordMaxLength((
int) $_POST[
"password_max_length"]);
1816 $security->setPasswordNumberOfUppercaseChars((
int) $_POST[
'password_ucase_chars_num']);
1817 $security->setPasswordNumberOfLowercaseChars((
int) $_POST[
'password_lowercase_chars_num']);
1818 $security->setPasswordMaxAge((
int) $_POST[
"password_max_age"]);
1819 $security->setLoginMaxAttempts((
int) $_POST[
"login_max_attempts"]);
1820 $security->setPreventionOfSimultaneousLogins((
bool)$_POST[
'ps_prevent_simultaneous_logins']);
1821 $security->setPasswordChangeOnFirstLoginEnabled((
bool) $_POST[
'password_change_on_first_login_enabled']);
1822 $security->setPasswordMustNotContainLoginnameStatus((
int) $_POST[
'password_must_not_contain_loginame']);
1824 if(!$security->validate($this->form))
1833 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
1838 $ilSetting->set(
'allow_change_loginname', (
int)$this->form->getInput(
'allow_change_loginname'));
1839 $ilSetting->set(
'create_history_loginname', (
int)$this->form->getInput(
'create_history_loginname'));
1840 $ilSetting->set(
'reuse_of_loginnames', (
int)$this->form->getInput(
'reuse_of_loginnames'));
1841 $save_blocking_time_in_seconds = (int)($this->form->getInput(
'loginname_change_blocking_time') * 86400);
1842 $ilSetting->set(
'loginname_change_blocking_time', (
int)$save_blocking_time_in_seconds);
1843 $ilSetting->set(
'user_adm_alpha_nav', (
int)$this->form->getInput(
'user_adm_alpha_nav'));
1844 $ilSetting->set(
'user_reactivate_code', (
int)$this->form->getInput(
'user_reactivate_code'));
1846 $ilSetting->set(
'user_delete_own_account', (
int)$this->form->getInput(
'user_own_account'));
1847 $ilSetting->set(
'user_delete_own_account_email', $this->form->getInput(
'user_own_account_email'));
1849 $ilSetting->set(
"passwd_auto_generate", $this->form->getInput(
"passwd_auto_generate"));
1850 $ilSetting->set(
"password_assistance", $this->form->getInput(
"password_assistance"));
1853 $ilSetting->set(
'session_handling_type',
1854 (
int)$this->form->getInput(
'session_handling_type'));
1858 $ilSetting->set(
'session_reminder_enabled',
1859 $this->form->getInput(
'session_reminder_enabled'));
1863 require_once
'Services/Authentication/classes/class.ilSessionControl.php';
1865 $ilSetting->get(
'session_allow_client_maintenance',
1870 include_once
"Services/Authentication/classes/class.ilSessionStatistics.php";
1873 $ilSetting->set(
'session_max_count',
1874 (
int)$this->form->getInput(
'session_max_count'));
1875 $ilSetting->set(
'session_min_idle',
1876 (
int)$this->form->getInput(
'session_min_idle'));
1877 $ilSetting->set(
'session_max_idle',
1878 (
int)$this->form->getInput(
'session_max_idle'));
1879 $ilSetting->set(
'session_max_idle_after_first_request',
1880 (
int)$this->form->getInput(
'session_max_idle_after_first_request'));
1896 $this->form->setValuesByPost();
1897 $this->tpl->setContent($this->form->getHTML());
1910 $this->tabs_gui->setTabActive(
'settings');
1911 $this->tabs_gui->setSubTabActive(
'general_settings');
1913 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1915 $this->form->setFormAction($this->ctrl->getFormAction($this,
'saveGeneralSettings'));
1917 $this->form->setTitle($this->lng->txt(
'general_settings'));
1919 $lua =
new ilCheckboxInputGUI($this->lng->txt(
'enable_local_user_administration'),
'lua');
1920 $lua->
setInfo($this->lng->txt(
'enable_local_user_administration_info'));
1922 $this->form->addItem($lua);
1925 $lrua->
setInfo($this->lng->txt(
'restrict_user_access_info'));
1927 $this->form->addItem($lrua);
1930 $alph =
new ilCheckboxInputGUI($this->lng->txt(
'user_adm_enable_alpha_nav'),
'user_adm_alpha_nav');
1933 $this->form->addItem($alph);
1937 $code->setInfo($this->lng->txt(
'user_account_code_setting_info'));
1938 $this->form->addItem(
$code);
1941 $own =
new ilCheckboxInputGUI($this->lng->txt(
"user_allow_delete_own_account"),
"user_own_account");
1942 $this->form->addItem($own);
1943 $own_email =
new ilEMailInputGUI($this->lng->txt(
"user_delete_own_account_notification_email"),
"user_own_account_email");
1944 $own->addSubItem($own_email);
1956 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"session_reminder"),
"session_reminder_enabled");
1959 $cb->
setInfo($this->lng->txt(
"session_reminder_info").
"<br />".
1960 sprintf($this->lng->txt(
'session_reminder_session_duration'), $time));
1964 $ssettings->addOption($fixed);
1970 require_once(
'Services/Authentication/classes/class.ilSessionControl.php');
1974 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_max_count'),
'session_max_count');
1976 $sub_ti->setSize(5);
1977 $sub_ti->setInfo($this->lng->txt(
'session_max_count_info'));
1979 $sub_ti->setDisabled(
true);
1980 $ldsh->addSubItem($sub_ti);
1985 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_min_idle'),
'session_min_idle');
1987 $sub_ti->setSize(5);
1988 $sub_ti->setInfo($this->lng->txt(
'session_min_idle_info'));
1990 $sub_ti->setDisabled(
true);
1991 $ldsh->addSubItem($sub_ti);
1996 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_max_idle'),
'session_max_idle');
1998 $sub_ti->setSize(5);
1999 $sub_ti->setInfo($this->lng->txt(
'session_max_idle_info'));
2001 $sub_ti->setDisabled(
true);
2002 $ldsh->addSubItem($sub_ti);
2007 $this->lng->txt(
'session_max_idle_after_first_request'),
2008 'session_max_idle_after_first_request' 2011 $sub_ti->setSize(5);
2012 $sub_ti->setInfo($this->lng->txt(
'session_max_idle_after_first_request_info'));
2014 $sub_ti->setDisabled(
true);
2015 $ldsh->addSubItem($sub_ti);
2018 $ssettings->addOption($ldsh);
2025 $this->form->addItem($ssettings);
2032 $ti->
setValue($this->lng->txt(
'session_config_maintenance_disabled'));
2033 $ssettings->setDisabled(
true);
2034 $ti->addSubItem($ssettings);
2035 $this->form->addItem($ti);
2041 $this->lng->loadLanguageModule(
'ps');
2044 $pass->setTitle($this->lng->txt(
'ps_password_settings'));
2045 $this->form->addItem(
$pass);
2048 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"passwd_generation_pre"),
"passwd_auto_generate");
2049 $cb->setChecked($ilSetting->get(
"passwd_auto_generate"));
2050 $cb->
setInfo($this->lng->txt(
"passwd_generation_info"));
2051 $this->form->addItem($cb);
2053 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_change_on_first_login_enabled'),
'password_change_on_first_login_enabled');
2054 $check->
setInfo($this->lng->txt(
'ps_password_change_on_first_login_enabled_info'));
2055 $this->form->addItem($check);
2057 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
2059 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_must_not_contain_loginame'),
'password_must_not_contain_loginame');
2060 $check->
setInfo($this->lng->txt(
'ps_password_must_not_contain_loginame_info'));
2061 $this->form->addItem($check);
2063 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_chars_and_numbers_enabled'),
'password_chars_and_numbers_enabled');
2065 $check->
setInfo($this->lng->txt(
'ps_password_chars_and_numbers_enabled_info'));
2066 $this->form->addItem($check);
2068 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_special_chars_enabled'),
'password_special_chars_enabled');
2070 $check->
setInfo($this->lng->txt(
'ps_password_special_chars_enabled_info'));
2071 $this->form->addItem($check);
2074 $text->setInfo($this->lng->txt(
'ps_password_min_length_info'));
2076 $text->setMaxLength(2);
2077 $this->form->addItem(
$text);
2080 $text->setInfo($this->lng->txt(
'ps_password_max_length_info'));
2082 $text->setMaxLength(3);
2083 $this->form->addItem(
$text);
2085 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_password_uppercase_chars_num'),
'password_ucase_chars_num');
2086 $text->setInfo($this->lng->txt(
'ps_password_uppercase_chars_num_info'));
2087 $text->setMinValue(0);
2089 $text->setMaxLength(3);
2090 $this->form->addItem(
$text);
2092 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_password_lowercase_chars_num'),
'password_lowercase_chars_num');
2093 $text->setInfo($this->lng->txt(
'ps_password_lowercase_chars_num_info'));
2094 $text->setMinValue(0);
2096 $text->setMaxLength(3);
2097 $this->form->addItem(
$text);
2100 $text->setInfo($this->lng->txt(
'ps_password_max_age_info'));
2102 $text->setMaxLength(3);
2103 $this->form->addItem(
$text);
2106 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"enable_password_assistance"),
"password_assistance");
2107 $cb->
setInfo($this->lng->txt(
"password_assistance_info"));
2108 $this->form->addItem($cb);
2111 $pass->setTitle($this->lng->txt(
'ps_security_protection'));
2112 $this->form->addItem(
$pass);
2115 $text->setInfo($this->lng->txt(
'ps_login_max_attempts_info'));
2117 $text->setMaxLength(2);
2118 $this->form->addItem(
$text);
2121 $objCb =
new ilCheckboxInputGUI($this->lng->txt(
'ps_prevent_simultaneous_logins'),
'ps_prevent_simultaneous_logins');
2123 $objCb->setInfo($this->lng->txt(
'ps_prevent_simultaneous_logins_info'));
2124 $this->form->addItem($objCb);
2130 $log->setTitle($this->lng->txt(
'loginname_settings'));
2131 $this->form->addItem(
$log);
2133 $chbChangeLogin =
new ilCheckboxInputGUI($this->lng->txt(
'allow_change_loginname'),
'allow_change_loginname');
2135 $this->form->addItem($chbChangeLogin);
2136 $chbCreateHistory =
new ilCheckboxInputGUI($this->lng->txt(
'history_loginname'),
'create_history_loginname');
2137 $chbCreateHistory->
setInfo($this->lng->txt(
'loginname_history_info'));
2138 $chbCreateHistory->setValue(1);
2140 $chbChangeLogin->addSubItem($chbCreateHistory);
2141 $chbReuseLoginnames =
new ilCheckboxInputGUI($this->lng->txt(
'reuse_of_loginnames_contained_in_history'),
'reuse_of_loginnames');
2143 $chbReuseLoginnames->setInfo($this->lng->txt(
'reuse_of_loginnames_contained_in_history_info'));
2145 $chbChangeLogin->addSubItem($chbReuseLoginnames);
2146 $chbChangeBlockingTime =
new ilNumberInputGUI($this->lng->txt(
'loginname_change_blocking_time'),
'loginname_change_blocking_time');
2148 $chbChangeBlockingTime->setSuffix($this->lng->txt(
'days'));
2149 $chbChangeBlockingTime->setInfo($this->lng->txt(
'loginname_change_blocking_time_info'));
2150 $chbChangeBlockingTime->setSize(10);
2151 $chbChangeBlockingTime->setMaxLength(10);
2152 $chbChangeLogin->addSubItem($chbChangeBlockingTime);
2154 $this->form->addCommandButton(
'saveGeneralSettings', $this->lng->txt(
'save'));
2174 include_once
'Services/Search/classes/class.ilUserSearchOptions.php';
2175 $lng->loadLanguageModule(
"administration");
2176 $lng->loadLanguageModule(
"mail");
2178 $ilTabs->activateTab(
'settings');
2179 $ilTabs->activateSubTab(
'standard_fields');
2181 include_once(
"./Services/User/classes/class.ilUserFieldSettingsTableGUI.php");
2183 if($this->confirm_change)
$tab->setConfirmChange();
2184 $tpl->setContent(
$tab->getHTML());
2194 include_once
'Services/Search/classes/class.ilUserSearchOptions.php';
2195 include_once
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
2200 include_once(
"./Services/User/classes/class.ilUserProfile.php");
2202 $up->skipField(
"username");
2203 $field_properties = $up->getStandardFields();
2204 $profile_fields = array_keys($field_properties);
2207 foreach ($profile_fields as $field)
2209 if (
$_POST[
"chb"][
"required_".$field] &&
2210 !(
int)
$_POST[
'chb'][
'visib_reg_' . $field]
2221 $this->confirm_change = 1;
2227 $fixed_required_fields = array(
2234 "hits_per_page" => 0,
2236 "hide_own_online_status" => 0
2241 if ($privacy->enabledCourseExport() ==
true &&
2242 $privacy->courseConfirmationRequired() ==
true &&
2245 foreach ($profile_fields as $field)
2247 if (! $ilias->getSetting(
"usr_settings_course_export_" . $field) &&
$_POST[
"chb"][
"course_export_" . $field] ==
"1")
2249 #ilUtil::sendQuestion($this->lng->txt('confirm_message_course_export')); 2250 #$this->confirm_change = 1; 2251 #$this->settingsObject(); 2257 if($action ==
'save')
2259 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
2263 foreach ($profile_fields as $field)
2271 if (!
$_POST[
"chb"][
"visible_".$field] && !$field_properties[$field][
"visible_hide"])
2273 $ilias->setSetting(
"usr_settings_hide_".$field,
"1");
2277 $ilias->deleteSetting(
"usr_settings_hide_".$field);
2280 if (!
$_POST[
"chb"][
"changeable_" . $field] && !$field_properties[$field][
"changeable_hide"])
2282 $ilias->setSetting(
"usr_settings_disable_".$field,
"1");
2286 $ilias->deleteSetting(
"usr_settings_disable_".$field);
2290 if ((
int)
$_POST[
'chb'][
'visib_reg_' . $field] && !$field_properties[$field][
"visib_reg_hide"])
2292 $ilSetting->set(
'usr_settings_visib_reg_'.$field,
'1');
2296 $ilSetting->set(
'usr_settings_visib_reg_'.$field,
'0');
2299 if ((
int)
$_POST[
'chb'][
'visib_lua_' . $field])
2302 $ilSetting->set(
'usr_settings_visib_lua_'.$field,
'1');
2306 $ilSetting->set(
'usr_settings_visib_lua_'.$field,
'0');
2309 if ((
int)
$_POST[
'chb'][
'changeable_lua_' . $field])
2312 $ilSetting->set(
'usr_settings_changeable_lua_'.$field,
'1');
2316 $ilSetting->set(
'usr_settings_changeable_lua_'.$field,
'0');
2319 if (
$_POST[
"chb"][
"export_" . $field] && !$field_properties[$field][
"export_hide"])
2321 $ilias->setSetting(
"usr_settings_export_".$field,
"1");
2325 $ilias->deleteSetting(
"usr_settings_export_".$field);
2329 if (
$_POST[
"chb"][
"course_export_" . $field] && !$field_properties[$field][
"course_export_hide"])
2331 $ilias->setSetting(
"usr_settings_course_export_".$field,
"1");
2335 $ilias->deleteSetting(
"usr_settings_course_export_".$field);
2339 if (
$_POST[
"chb"][
"group_export_" . $field] && !$field_properties[$field][
"group_export_hide"])
2341 $ilias->setSetting(
"usr_settings_group_export_".$field,
"1");
2345 $ilias->deleteSetting(
"usr_settings_group_export_".$field);
2348 $is_fixed = array_key_exists($field, $fixed_required_fields);
2349 if ($is_fixed && $fixed_required_fields[$field] || ! $is_fixed &&
$_POST[
"chb"][
"required_".$field])
2351 $ilias->setSetting(
"require_".$field,
"1");
2355 $ilias->deleteSetting(
"require_" . $field);
2359 if (
$_POST[
"select"][
"default_hits_per_page"])
2361 $ilias->setSetting(
"hits_per_page",
$_POST[
"select"][
"default_hits_per_page"]);
2369 if (
$_POST[
"chb"][
"export_preferences"])
2371 $ilias->setSetting(
"usr_settings_export_preferences",
$_POST[
"chb"][
"export_preferences"]);
2373 $ilias->deleteSetting(
"usr_settings_export_preferences");
2376 $ilias->setSetting(
'mail_incoming_mail', (
int)
$_POST[
'select'][
'default_mail_incoming_mail']);
2388 $action[-1] = $this->lng->txt(
'all_users');
2389 $action[1] = $this->lng->txt(
'usr_active_only');
2390 $action[0] = $this->lng->txt(
'usr_inactive_only');
2391 $action[2] = $this->lng->txt(
'usr_limited_access_only');
2392 $action[3] = $this->lng->txt(
'usr_without_courses');
2393 $action[4] = $this->lng->txt(
'usr_filter_lastlogin');
2394 $action[5] = $this->lng->txt(
"usr_filter_coursemember");
2395 $action[6] = $this->lng->txt(
"usr_filter_groupmember");
2396 $action[7] = $this->lng->txt(
"usr_filter_role");
2409 if(!isset(
$_POST[
"file"]))
2411 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
2414 if (count(
$_POST[
"file"]) > 1)
2416 $this->
ilias->raiseError($this->lng->txt(
"select_max_one_item"),$this->
ilias->error_obj->MESSAGE);
2421 $export_dir = $this->
object->getExportDirectory();
2430 if(!isset(
$_POST[
"file"]))
2432 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
2436 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
2438 $cgui->setFormAction($this->ctrl->getFormAction($this));
2439 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
2440 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDeleteExportFile");
2441 $cgui->setConfirm($this->lng->txt(
"confirm"),
"deleteExportFile");
2446 $cgui->addItem(
"file[]", $file, $file,
ilObject::_getIcon($this->object->getId()), $this->lng->txt(
"obj_usrf"));
2449 $this->tpl->setContent($cgui->getHTML());
2458 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2467 $export_dir = $this->
object->getExportDirectory();
2470 $file = basename($file);
2472 $exp_file = $export_dir.
"/".
$file;
2473 if (@is_file($exp_file))
2478 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2495 if (
$_POST[
"cmd"][
"export"])
2497 $this->
object->buildExportFile(
$_POST[
"export_type"]);
2498 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2502 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.usr_export.html',
'Services/User');
2504 $export_types = array(
2505 "userfolder_export_excel_x86",
2506 "userfolder_export_csv",
2507 "userfolder_export_xml" 2511 include_once(
"./Services/Table/classes/class.ilTableGUI.php");
2515 $this->tpl->addBlockfile(
"EXPORT_FILES",
"export_files",
"tpl.table.html");
2518 $this->tpl->addBlockfile(
"TBL_CONTENT",
"tbl_content",
"tpl.usr_export_file_row.html",
"Services/User");
2522 $tbl->setTitle($this->lng->txt(
"userfolder_export_files"));
2524 $tbl->setHeaderNames(array(
"", $this->lng->txt(
"userfolder_export_file"),
2525 $this->lng->txt(
"userfolder_export_file_size"), $this->lng->txt(
"date") ));
2526 $tbl->setHeaderVars(array(), $ilCtrl->getParameterArray($this,
"export"));
2528 $tbl->enabled[
"sort"] =
false;
2529 $tbl->setColumnWidth(array(
"1%",
"49%",
"25%",
"25%"));
2533 $tbl->setOrderDirection(
$_GET[
"sort_order"]);
2536 $tbl->setMaxCount($this->maxcount);
2539 $this->tpl->setVariable(
"COLUMN_COUNTS", 4);
2543 $this->tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
2544 $this->tpl->setCurrentBlock(
"tbl_action_btn");
2545 $this->tpl->setVariable(
"BTN_NAME",
"confirmDeleteExportFile");
2546 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"delete"));
2547 $this->tpl->parseCurrentBlock();
2549 $this->tpl->setCurrentBlock(
"tbl_action_btn");
2550 $this->tpl->setVariable(
"BTN_NAME",
"downloadExportFile");
2551 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"download"));
2552 $this->tpl->parseCurrentBlock();
2555 $tbl->setFooter(
"tblfooter",$this->lng->txt(
"previous"),$this->lng->txt(
"next"));
2558 $export_files = $this->
object->getExportFiles();
2560 $tbl->setMaxCount(count($export_files));
2561 $export_files = array_slice($export_files,
$_GET[
"offset"],
$_GET[
"limit"]);
2565 if(count($export_files) > 0)
2568 foreach($export_files as $exp_file)
2570 $this->tpl->setCurrentBlock(
"tbl_content");
2571 $this->tpl->setVariable(
"TXT_FILENAME", $exp_file[
"filename"]);
2574 $this->tpl->setVariable(
"CSS_ROW", $css_row);
2576 $this->tpl->setVariable(
"TXT_SIZE", $exp_file[
"filesize"]);
2577 $this->tpl->setVariable(
"CHECKBOX_ID", $exp_file[
"filename"]);
2579 $file_arr = explode(
"__", $exp_file[
"filename"]);
2582 $this->tpl->parseCurrentBlock();
2585 $this->tpl->setCurrentBlock(
"selectall");
2586 $this->tpl->setVariable(
"SELECT_ALL", $this->lng->txt(
"select_all"));
2587 $this->tpl->setVariable(
"CSS_ROW", $css_row);
2588 $this->tpl->parseCurrentBlock();
2601 $this->tpl->parseCurrentBlock();
2604 foreach ($export_types as $export_type)
2606 $this->tpl->setCurrentBlock(
"option");
2607 $this->tpl->setVariable(
"OPTION_VALUE", $export_type);
2608 $this->tpl->setVariable(
"OPTION_TEXT", $this->lng->txt($export_type));
2609 $this->tpl->parseCurrentBlock();
2612 $this->tpl->setVariable(
"EXPORT_BUTTON", $this->lng->txt(
"create_export_file"));
2613 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
2620 $lng->loadLanguageModule(
"meta");
2621 $lng->loadLanguageModule(
"mail");
2623 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2625 $form->setFormAction($ilCtrl->getFormAction($this));
2628 $form->setTitle($lng->txt(
"user_new_account_mail"));
2629 $form->setDescription($lng->txt(
"user_new_account_mail_desc"));
2631 $langs = $lng->getInstalledLanguages();
2632 foreach($langs as $lang_key)
2634 $amail = $this->
object->_lookupNewAccountMail($lang_key);
2636 $title = $lng->txt(
"meta_l_".$lang_key);
2637 if ($lang_key == $lng->getDefaultLanguage())
2639 $title .=
" (".$lng->txt(
"default").
")";
2646 $subj =
new ilTextInputGUI($lng->txt(
"subject"),
"subject_".$lang_key);
2648 $subj->
setValue($amail[
"subject"]);
2649 $form->addItem($subj);
2651 $salg =
new ilTextInputGUI($lng->txt(
"mail_salutation_general"),
"sal_g_".$lang_key);
2654 $form->addItem($salg);
2656 $salf =
new ilTextInputGUI($lng->txt(
"mail_salutation_female"),
"sal_f_".$lang_key);
2659 $form->addItem($salf);
2661 $salm =
new ilTextInputGUI($lng->txt(
"mail_salutation_male"),
"sal_m_".$lang_key);
2664 $form->addItem($salm);
2670 $body->setCols(100);
2671 $form->addItem($body);
2673 $att =
new ilFileInputGUI($lng->txt(
"attachment"),
"att_".$lang_key);
2674 $att->setAllowDeletion(
true);
2675 if($amail[
"att_file"])
2677 $att->
setValue($amail[
"att_file"]);
2679 $form->addItem($att);
2682 $form->addCommandButton(
"saveNewAccountMail", $lng->txt(
"save"));
2683 $form->addCommandButton(
"cancelNewAccountMail", $lng->txt(
"cancel"));
2696 $this->tabs_gui->setTabActive(
'settings');
2697 $this->tabs_gui->setSubTabActive(
'user_new_account_mail');
2701 $ftpl =
new ilTemplate(
'tpl.usrf_new_account_mail.html',
true,
true,
'Services/User');
2702 $ftpl->setVariable(
"FORM", $form->getHTML());
2706 $ftpl->setVariable(
"TXT_USE_PLACEHOLDERS", $lng->txt(
"mail_nacc_use_placeholder"));
2707 $ftpl->setVariable(
"TXT_MAIL_SALUTATION", $lng->txt(
"mail_nacc_salutation"));
2708 $ftpl->setVariable(
"TXT_FIRST_NAME", $lng->txt(
"firstname"));
2709 $ftpl->setVariable(
"TXT_LAST_NAME", $lng->txt(
"lastname"));
2710 $ftpl->setVariable(
"TXT_EMAIL", $lng->txt(
"email"));
2711 $ftpl->setVariable(
"TXT_LOGIN", $lng->txt(
"mail_nacc_login"));
2712 $ftpl->setVariable(
"TXT_PASSWORD", $lng->txt(
"password"));
2713 $ftpl->setVariable(
"TXT_PASSWORD_BLOCK", $lng->txt(
"mail_nacc_pw_block"));
2714 $ftpl->setVariable(
"TXT_NOPASSWORD_BLOCK", $lng->txt(
"mail_nacc_no_pw_block"));
2715 $ftpl->setVariable(
"TXT_ADMIN_MAIL", $lng->txt(
"mail_nacc_admin_mail"));
2716 $ftpl->setVariable(
"TXT_ILIAS_URL", $lng->txt(
"mail_nacc_ilias_url"));
2717 $ftpl->setVariable(
"TXT_CLIENT_NAME", $lng->txt(
"mail_nacc_client_name"));
2718 $ftpl->setVariable(
"TXT_TARGET", $lng->txt(
"mail_nacc_target"));
2719 $ftpl->setVariable(
"TXT_TARGET_TITLE", $lng->txt(
"mail_nacc_target_title"));
2720 $ftpl->setVariable(
"TXT_TARGET_TYPE", $lng->txt(
"mail_nacc_target_type"));
2721 $ftpl->setVariable(
"TXT_TARGET_BLOCK", $lng->txt(
"mail_nacc_target_block"));
2722 $ftpl->setVariable(
"TXT_IF_TIMELIMIT", $lng->txt(
"mail_nacc_if_timelimit"));
2723 $ftpl->setVariable(
"TXT_TIMELIMIT", $lng->txt(
"mail_nacc_timelimit"));
2725 $this->tpl->setContent($ftpl->get());
2730 $this->ctrl->redirect($this,
"settings");
2737 $langs = $lng->getInstalledLanguages();
2738 foreach($langs as $lang_key)
2740 $this->
object->_writeNewAccountMail($lang_key,
2747 if($_FILES[
"att_".$lang_key][
"tmp_name"])
2749 $this->
object->_updateAccountMailAttachment($lang_key,
2750 $_FILES[
"att_".$lang_key][
"tmp_name"],
2751 $_FILES[
"att_".$lang_key][
"name"]);
2754 if (
$_POST[
"att_".$lang_key.
"_delete"])
2756 $this->
object->_deleteAccountMailAttachment($lang_key);
2761 $this->ctrl->redirect($this,
"newAccountMail");
2776 include_once
'Services/Tracking/classes/class.ilObjUserTracking.php';
2780 if ($rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
2782 $tabs_gui->addTarget(
"usrf",
2783 $this->ctrl->getLinkTarget($this,
"view"), array(
"view",
"delete",
"resetFilter",
"userAction",
""),
"",
"");
2785 $tabs_gui->addTarget(
2786 "search_user_extended",
2787 $this->ctrl->getLinkTargetByClass(
'ilRepositorySearchGUI',
''),
2789 "ilrepositorysearchgui",
2794 if ($rbacsystem->checkAccess(
"write",$this->object->getRefId()))
2796 $tabs_gui->addTarget(
"settings",
2797 $this->ctrl->getLinkTarget($this,
"generalSettings"),array(
'settings',
'generalSettings',
'listUserDefinedField',
'newAccountMail'));
2799 $tabs_gui->addTarget(
"export",
2800 $this->ctrl->getLinkTarget($this,
"export"),
"export",
"",
"");
2812 if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
2814 $tabs_gui->addTarget(
"perm_settings",
2815 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"),
2816 array(
"perm",
"info",
"owner"),
'ilpermissiongui');
2831 $this->tabs_gui->addSubTabTarget(
2833 $this->ctrl->getLinkTarget($this,
'generalSettings'),
'generalSettings', get_class($this));
2834 $this->tabs_gui->addSubTabTarget(
"standard_fields",
2835 $this->ctrl->getLinkTarget($this,
'settings'),
2836 array(
"settings",
"saveGlobalUserSettings"), get_class($this));
2837 $this->tabs_gui->addSubTabTarget(
"user_defined_fields",
2838 $this->ctrl->getLinkTargetByClass(
"ilcustomuserfieldsgui",
"listUserDefinedFields"),
2839 "listUserDefinedFields",get_class($this));
2840 $this->tabs_gui->addSubTabTarget(
"user_new_account_mail",
2841 $this->ctrl->getLinkTarget($this,
'newAccountMail'),
2842 "newAccountMail",get_class($this));
2843 #$this->tabs_gui->addSubTab("account_codes", $this->lng->txt("user_account_codes"), 2844 # $this->ctrl->getLinkTargetByClass("ilaccountcodesgui")); 2853 $show_blocking_time_in_days = (int)$ilSetting->get(
'loginname_change_blocking_time') / 86400;
2856 $this->loginSettingsForm->setValuesByArray(array(
2857 'allow_change_loginname' => (
bool)$ilSetting->get(
'allow_change_loginname'),
2858 'create_history_loginname' => (bool)$ilSetting->get(
'create_history_loginname'),
2859 'reuse_of_loginnames' => (bool)$ilSetting->get(
'reuse_of_loginnames'),
2860 'loginname_change_blocking_time' => (float)$show_blocking_time_in_days
2863 $this->tpl->setVariable(
'ADM_CONTENT', $this->loginSettingsForm->getHTML());
2869 $this->tabs_gui->setTabActive(
'settings');
2870 $this->tabs_gui->setSubTabActive(
'loginname_settings');
2872 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2874 $this->loginSettingsForm->
setFormAction($this->ctrl->getFormAction($this,
'saveLoginnameSettings'));
2875 $this->loginSettingsForm->setTitle($this->lng->txt(
'loginname_settings'));
2877 $chbChangeLogin =
new ilCheckboxInputGUI($this->lng->txt(
'allow_change_loginname'),
'allow_change_loginname');
2879 $this->loginSettingsForm->addItem($chbChangeLogin);
2880 $chbCreateHistory =
new ilCheckboxInputGUI($this->lng->txt(
'history_loginname'),
'create_history_loginname');
2881 $chbCreateHistory->
setInfo($this->lng->txt(
'loginname_history_info'));
2882 $chbCreateHistory->setValue(1);
2883 $chbChangeLogin->addSubItem($chbCreateHistory);
2884 $chbReuseLoginnames =
new ilCheckboxInputGUI($this->lng->txt(
'reuse_of_loginnames_contained_in_history'),
'reuse_of_loginnames');
2886 $chbReuseLoginnames->setInfo($this->lng->txt(
'reuse_of_loginnames_contained_in_history_info'));
2887 $chbChangeLogin->addSubItem($chbReuseLoginnames);
2888 $chbChangeBlockingTime =
new ilNumberInputGUI($this->lng->txt(
'loginname_change_blocking_time'),
'loginname_change_blocking_time');
2890 $chbChangeBlockingTime->setSuffix($this->lng->txt(
'days'));
2891 $chbChangeBlockingTime->setInfo($this->lng->txt(
'loginname_change_blocking_time_info'));
2892 $chbChangeBlockingTime->setSize(10);
2893 $chbChangeBlockingTime->setMaxLength(10);
2894 $chbChangeLogin->addSubItem($chbChangeBlockingTime);
2896 $this->loginSettingsForm->addCommandButton(
'saveLoginnameSettings', $this->lng->txt(
'save'));
2904 if($this->loginSettingsForm->checkInput())
2908 if(!strlen($this->loginSettingsForm->getInput(
'loginname_change_blocking_time')))
2911 $this->loginSettingsForm->getItemByPostVar(
'loginname_change_blocking_time')
2912 ->setAlert($this->lng->txt(
'loginname_change_blocking_time_invalidity_info'));
2917 $save_blocking_time_in_seconds = (int)$this->loginSettingsForm->getInput(
'loginname_change_blocking_time') * 86400;
2919 $ilSetting->set(
'allow_change_loginname', (
int)$this->loginSettingsForm->getInput(
'allow_change_loginname'));
2920 $ilSetting->set(
'create_history_loginname', (
int)$this->loginSettingsForm->getInput(
'create_history_loginname'));
2921 $ilSetting->set(
'reuse_of_loginnames', (
int)$this->loginSettingsForm->getInput(
'reuse_of_loginnames'));
2922 $ilSetting->set(
'loginname_change_blocking_time', (
int)$save_blocking_time_in_seconds);
2935 $this->loginSettingsForm->setValuesByPost();
2937 $this->tpl->setVariable(
'ADM_CONTENT', $this->loginSettingsForm->getHTML());
2949 if ($ilAccess->checkAccess(
"read",
"", $a_target))
2951 ilUtil::redirect(
"ilias.php?baseClass=ilAdministrationGUI&ref_id=".$a_target.
"&jmpToUser=".$a_user);
2956 if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
2963 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
2975 $ilCtrl->setParameterByClass(
"ilobjusergui",
"obj_id", (
int) $_GET[
"jmpToUser"]);
2976 $ilCtrl->redirectByClass(
"ilobjusergui",
"view");
2985 if(!count((array) $a_usr_ids))
2991 $_POST[
'id'] = $a_usr_ids;
2994 if(stristr($a_cmd,
"export"))
2996 $cmd = $a_cmd.
"Object";
2997 return $this->
$cmd();
3000 $_POST[
'selectedAction'] = $a_cmd;
3012 'activate' => $this->lng->txt(
'activate'),
3013 'deactivate' => $this->lng->txt(
'deactivate'),
3014 'accessRestrict' => $this->lng->txt(
'accessRestrict'),
3015 'accessFree' => $this->lng->txt(
'accessFree')
3018 if ($rbacsystem->checkAccess(
'delete', $this->object->getRefId()))
3020 $cmds[
"delete"] = $this->lng->txt(
"delete");
3027 'activateUsers' => $this->lng->txt(
'activate'),
3028 'deactivateUsers' => $this->lng->txt(
'deactivate'),
3029 'restrictAccess' => $this->lng->txt(
'accessRestrict'),
3030 'freeAccess' => $this->lng->txt(
'accessFree')
3033 if ($rbacsystem->checkAccess(
'delete', $this->object->getRefId()))
3035 $cmds[
"deleteUsers"] = $this->lng->txt(
"delete");
3040 $export_types = array(
"userfolder_export_excel_x86",
"userfolder_export_csv",
"userfolder_export_xml");
3041 foreach ($export_types as $type)
3043 $cmd = explode(
"_", $type);
3045 $cmds[
'usrExport'.ucfirst(
$cmd)] = $this->lng->txt(
'export').
' - '.
3046 $this->lng->txt($type);
3050 include_once
"Services/Mail/classes/class.ilMail.php";
3051 $mail =
new ilMail($ilUser->getId());
3052 if($rbacsystem->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId()))
3054 $cmds[
"mail"] = $this->lng->txt(
"send_mail");
3068 $this->
object->buildExportFile(
"userfolder_export_excel_x86", $user_ids);
3069 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
3080 $this->
object->buildExportFile(
"userfolder_export_csv", $user_ids);
3081 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
3092 $this->
object->buildExportFile(
"userfolder_export_xml", $user_ids);
3093 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
3108 include_once
"Services/Contact/classes/class.ilMailingLists.php";
3110 $list->deleteTemporaryLists();
3113 include_once
"Services/Contact/classes/class.ilMailingList.php";
3116 $list->setTitle(
"-TEMPORARY SYSTEM LIST-");
3117 $list->setDescription(
"-USER ACCOUNTS MAIL-");
3118 $list->setCreateDate(date(
"Y-m-d H:i:s"));
3120 $list_id = $list->getId();
3123 foreach($user_ids as $user_id)
3125 $list->assignUser($user_id);
3128 include_once
"Services/Mail/classes/class.ilFormatMail.php";
3132 if(!is_array($mail_data))
3134 $mail_data = array(
"user_id" => $ilUser->getId());
3141 $mail_data[
'user_id'],
3142 $mail_data[
'attachments'],
3144 $mail_data[
'rcp_cc'],
3145 $mail_data[
'rcp_bcc'],
3146 $mail_data[
'm_type'],
3147 $mail_data[
'm_email'],
3148 $mail_data[
'm_subject'],
3149 $mail_data[
'm_message'],
3150 $mail_data[
'use_placeholders'],
3151 $mail_data[
'tpl_ctx_id'],
3152 $mail_data[
'tpl_ctx_params']
3155 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
3162 'type' =>
'search_res' 3174 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
3184 'ps_password_min_length' => (
int)$security->getPasswordMinLength(),
3185 'ps_password_max_length' => (int)$security->getPasswordMaxLength(),
3186 'ps_password_uppercase_chars_num' => (int)$security->getPasswordNumberOfUppercaseChars(),
3187 'ps_password_lowercase_chars_num' => (int)$security->getPasswordNumberOfLowercaseChars(),
3188 'ps_password_max_age' => (int)$security->getPasswordMaxAge()
3190 $fields[
'ps_password_settings'] = array(null, null, $subitems);
3193 'ps_login_max_attempts' => (
int)$security->getLoginMaxAttempts(),
3196 $fields[
'ps_security_protection'] = array(null, null, $subitems);
3198 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 _getIcon($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
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
static _goto($a_user)
goto target group
confirmdeleteObject()
confirm delete Object
cancelSearchActionObject()
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
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
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, $a_tpl_context_id=null, $a_tpl_ctx_params=array())
save post data in table 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.