4 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
27 function __construct($a_data,$a_id,$a_call_by_reference, $a_prepare_output =
true)
32 define(
'USER_FOLDER_ID',7);
35 parent::__construct($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);
249 if(($_REQUEST[
'fetchall']))
254 echo $auto->getList($_REQUEST[
'term']);
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 require_once
'Services/Mail/classes/Address/Type/class.ilMailRoleAddressType.php';
1132 foreach($roles as $role_id => $role)
1134 if ($role[
"type"] ==
"Local")
1136 $searchName = (substr($role[
'name'],0,1) ==
'#') ? $role[
'name'] :
'#'.$role[
'name'];
1137 $matching_role_ids = ilMailRoleAddressType::searchRolesByMailboxAddressList($searchName);
1138 foreach ($matching_role_ids as $mid) {
1139 if (! in_array($mid, $loc_roles)) {
1140 $loc_roles[] = $mid;
1149 $loc_roles = $rbacreview->getAssignableRolesInSubtree($this->
object->getRefId());
1154 $l_roles_mailbox_searcharray =
array();
1155 require_once
'Services/Mail/classes/Address/Type/class.ilMailRoleAddressType.php';
1156 foreach ($loc_roles as $key => $loc_role)
1159 $rolf = $rbacreview->getFoldersAssignedToRole($loc_role,
true);
1166 !$rbacreview->isDeleted($rolf[0]) &&
1167 $rbacsystem->checkAccess(
'write',$rolf[0]) &&
1168 $rolf[0] != ROLE_FOLDER_ID
1181 $path_array =
array();
1182 if ($this->tree->isInTree($rolf[0]))
1186 $tmpPath = $this->tree->getPathFull($rolf[0]);
1187 $tmpPath[] = $rolf[0];
1189 for ($i = 1,
$n = count($tmpPath) - 1; $i <
$n; $i++)
1191 if ($i < 3 || $i > $n - 3)
1193 $path_array[] = $tmpPath[$i][
'title'];
1195 else if ($i == 3 || $i == $n - 3)
1197 $path_array[] =
'...';
1200 $isInSubtree |= $tmpPath[$i][
'obj_id'] == $this->
object->getId();
1203 $path = implode(
" < ", array_reverse($path_array));
1208 $path =
"<b>Rolefolder ".$rolf[0].
" not found in tree! (Role ".$loc_role.
")</b>";
1210 $roleMailboxAddress = ilMailRoleAddressType::getRoleMailboxAddress($loc_role);
1211 $l_roles[$loc_role] = $roleMailboxAddress.
', '.
$path;
1216 natcasesort($l_roles);
1217 $l_roles[
""] = $this->lng->txt(
"usrimport_ignore_role");
1218 require_once
'Services/Mail/classes/Address/Type/class.ilMailRoleAddressType.php';
1219 foreach($roles as $role_id => $role)
1221 if ($role[
"type"] ==
"Local")
1223 $this->tpl->setCurrentBlock(
"local_role");
1224 $this->tpl->setVariable(
"TXT_IMPORT_LOCAL_ROLE", $role[
"name"]);
1225 $searchName = (substr($role[
'name'],0,1) ==
'#') ? $role[
'name'] :
'#'.$role[
'name'];
1226 $matching_role_ids = ilMailRoleAddressType::searchRolesByMailboxAddressList($searchName);
1227 $pre_select = count($matching_role_ids) == 1 ? $matching_role_ids[0] :
"";
1232 $selectable_roles =
array();
1233 $selectable_roles[
""] = $this->lng->txt(
"usrimport_ignore_role");
1234 foreach ($matching_role_ids as $id)
1236 $selectable_roles[$id] = $l_roles[$id];
1238 $role_select =
ilUtil::formSelect($pre_select,
"role_assign[".$role_id.
"]", $selectable_roles,
false,
true);
1240 $role_select =
ilUtil::formSelect($pre_select,
"role_assign[".$role_id.
"]", $l_roles,
false,
true);
1242 $this->tpl->setVariable(
"SELECT_LOCAL_ROLE", $role_select);
1243 $this->tpl->parseCurrentBlock();
1249 $this->tpl->setVariable(
"TXT_CONFLICT_HANDLING", $lng->txt(
"conflict_handling"));
1254 $this->tpl->setVariable(
"TXT_CONFLICT_HANDLING_INFO", str_replace(
'\n',
'<br>',$this->lng->txt(
"usrimport_conflict_handling_info")));
1255 $this->tpl->setVariable(
"TXT_CONFLICT_CHOICE", $lng->txt(
"conflict_handling"));
1259 $this->lng->loadLanguageModule(
"mail");
1260 include_once
'./Services/User/classes/class.ilObjUserFolder.php';
1262 if (trim($amail[
"body"]) !=
"" && trim($amail[
"subject"]) !=
"")
1264 $this->tpl->setCurrentBlock(
"inform_user");
1265 $this->tpl->setVariable(
"TXT_ACCOUNT_MAIL", $lng->txt(
"mail_account_mail"));
1268 $this->tpl->setVariable(
"SEND_MAIL",
" checked=\"checked\"");
1270 $this->tpl->setVariable(
"TXT_INFORM_USER_MAIL",
1271 $this->lng->txt(
"user_send_new_account_mail"));
1272 $this->tpl->parseCurrentBlock();
1277 $this->form->setValuesByPost();
1278 $tpl->setContent($this->form->getHtml());
1290 if (
$_GET[
"baseClass"] ==
'ilRepositoryGUI')
1292 $this->tabs_gui->clearTargets();
1295 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
1296 include_once
'./Services/User/classes/class.ilUserImportParser.php';
1298 global $rbacreview, $rbacsystem,
$tree,
$lng;
1300 switch (
$_POST[
"conflict_handling_choice"])
1302 case "update_on_conflict" :
1305 case "ignore_on_conflict" :
1317 if (
$_POST[
"role_assign"])
1319 $global_roles = $rbacreview->getGlobalRoles();
1320 $roles_of_user = $rbacreview->assignedRoles($ilUser->getId());
1321 foreach (
$_POST[
"role_assign"] as $role_id)
1325 if (in_array($role_id, $global_roles))
1327 if(!in_array(SYSTEM_ROLE_ID,$roles_of_user))
1329 if ($role_id == SYSTEM_ROLE_ID && ! in_array(SYSTEM_ROLE_ID,$roles_of_user)
1335 $this->
ilias->raiseError($this->lng->txt(
"usrimport_with_specified_role_not_permitted"),
1336 $this->
ilias->error_obj->MESSAGE);
1342 $rolf = $rbacreview->getFoldersAssignedToRole($role_id,
true);
1343 if ($rbacreview->isDeleted($rolf[0])
1344 || ! $rbacsystem->checkAccess(
'write',$rolf[0]))
1347 $this->
ilias->raiseError($this->lng->txt(
"usrimport_with_specified_role_not_permitted"),
1348 $this->
ilias->error_obj->MESSAGE);
1356 $importParser->setRoleAssignment(
$_POST[
"role_assign"]);
1357 $importParser->startParsing();
1362 switch ($importParser->getErrorLevel())
1368 ilUtil::sendInfo($this->lng->txt(
"user_imported_with_warnings").$importParser->getProtocolAsHTML($lng->txt(
"import_warning_log")),
true);
1371 $this->
ilias->raiseError(
1372 $this->lng->txt(
"user_import_failed")
1373 .$importParser->getProtocolAsHTML($lng->txt(
"import_failure_log")),
1374 $this->
ilias->error_obj->MESSAGE
1379 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
1381 $this->ctrl->redirect($this,
"view");
1386 $this->ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
1392 parent::hitsperpageObject();
1406 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
1409 $show_blocking_time_in_days = $ilSetting->get(
'loginname_change_blocking_time') / 86400;
1410 $show_blocking_time_in_days = (float)$show_blocking_time_in_days;
1412 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1415 $this->form->setValuesByArray(
1417 'lua' => $aset->isLocalUserAdministrationEnabled(),
1418 'lrua' => $aset->isUserAccessRestricted(),
1419 'allow_change_loginname' => (bool)$ilSetting->get(
'allow_change_loginname'),
1420 'create_history_loginname' => (bool)$ilSetting->get(
'create_history_loginname'),
1421 'reuse_of_loginnames' => (bool)$ilSetting->get(
'reuse_of_loginnames'),
1422 'loginname_change_blocking_time' => (float)$show_blocking_time_in_days,
1423 'user_adm_alpha_nav' => (
int)$ilSetting->get(
'user_adm_alpha_nav'),
1425 'user_reactivate_code' => (int)$ilSetting->get(
'user_reactivate_code'),
1426 'user_own_account' => (int)$ilSetting->get(
'user_delete_own_account'),
1427 'user_own_account_email' => $ilSetting->get(
'user_delete_own_account_email'),
1430 'session_reminder_enabled' => $ilSetting->get(
'session_reminder_enabled'),
1436 'password_change_on_first_login_enabled' => $security->isPasswordChangeOnFirstLoginEnabled() ? 1 : 0,
1437 'password_must_not_contain_loginame' => $security->getPasswordMustNotContainLoginnameStatus() ? 1 : 0,
1438 'password_chars_and_numbers_enabled' => $security->isPasswordCharsAndNumbersEnabled() ? 1 : 0,
1439 'password_special_chars_enabled' => $security->isPasswordSpecialCharsEnabled() ? 1 : 0 ,
1440 'password_min_length' => $security->getPasswordMinLength(),
1441 'password_max_length' => $security->getPasswordMaxLength(),
1442 'password_ucase_chars_num' => $security->getPasswordNumberOfUppercaseChars(),
1443 'password_lowercase_chars_num' => $security->getPasswordNumberOfLowercaseChars(),
1444 'password_max_age' => $security->getPasswordMaxAge(),
1446 'login_max_attempts' => $security->getLoginMaxAttempts(),
1447 'ps_prevent_simultaneous_logins' => (int)$security->isPreventionOfSimultaneousLoginsEnabled(),
1448 'password_assistance' => (bool)$ilSetting->get(
"password_assistance")
1452 $this->tpl->setContent($this->form->getHTML());
1465 if($this->form->checkInput())
1469 if(!strlen($this->form->getInput(
'loginname_change_blocking_time')))
1472 $this->form->getItemByPostVar(
'loginname_change_blocking_time')
1473 ->setAlert($this->lng->txt(
'loginname_change_blocking_time_invalidity_info'));
1476 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1480 $security->setPasswordCharsAndNumbersEnabled((
bool)
$_POST[
"password_chars_and_numbers_enabled"]);
1481 $security->setPasswordSpecialCharsEnabled((
bool) $_POST[
"password_special_chars_enabled"]);
1482 $security->setPasswordMinLength((
int) $_POST[
"password_min_length"]);
1483 $security->setPasswordMaxLength((
int) $_POST[
"password_max_length"]);
1484 $security->setPasswordNumberOfUppercaseChars((
int) $_POST[
'password_ucase_chars_num']);
1485 $security->setPasswordNumberOfLowercaseChars((
int) $_POST[
'password_lowercase_chars_num']);
1486 $security->setPasswordMaxAge((
int) $_POST[
"password_max_age"]);
1487 $security->setLoginMaxAttempts((
int) $_POST[
"login_max_attempts"]);
1488 $security->setPreventionOfSimultaneousLogins((
bool)$_POST[
'ps_prevent_simultaneous_logins']);
1489 $security->setPasswordChangeOnFirstLoginEnabled((
bool) $_POST[
'password_change_on_first_login_enabled']);
1490 $security->setPasswordMustNotContainLoginnameStatus((
int) $_POST[
'password_must_not_contain_loginame']);
1492 if(!$security->validate($this->form))
1501 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
1506 $ilSetting->set(
'allow_change_loginname', (
int)$this->form->getInput(
'allow_change_loginname'));
1507 $ilSetting->set(
'create_history_loginname', (
int)$this->form->getInput(
'create_history_loginname'));
1508 $ilSetting->set(
'reuse_of_loginnames', (
int)$this->form->getInput(
'reuse_of_loginnames'));
1509 $save_blocking_time_in_seconds = (int)($this->form->getInput(
'loginname_change_blocking_time') * 86400);
1510 $ilSetting->set(
'loginname_change_blocking_time', (
int)$save_blocking_time_in_seconds);
1511 $ilSetting->set(
'user_adm_alpha_nav', (
int)$this->form->getInput(
'user_adm_alpha_nav'));
1512 $ilSetting->set(
'user_reactivate_code', (
int)$this->form->getInput(
'user_reactivate_code'));
1514 $ilSetting->set(
'user_delete_own_account', (
int)$this->form->getInput(
'user_own_account'));
1515 $ilSetting->set(
'user_delete_own_account_email', $this->form->getInput(
'user_own_account_email'));
1517 $ilSetting->set(
"password_assistance", $this->form->getInput(
"password_assistance"));
1520 $ilSetting->set(
'session_handling_type',
1521 (
int)$this->form->getInput(
'session_handling_type'));
1525 $ilSetting->set(
'session_reminder_enabled',
1526 $this->form->getInput(
'session_reminder_enabled'));
1530 require_once
'Services/Authentication/classes/class.ilSessionControl.php';
1532 $ilSetting->get(
'session_allow_client_maintenance',
1537 include_once
"Services/Authentication/classes/class.ilSessionStatistics.php";
1540 $ilSetting->set(
'session_max_count',
1541 (
int)$this->form->getInput(
'session_max_count'));
1542 $ilSetting->set(
'session_min_idle',
1543 (
int)$this->form->getInput(
'session_min_idle'));
1544 $ilSetting->set(
'session_max_idle',
1545 (
int)$this->form->getInput(
'session_max_idle'));
1546 $ilSetting->set(
'session_max_idle_after_first_request',
1547 (
int)$this->form->getInput(
'session_max_idle_after_first_request'));
1563 $this->form->setValuesByPost();
1564 $this->tpl->setContent($this->form->getHTML());
1577 $this->tabs_gui->setTabActive(
'settings');
1578 $this->tabs_gui->setSubTabActive(
'general_settings');
1580 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1582 $this->form->setFormAction($this->ctrl->getFormAction($this,
'saveGeneralSettings'));
1584 $this->form->setTitle($this->lng->txt(
'general_settings'));
1586 $lua =
new ilCheckboxInputGUI($this->lng->txt(
'enable_local_user_administration'),
'lua');
1587 $lua->
setInfo($this->lng->txt(
'enable_local_user_administration_info'));
1589 $this->form->addItem($lua);
1592 $lrua->
setInfo($this->lng->txt(
'restrict_user_access_info'));
1594 $this->form->addItem($lrua);
1597 $alph =
new ilCheckboxInputGUI($this->lng->txt(
'user_adm_enable_alpha_nav'),
'user_adm_alpha_nav');
1600 $this->form->addItem($alph);
1604 $code->setInfo($this->lng->txt(
'user_account_code_setting_info'));
1605 $this->form->addItem(
$code);
1608 $own =
new ilCheckboxInputGUI($this->lng->txt(
"user_allow_delete_own_account"),
"user_own_account");
1609 $this->form->addItem($own);
1610 $own_email =
new ilEMailInputGUI($this->lng->txt(
"user_delete_own_account_notification_email"),
"user_own_account_email");
1611 $own->addSubItem($own_email);
1623 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"session_reminder"),
"session_reminder_enabled");
1626 $cb->
setInfo($this->lng->txt(
"session_reminder_info").
"<br />".
1627 sprintf($this->lng->txt(
'session_reminder_session_duration'), $time));
1631 $ssettings->addOption($fixed);
1637 require_once(
'Services/Authentication/classes/class.ilSessionControl.php');
1641 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_max_count'),
'session_max_count');
1643 $sub_ti->setSize(5);
1644 $sub_ti->setInfo($this->lng->txt(
'session_max_count_info'));
1646 $sub_ti->setDisabled(
true);
1647 $ldsh->addSubItem($sub_ti);
1652 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_min_idle'),
'session_min_idle');
1654 $sub_ti->setSize(5);
1655 $sub_ti->setInfo($this->lng->txt(
'session_min_idle_info'));
1657 $sub_ti->setDisabled(
true);
1658 $ldsh->addSubItem($sub_ti);
1663 $sub_ti =
new ilTextInputGUI($this->lng->txt(
'session_max_idle'),
'session_max_idle');
1665 $sub_ti->setSize(5);
1666 $sub_ti->setInfo($this->lng->txt(
'session_max_idle_info'));
1668 $sub_ti->setDisabled(
true);
1669 $ldsh->addSubItem($sub_ti);
1674 $this->lng->txt(
'session_max_idle_after_first_request'),
1675 'session_max_idle_after_first_request' 1678 $sub_ti->setSize(5);
1679 $sub_ti->setInfo($this->lng->txt(
'session_max_idle_after_first_request_info'));
1681 $sub_ti->setDisabled(
true);
1682 $ldsh->addSubItem($sub_ti);
1685 $ssettings->addOption($ldsh);
1692 $this->form->addItem($ssettings);
1699 $ti->
setValue($this->lng->txt(
'session_config_maintenance_disabled'));
1700 $ssettings->setDisabled(
true);
1701 $ti->addSubItem($ssettings);
1702 $this->form->addItem($ti);
1708 $this->lng->loadLanguageModule(
'ps');
1711 $pass->setTitle($this->lng->txt(
'ps_password_settings'));
1712 $this->form->addItem(
$pass);
1714 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_change_on_first_login_enabled'),
'password_change_on_first_login_enabled');
1715 $check->
setInfo($this->lng->txt(
'ps_password_change_on_first_login_enabled_info'));
1716 $this->form->addItem($check);
1718 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1720 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_must_not_contain_loginame'),
'password_must_not_contain_loginame');
1721 $check->
setInfo($this->lng->txt(
'ps_password_must_not_contain_loginame_info'));
1722 $this->form->addItem($check);
1724 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_chars_and_numbers_enabled'),
'password_chars_and_numbers_enabled');
1726 $check->
setInfo($this->lng->txt(
'ps_password_chars_and_numbers_enabled_info'));
1727 $this->form->addItem($check);
1729 $check =
new ilCheckboxInputGUI($this->lng->txt(
'ps_password_special_chars_enabled'),
'password_special_chars_enabled');
1731 $check->
setInfo($this->lng->txt(
'ps_password_special_chars_enabled_info'));
1732 $this->form->addItem($check);
1735 $text->setInfo($this->lng->txt(
'ps_password_min_length_info'));
1737 $text->setMaxLength(2);
1738 $this->form->addItem(
$text);
1741 $text->setInfo($this->lng->txt(
'ps_password_max_length_info'));
1743 $text->setMaxLength(3);
1744 $this->form->addItem(
$text);
1746 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_password_uppercase_chars_num'),
'password_ucase_chars_num');
1747 $text->setInfo($this->lng->txt(
'ps_password_uppercase_chars_num_info'));
1748 $text->setMinValue(0);
1750 $text->setMaxLength(3);
1751 $this->form->addItem(
$text);
1753 $text =
new ilNumberInputGUI($this->lng->txt(
'ps_password_lowercase_chars_num'),
'password_lowercase_chars_num');
1754 $text->setInfo($this->lng->txt(
'ps_password_lowercase_chars_num_info'));
1755 $text->setMinValue(0);
1757 $text->setMaxLength(3);
1758 $this->form->addItem(
$text);
1761 $text->setInfo($this->lng->txt(
'ps_password_max_age_info'));
1763 $text->setMaxLength(3);
1764 $this->form->addItem(
$text);
1767 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"enable_password_assistance"),
"password_assistance");
1768 $cb->
setInfo($this->lng->txt(
"password_assistance_info"));
1769 $this->form->addItem($cb);
1772 $pass->setTitle($this->lng->txt(
'ps_security_protection'));
1773 $this->form->addItem(
$pass);
1776 $text->setInfo($this->lng->txt(
'ps_login_max_attempts_info'));
1778 $text->setMaxLength(2);
1779 $this->form->addItem(
$text);
1782 $objCb =
new ilCheckboxInputGUI($this->lng->txt(
'ps_prevent_simultaneous_logins'),
'ps_prevent_simultaneous_logins');
1784 $objCb->setInfo($this->lng->txt(
'ps_prevent_simultaneous_logins_info'));
1785 $this->form->addItem($objCb);
1791 $log->setTitle($this->lng->txt(
'loginname_settings'));
1792 $this->form->addItem(
$log);
1794 $chbChangeLogin =
new ilCheckboxInputGUI($this->lng->txt(
'allow_change_loginname'),
'allow_change_loginname');
1796 $this->form->addItem($chbChangeLogin);
1797 $chbCreateHistory =
new ilCheckboxInputGUI($this->lng->txt(
'history_loginname'),
'create_history_loginname');
1798 $chbCreateHistory->
setInfo($this->lng->txt(
'loginname_history_info'));
1799 $chbCreateHistory->setValue(1);
1801 $chbChangeLogin->addSubItem($chbCreateHistory);
1802 $chbReuseLoginnames =
new ilCheckboxInputGUI($this->lng->txt(
'reuse_of_loginnames_contained_in_history'),
'reuse_of_loginnames');
1804 $chbReuseLoginnames->setInfo($this->lng->txt(
'reuse_of_loginnames_contained_in_history_info'));
1806 $chbChangeLogin->addSubItem($chbReuseLoginnames);
1807 $chbChangeBlockingTime =
new ilNumberInputGUI($this->lng->txt(
'loginname_change_blocking_time'),
'loginname_change_blocking_time');
1809 $chbChangeBlockingTime->setSuffix($this->lng->txt(
'days'));
1810 $chbChangeBlockingTime->setInfo($this->lng->txt(
'loginname_change_blocking_time_info'));
1811 $chbChangeBlockingTime->setSize(10);
1812 $chbChangeBlockingTime->setMaxLength(10);
1813 $chbChangeLogin->addSubItem($chbChangeBlockingTime);
1815 $this->form->addCommandButton(
'saveGeneralSettings', $this->lng->txt(
'save'));
1835 include_once
'Services/Search/classes/class.ilUserSearchOptions.php';
1836 $lng->loadLanguageModule(
"administration");
1837 $lng->loadLanguageModule(
"mail");
1838 $lng->loadLanguageModule(
"chatroom");
1840 $ilTabs->activateTab(
'settings');
1841 $ilTabs->activateSubTab(
'standard_fields');
1843 include_once(
"./Services/User/classes/class.ilUserFieldSettingsTableGUI.php");
1845 if($this->confirm_change)
$tab->setConfirmChange();
1846 $tpl->setContent(
$tab->getHTML());
1856 include_once
'Services/Search/classes/class.ilUserSearchOptions.php';
1857 include_once
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
1862 include_once(
"./Services/User/classes/class.ilUserProfile.php");
1864 $up->skipField(
"username");
1865 $field_properties = $up->getStandardFields();
1866 $profile_fields = array_keys($field_properties);
1869 foreach ($profile_fields as $field)
1871 if (
$_POST[
"chb"][
"required_".$field] &&
1872 !(
int)
$_POST[
'chb'][
'visib_reg_' . $field]
1883 $this->confirm_change = 1;
1889 $fixed_required_fields =
array(
1896 "hits_per_page" => 0,
1898 "hide_own_online_status" => 0
1903 if ($privacy->enabledCourseExport() ==
true &&
1904 $privacy->courseConfirmationRequired() ==
true &&
1907 foreach ($profile_fields as $field)
1909 if (! $ilias->getSetting(
"usr_settings_course_export_" . $field) &&
$_POST[
"chb"][
"course_export_" . $field] ==
"1")
1911 #ilUtil::sendQuestion($this->lng->txt('confirm_message_course_export')); 1912 #$this->confirm_change = 1; 1913 #$this->settingsObject(); 1919 if($action ==
'save')
1921 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
1925 foreach ($profile_fields as $field)
1933 if (!
$_POST[
"chb"][
"visible_".$field] && !$field_properties[$field][
"visible_hide"])
1935 $ilias->setSetting(
"usr_settings_hide_".$field,
"1");
1939 $ilias->deleteSetting(
"usr_settings_hide_".$field);
1942 if (!
$_POST[
"chb"][
"changeable_" . $field] && !$field_properties[$field][
"changeable_hide"])
1944 $ilias->setSetting(
"usr_settings_disable_".$field,
"1");
1948 $ilias->deleteSetting(
"usr_settings_disable_".$field);
1952 if ((
int)
$_POST[
'chb'][
'visib_reg_' . $field] && !$field_properties[$field][
"visib_reg_hide"])
1954 $ilSetting->set(
'usr_settings_visib_reg_'.$field,
'1');
1958 $ilSetting->set(
'usr_settings_visib_reg_'.$field,
'0');
1961 if ((
int)
$_POST[
'chb'][
'visib_lua_' . $field])
1964 $ilSetting->set(
'usr_settings_visib_lua_'.$field,
'1');
1968 $ilSetting->set(
'usr_settings_visib_lua_'.$field,
'0');
1971 if ((
int)
$_POST[
'chb'][
'changeable_lua_' . $field])
1974 $ilSetting->set(
'usr_settings_changeable_lua_'.$field,
'1');
1978 $ilSetting->set(
'usr_settings_changeable_lua_'.$field,
'0');
1981 if (
$_POST[
"chb"][
"export_" . $field] && !$field_properties[$field][
"export_hide"])
1983 $ilias->setSetting(
"usr_settings_export_".$field,
"1");
1987 $ilias->deleteSetting(
"usr_settings_export_".$field);
1991 if (
$_POST[
"chb"][
"course_export_" . $field] && !$field_properties[$field][
"course_export_hide"])
1993 $ilias->setSetting(
"usr_settings_course_export_".$field,
"1");
1997 $ilias->deleteSetting(
"usr_settings_course_export_".$field);
2001 if (
$_POST[
"chb"][
"group_export_" . $field] && !$field_properties[$field][
"group_export_hide"])
2003 $ilias->setSetting(
"usr_settings_group_export_".$field,
"1");
2007 $ilias->deleteSetting(
"usr_settings_group_export_".$field);
2010 $is_fixed = array_key_exists($field, $fixed_required_fields);
2011 if ($is_fixed && $fixed_required_fields[$field] || ! $is_fixed &&
$_POST[
"chb"][
"required_".$field])
2013 $ilias->setSetting(
"require_".$field,
"1");
2017 $ilias->deleteSetting(
"require_" . $field);
2021 if (
$_POST[
"select"][
"default_hits_per_page"])
2023 $ilias->setSetting(
"hits_per_page",
$_POST[
"select"][
"default_hits_per_page"]);
2031 if (
$_POST[
"chb"][
"export_preferences"])
2033 $ilias->setSetting(
"usr_settings_export_preferences",
$_POST[
"chb"][
"export_preferences"]);
2035 $ilias->deleteSetting(
"usr_settings_export_preferences");
2038 $ilias->setSetting(
'mail_incoming_mail', (
int)
$_POST[
'select'][
'default_mail_incoming_mail']);
2039 $ilias->setSetting(
'chat_osc_accept_msg',
ilUtil::stripSlashes($_POST[
'select'][
'default_chat_osc_accept_msg']));
2040 $ilias->setSetting(
'bs_allow_to_contact_me',
ilUtil::stripSlashes($_POST[
'select'][
'default_bs_allow_to_contact_me']));
2052 $action[-1] = $this->lng->txt(
'all_users');
2053 $action[1] = $this->lng->txt(
'usr_active_only');
2054 $action[0] = $this->lng->txt(
'usr_inactive_only');
2055 $action[2] = $this->lng->txt(
'usr_limited_access_only');
2056 $action[3] = $this->lng->txt(
'usr_without_courses');
2057 $action[4] = $this->lng->txt(
'usr_filter_lastlogin');
2058 $action[5] = $this->lng->txt(
"usr_filter_coursemember");
2059 $action[6] = $this->lng->txt(
"usr_filter_groupmember");
2060 $action[7] = $this->lng->txt(
"usr_filter_role");
2073 if(!isset(
$_POST[
"file"]))
2075 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
2078 if (count(
$_POST[
"file"]) > 1)
2080 $this->
ilias->raiseError($this->lng->txt(
"select_max_one_item"),$this->
ilias->error_obj->MESSAGE);
2085 $export_dir = $this->
object->getExportDirectory();
2094 if(!isset(
$_POST[
"file"]))
2096 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->
ilias->error_obj->MESSAGE);
2100 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
2102 $cgui->setFormAction($this->ctrl->getFormAction($this));
2103 $cgui->setHeaderText($this->lng->txt(
"info_delete_sure"));
2104 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancelDeleteExportFile");
2105 $cgui->setConfirm($this->lng->txt(
"confirm"),
"deleteExportFile");
2113 $this->tpl->setContent($cgui->getHTML());
2122 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2131 $export_dir = $this->
object->getExportDirectory();
2134 $file = basename($file);
2136 $exp_file = $export_dir.
"/".
$file;
2137 if (@is_file($exp_file))
2142 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2159 if (
$_POST[
"cmd"][
"export"])
2161 $this->
object->buildExportFile(
$_POST[
"export_type"]);
2162 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2166 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.usr_export.html',
'Services/User');
2168 $export_types =
array(
2169 "userfolder_export_excel_x86",
2170 "userfolder_export_csv",
2171 "userfolder_export_xml" 2175 include_once(
"./Services/Table/classes/class.ilTableGUI.php");
2179 $this->tpl->addBlockfile(
"EXPORT_FILES",
"export_files",
"tpl.table.html");
2182 $this->tpl->addBlockfile(
"TBL_CONTENT",
"tbl_content",
"tpl.usr_export_file_row.html",
"Services/User");
2186 $tbl->setTitle($this->lng->txt(
"userfolder_export_files"));
2188 $tbl->setHeaderNames(
array(
"", $this->lng->txt(
"userfolder_export_file"),
2189 $this->lng->txt(
"userfolder_export_file_size"), $this->lng->txt(
"date") ));
2190 $tbl->setHeaderVars(
array(), $ilCtrl->getParameterArray($this,
"export"));
2192 $tbl->enabled[
"sort"] =
false;
2193 $tbl->setColumnWidth(
array(
"1%",
"49%",
"25%",
"25%"));
2197 $tbl->setOrderDirection(
$_GET[
"sort_order"]);
2200 $tbl->setMaxCount($this->maxcount);
2203 $this->tpl->setVariable(
"COLUMN_COUNTS", 4);
2207 $this->tpl->setVariable(
"ALT_ARROW", $this->lng->txt(
"actions"));
2208 $this->tpl->setCurrentBlock(
"tbl_action_btn");
2209 $this->tpl->setVariable(
"BTN_NAME",
"confirmDeleteExportFile");
2210 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"delete"));
2211 $this->tpl->parseCurrentBlock();
2213 $this->tpl->setCurrentBlock(
"tbl_action_btn");
2214 $this->tpl->setVariable(
"BTN_NAME",
"downloadExportFile");
2215 $this->tpl->setVariable(
"BTN_VALUE", $this->lng->txt(
"download"));
2216 $this->tpl->parseCurrentBlock();
2219 $tbl->setFooter(
"tblfooter",$this->lng->txt(
"previous"),$this->lng->txt(
"next"));
2222 $export_files = $this->
object->getExportFiles();
2224 $tbl->setMaxCount(count($export_files));
2225 $export_files = array_slice($export_files,
$_GET[
"offset"],
$_GET[
"limit"]);
2229 if(count($export_files) > 0)
2232 foreach($export_files as $exp_file)
2234 $this->tpl->setCurrentBlock(
"tbl_content");
2235 $this->tpl->setVariable(
"TXT_FILENAME", $exp_file[
"filename"]);
2238 $this->tpl->setVariable(
"CSS_ROW", $css_row);
2240 $this->tpl->setVariable(
"TXT_SIZE", $exp_file[
"filesize"]);
2241 $this->tpl->setVariable(
"CHECKBOX_ID", $exp_file[
"filename"]);
2243 $file_arr = explode(
"__", $exp_file[
"filename"]);
2246 $this->tpl->parseCurrentBlock();
2249 $this->tpl->setCurrentBlock(
"selectall");
2250 $this->tpl->setVariable(
"SELECT_ALL", $this->lng->txt(
"select_all"));
2251 $this->tpl->setVariable(
"CSS_ROW", $css_row);
2252 $this->tpl->parseCurrentBlock();
2265 $this->tpl->parseCurrentBlock();
2268 foreach ($export_types as $export_type)
2270 $this->tpl->setCurrentBlock(
"option");
2271 $this->tpl->setVariable(
"OPTION_VALUE", $export_type);
2272 $this->tpl->setVariable(
"OPTION_TEXT", $this->lng->txt($export_type));
2273 $this->tpl->parseCurrentBlock();
2276 $this->tpl->setVariable(
"EXPORT_BUTTON", $this->lng->txt(
"create_export_file"));
2277 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
2284 $lng->loadLanguageModule(
"meta");
2285 $lng->loadLanguageModule(
"mail");
2287 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2289 $form->setFormAction($ilCtrl->getFormAction($this));
2292 $form->setTitle($lng->txt(
"user_new_account_mail"));
2293 $form->setDescription($lng->txt(
"user_new_account_mail_desc"));
2295 $langs = $lng->getInstalledLanguages();
2296 foreach($langs as $lang_key)
2298 $amail = $this->
object->_lookupNewAccountMail($lang_key);
2300 $title = $lng->txt(
"meta_l_".$lang_key);
2301 if ($lang_key == $lng->getDefaultLanguage())
2303 $title .=
" (".$lng->txt(
"default").
")";
2310 $subj =
new ilTextInputGUI($lng->txt(
"subject"),
"subject_".$lang_key);
2312 $subj->
setValue($amail[
"subject"]);
2313 $form->addItem($subj);
2315 $salg =
new ilTextInputGUI($lng->txt(
"mail_salutation_general"),
"sal_g_".$lang_key);
2318 $form->addItem($salg);
2320 $salf =
new ilTextInputGUI($lng->txt(
"mail_salutation_female"),
"sal_f_".$lang_key);
2323 $form->addItem($salf);
2325 $salm =
new ilTextInputGUI($lng->txt(
"mail_salutation_male"),
"sal_m_".$lang_key);
2328 $form->addItem($salm);
2334 $body->setCols(100);
2335 $form->addItem($body);
2337 $att =
new ilFileInputGUI($lng->txt(
"attachment"),
"att_".$lang_key);
2338 $att->setAllowDeletion(
true);
2339 if($amail[
"att_file"])
2341 $att->
setValue($amail[
"att_file"]);
2343 $form->addItem($att);
2346 $form->addCommandButton(
"saveNewAccountMail", $lng->txt(
"save"));
2347 $form->addCommandButton(
"cancelNewAccountMail", $lng->txt(
"cancel"));
2360 $this->tabs_gui->setTabActive(
'settings');
2361 $this->tabs_gui->setSubTabActive(
'user_new_account_mail');
2365 $ftpl =
new ilTemplate(
'tpl.usrf_new_account_mail.html',
true,
true,
'Services/User');
2366 $ftpl->setVariable(
"FORM", $form->getHTML());
2370 $ftpl->setVariable(
"TXT_USE_PLACEHOLDERS", $lng->txt(
"mail_nacc_use_placeholder"));
2371 $ftpl->setVariable(
"TXT_MAIL_SALUTATION", $lng->txt(
"mail_nacc_salutation"));
2372 $ftpl->setVariable(
"TXT_FIRST_NAME", $lng->txt(
"firstname"));
2373 $ftpl->setVariable(
"TXT_LAST_NAME", $lng->txt(
"lastname"));
2374 $ftpl->setVariable(
"TXT_EMAIL", $lng->txt(
"email"));
2375 $ftpl->setVariable(
"TXT_LOGIN", $lng->txt(
"mail_nacc_login"));
2376 $ftpl->setVariable(
"TXT_PASSWORD", $lng->txt(
"password"));
2377 $ftpl->setVariable(
"TXT_PASSWORD_BLOCK", $lng->txt(
"mail_nacc_pw_block"));
2378 $ftpl->setVariable(
"TXT_NOPASSWORD_BLOCK", $lng->txt(
"mail_nacc_no_pw_block"));
2379 $ftpl->setVariable(
"TXT_ADMIN_MAIL", $lng->txt(
"mail_nacc_admin_mail"));
2380 $ftpl->setVariable(
"TXT_ILIAS_URL", $lng->txt(
"mail_nacc_ilias_url"));
2381 $ftpl->setVariable(
"TXT_CLIENT_NAME", $lng->txt(
"mail_nacc_client_name"));
2382 $ftpl->setVariable(
"TXT_TARGET", $lng->txt(
"mail_nacc_target"));
2383 $ftpl->setVariable(
"TXT_TARGET_TITLE", $lng->txt(
"mail_nacc_target_title"));
2384 $ftpl->setVariable(
"TXT_TARGET_TYPE", $lng->txt(
"mail_nacc_target_type"));
2385 $ftpl->setVariable(
"TXT_TARGET_BLOCK", $lng->txt(
"mail_nacc_target_block"));
2386 $ftpl->setVariable(
"TXT_IF_TIMELIMIT", $lng->txt(
"mail_nacc_if_timelimit"));
2387 $ftpl->setVariable(
"TXT_TIMELIMIT", $lng->txt(
"mail_nacc_timelimit"));
2389 $this->tpl->setContent($ftpl->get());
2394 $this->ctrl->redirect($this,
"settings");
2401 $langs = $lng->getInstalledLanguages();
2402 foreach($langs as $lang_key)
2404 $this->
object->_writeNewAccountMail($lang_key,
2411 if($_FILES[
"att_".$lang_key][
"tmp_name"])
2413 $this->
object->_updateAccountMailAttachment($lang_key,
2414 $_FILES[
"att_".$lang_key][
"tmp_name"],
2415 $_FILES[
"att_".$lang_key][
"name"]);
2418 if (
$_POST[
"att_".$lang_key.
"_delete"])
2420 $this->
object->_deleteAccountMailAttachment($lang_key);
2425 $this->ctrl->redirect($this,
"newAccountMail");
2440 include_once
'Services/Tracking/classes/class.ilObjUserTracking.php';
2444 if ($rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
2446 $this->tabs_gui->addTarget(
"usrf",
2447 $this->ctrl->getLinkTarget($this,
"view"),
array(
"view",
"delete",
"resetFilter",
"userAction",
""),
"",
"");
2449 $this->tabs_gui->addTarget(
2450 "search_user_extended",
2451 $this->ctrl->getLinkTargetByClass(
'ilRepositorySearchGUI',
''),
2453 "ilrepositorysearchgui",
2458 if ($rbacsystem->checkAccess(
"write",$this->object->getRefId()))
2460 $this->tabs_gui->addTarget(
"settings",
2461 $this->ctrl->getLinkTarget($this,
"generalSettings"),
array(
'settings',
'generalSettings',
'listUserDefinedField',
'newAccountMail'));
2463 $this->tabs_gui->addTarget(
"export",
2464 $this->ctrl->getLinkTarget($this,
"export"),
"export",
"",
"");
2476 if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
2478 $this->tabs_gui->addTarget(
"perm_settings",
2479 $this->ctrl->getLinkTargetByClass(
array(get_class($this),
'ilpermissiongui'),
"perm"),
2480 array(
"perm",
"info",
"owner"),
'ilpermissiongui');
2495 $this->tabs_gui->addSubTabTarget(
2497 $this->ctrl->getLinkTarget($this,
'generalSettings'),
'generalSettings', get_class($this));
2498 $this->tabs_gui->addSubTabTarget(
"standard_fields",
2499 $this->ctrl->getLinkTarget($this,
'settings'),
2500 array(
"settings",
"saveGlobalUserSettings"), get_class($this));
2501 $this->tabs_gui->addSubTabTarget(
"user_defined_fields",
2502 $this->ctrl->getLinkTargetByClass(
"ilcustomuserfieldsgui",
"listUserDefinedFields"),
2503 "listUserDefinedFields",get_class($this));
2504 $this->tabs_gui->addSubTabTarget(
"user_new_account_mail",
2505 $this->ctrl->getLinkTarget($this,
'newAccountMail'),
2506 "newAccountMail",get_class($this));
2507 #$this->tabs_gui->addSubTab("account_codes", $this->lng->txt("user_account_codes"), 2508 # $this->ctrl->getLinkTargetByClass("ilaccountcodesgui")); 2517 $show_blocking_time_in_days = (int)$ilSetting->get(
'loginname_change_blocking_time') / 86400;
2520 $this->loginSettingsForm->setValuesByArray(
array(
2521 'allow_change_loginname' => (
bool)$ilSetting->get(
'allow_change_loginname'),
2522 'create_history_loginname' => (bool)$ilSetting->get(
'create_history_loginname'),
2523 'reuse_of_loginnames' => (bool)$ilSetting->get(
'reuse_of_loginnames'),
2524 'loginname_change_blocking_time' => (float)$show_blocking_time_in_days
2527 $this->tpl->setVariable(
'ADM_CONTENT', $this->loginSettingsForm->getHTML());
2533 $this->tabs_gui->setTabActive(
'settings');
2534 $this->tabs_gui->setSubTabActive(
'loginname_settings');
2536 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2538 $this->loginSettingsForm->
setFormAction($this->ctrl->getFormAction($this,
'saveLoginnameSettings'));
2539 $this->loginSettingsForm->setTitle($this->lng->txt(
'loginname_settings'));
2541 $chbChangeLogin =
new ilCheckboxInputGUI($this->lng->txt(
'allow_change_loginname'),
'allow_change_loginname');
2543 $this->loginSettingsForm->addItem($chbChangeLogin);
2544 $chbCreateHistory =
new ilCheckboxInputGUI($this->lng->txt(
'history_loginname'),
'create_history_loginname');
2545 $chbCreateHistory->
setInfo($this->lng->txt(
'loginname_history_info'));
2546 $chbCreateHistory->setValue(1);
2547 $chbChangeLogin->addSubItem($chbCreateHistory);
2548 $chbReuseLoginnames =
new ilCheckboxInputGUI($this->lng->txt(
'reuse_of_loginnames_contained_in_history'),
'reuse_of_loginnames');
2550 $chbReuseLoginnames->setInfo($this->lng->txt(
'reuse_of_loginnames_contained_in_history_info'));
2551 $chbChangeLogin->addSubItem($chbReuseLoginnames);
2552 $chbChangeBlockingTime =
new ilNumberInputGUI($this->lng->txt(
'loginname_change_blocking_time'),
'loginname_change_blocking_time');
2554 $chbChangeBlockingTime->setSuffix($this->lng->txt(
'days'));
2555 $chbChangeBlockingTime->setInfo($this->lng->txt(
'loginname_change_blocking_time_info'));
2556 $chbChangeBlockingTime->setSize(10);
2557 $chbChangeBlockingTime->setMaxLength(10);
2558 $chbChangeLogin->addSubItem($chbChangeBlockingTime);
2560 $this->loginSettingsForm->addCommandButton(
'saveLoginnameSettings', $this->lng->txt(
'save'));
2568 if($this->loginSettingsForm->checkInput())
2572 if(!strlen($this->loginSettingsForm->getInput(
'loginname_change_blocking_time')))
2575 $this->loginSettingsForm->getItemByPostVar(
'loginname_change_blocking_time')
2576 ->setAlert($this->lng->txt(
'loginname_change_blocking_time_invalidity_info'));
2581 $save_blocking_time_in_seconds = (int)$this->loginSettingsForm->getInput(
'loginname_change_blocking_time') * 86400;
2583 $ilSetting->set(
'allow_change_loginname', (
int)$this->loginSettingsForm->getInput(
'allow_change_loginname'));
2584 $ilSetting->set(
'create_history_loginname', (
int)$this->loginSettingsForm->getInput(
'create_history_loginname'));
2585 $ilSetting->set(
'reuse_of_loginnames', (
int)$this->loginSettingsForm->getInput(
'reuse_of_loginnames'));
2586 $ilSetting->set(
'loginname_change_blocking_time', (
int)$save_blocking_time_in_seconds);
2599 $this->loginSettingsForm->setValuesByPost();
2601 $this->tpl->setVariable(
'ADM_CONTENT', $this->loginSettingsForm->getHTML());
2613 if ($ilAccess->checkAccess(
"read",
"", $a_target))
2615 ilUtil::redirect(
"ilias.php?baseClass=ilAdministrationGUI&ref_id=".$a_target.
"&jmpToUser=".$a_user);
2620 if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
2627 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
2639 $ilCtrl->setParameterByClass(
"ilobjusergui",
"obj_id", (
int) $_GET[
"jmpToUser"]);
2640 $ilCtrl->redirectByClass(
"ilobjusergui",
"view");
2649 if(!count((
array) $a_usr_ids))
2655 $_POST[
'id'] = $a_usr_ids;
2658 if(stristr($a_cmd,
"export"))
2660 $cmd = $a_cmd.
"Object";
2661 return $this->
$cmd();
2664 $_POST[
'selectedAction'] = $a_cmd;
2676 'activate' => $this->lng->txt(
'activate'),
2677 'deactivate' => $this->lng->txt(
'deactivate'),
2678 'accessRestrict' => $this->lng->txt(
'accessRestrict'),
2679 'accessFree' => $this->lng->txt(
'accessFree')
2682 if ($rbacsystem->checkAccess(
'delete', $this->object->getRefId()))
2684 $cmds[
"delete"] = $this->lng->txt(
"delete");
2691 'activateUsers' => $this->lng->txt(
'activate'),
2692 'deactivateUsers' => $this->lng->txt(
'deactivate'),
2693 'restrictAccess' => $this->lng->txt(
'accessRestrict'),
2694 'freeAccess' => $this->lng->txt(
'accessFree')
2697 if ($rbacsystem->checkAccess(
'delete', $this->object->getRefId()))
2699 $cmds[
"deleteUsers"] = $this->lng->txt(
"delete");
2704 $export_types =
array(
"userfolder_export_excel_x86",
"userfolder_export_csv",
"userfolder_export_xml");
2705 foreach ($export_types as $type)
2707 $cmd = explode(
"_", $type);
2709 $cmds[
'usrExport'.ucfirst(
$cmd)] = $this->lng->txt(
'export').
' - '.
2710 $this->lng->txt($type);
2714 include_once
"Services/Mail/classes/class.ilMail.php";
2715 $mail =
new ilMail($ilUser->getId());
2716 if($rbacsystem->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId()))
2718 $cmds[
"mail"] = $this->lng->txt(
"send_mail");
2721 $cmds[
'addToClipboard'] = $this->lng->txt(
'clipboard_add_btn');
2734 $this->
object->buildExportFile(
"userfolder_export_excel_x86", $user_ids);
2735 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2746 $this->
object->buildExportFile(
"userfolder_export_csv", $user_ids);
2747 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2758 $this->
object->buildExportFile(
"userfolder_export_xml", $user_ids);
2759 $this->ctrl->redirectByClass(
"ilobjuserfoldergui",
"export");
2774 include_once
"Services/Contact/classes/class.ilMailingLists.php";
2776 $list->deleteTemporaryLists();
2779 include_once
"Services/Contact/classes/class.ilMailingList.php";
2782 $list->setTitle(
"-TEMPORARY SYSTEM LIST-");
2783 $list->setDescription(
"-USER ACCOUNTS MAIL-");
2784 $list->setCreateDate(
date(
"Y-m-d H:i:s"));
2786 $list_id = $list->getId();
2789 foreach($user_ids as $user_id)
2791 $list->assignUser($user_id);
2794 include_once
"Services/Mail/classes/class.ilFormatMail.php";
2798 if(!is_array($mail_data))
2800 $mail_data =
array(
"user_id" => $ilUser->getId());
2806 $umail->savePostData(
2807 $mail_data[
'user_id'],
2808 $mail_data[
'attachments'],
2810 $mail_data[
'rcp_cc'],
2811 $mail_data[
'rcp_bcc'],
2812 $mail_data[
'm_type'],
2813 $mail_data[
'm_email'],
2814 $mail_data[
'm_subject'],
2815 $mail_data[
'm_message'],
2816 $mail_data[
'use_placeholders'],
2817 $mail_data[
'tpl_ctx_id'],
2818 $mail_data[
'tpl_ctx_params']
2821 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
2828 'type' =>
'search_res' 2840 include_once(
'./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
2850 'ps_password_min_length' => (
int)$security->getPasswordMinLength(),
2851 'ps_password_max_length' => (int)$security->getPasswordMaxLength(),
2852 'ps_password_uppercase_chars_num' => (int)$security->getPasswordNumberOfUppercaseChars(),
2853 'ps_password_lowercase_chars_num' => (int)$security->getPasswordNumberOfLowercaseChars(),
2854 'ps_password_max_age' => (int)$security->getPasswordMaxAge()
2856 $fields[
'ps_password_settings'] =
array(null, null, $subitems);
2859 'ps_login_max_attempts' => (
int)$security->getLoginMaxAttempts(),
2862 $fields[
'ps_security_protection'] =
array(null, null, $subitems);
2864 return array(
array(
"generalSettings", $fields));
2874 $this->ctrl->redirect($this,
'view');
2876 include_once
'./Services/User/classes/class.ilUserClipboard.php';
2882 $this->ctrl->redirect($this,
'view');
showLoginnameSettingsObject()
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
const DEFAULT_MAX_COUNT
default value for settings that have not been defined in setup or administration yet ...
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.
static getInstance($a_usr_id)
Get singelton instance.
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.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
setValue($a_value)
Set Value.
activateUsersObject()
Activate users.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
initFormGeneralSettings()
init general settings form
static unzip($a_file, $overwrite=false, $a_flat=false)
unzip file
chooseLetterObject()
Choose first letter.
settingsObject()
Global user settings.
Learning progress account list for user administration.
static getDir($a_dir, $a_rec=false, $a_sub_dir="")
get directory
applyFilterObject()
Apply filter.
static _lookupTitle($a_id)
lookup object title
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor public.
viewObject()
list childs of current object
exportObject()
Global user settings.
const SESSION_HANDLING_FIXED
setInfo($a_info)
Set Info.
static _reset()
Reset all.
importCancelledObject()
import cancelled
static _getAssignUsersStatus($a_role_id)
importUserFormObject()
display form for user import
for($col=0; $col< 50; $col++) $d
generalSettingsObject()
Show user account general settings.
confirmaccessRestrictObject()
Auto completion class for user lists.
restrictAccessObject()
Restrict access.
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.
prepareOutput($a_show_subobjects=true)
prepare output
deleteUsersObject()
Delete users.
static _enabledLearningProgress()
check wether learing progress is enabled or not
Class ilCustomUserFieldsGUI.
deactivateUsersObject()
Deactivate users.
static _saveStatus($a_key, $a_enabled)
static secondsToString($seconds, $force_with_seconds=false, $a_lng=null)
converts seconds to string: Long: 7 days 4 hour(s) ...
saveGeneralSettingsObject()
Save user account settings.
static _lookupNewAccountMail($a_lang)
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.
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
date( 'd-M-Y', $objPHPExcel->getProperties() ->getCreated())
deleteExportFileObject()
delete export files
getUserMultiCommands($a_search_form=false)
special template class to simplify handling of ITX/PEAR
This class represents a text property in a property form.
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.
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.
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
downloadExportFileObject()
Download selected export files.
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
saveLoginnameSettingsObject()
showPossibleSubObjects()
show possible subobjects (pulldown menu) overwritten to prevent displaying of role templates in local...
initAccessRestrictionForm($a_from_search=false)
static getDataDir()
get data directory (outside webspace)
This class represents a non editable value in a property form.
Create new PHPExcel object
obj_idprivate
static getInstance()
Singelton get instance.
This class represents a text area property in a property form.
addUserObject()
Add new user;.
static getFirstLettersOfLastnames()
Get first letters of all lastnames.
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows) ...
cancelNewAccountMailObject()
searchResultHandler($a_usr_ids, $a_cmd)
Handles multi command from repository search gui.
Class ilObjUserFolderGUI.
const USER_FOLDER_ID
Class ilObjUserFolder.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
const SESSION_HANDLING_LOAD_DEPENDENT
static _getInstance()
Get instance of ilPrivacySettings.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
const DEFAULT_ALLOW_CLIENT_MAINTENANCE
cancelUserFolderActionObject()
setValue($a_value)
Set Value.
static redirect($a_script)
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
const IL_IGNORE_ON_CONFLICT
setAccessRestrictionObject($a_form=null, $a_from_search=false)
Confirmation screen class.
addUserAutoCompleteObject()
Show auto complete results.