ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilObjUserFolderGUI Class Reference

Class ilObjUserFolderGUI. More...

+ Inheritance diagram for ilObjUserFolderGUI:
+ Collaboration diagram for ilObjUserFolderGUI:

Public Member Functions

 __construct ($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
 Constructor @access public. More...
 
 setUserOwnerId ($a_id)
 
 getUserOwnerId ()
 
 executeCommand ()
 execute command More...
 
 learningProgressObject ()
 
 resetFilterObject ()
 Reset filter (note: this function existed before data table filter has been introduced. More...
 
 addUserObject ()
 Add new user;. More...
 
 applyFilterObject ()
 Apply filter. More...
 
 viewObject ($reset_filter=false)
 list users More...
 
 chooseLetterObject ()
 Choose first letter. More...
 
 showActions ($with_subobjects=false)
 show possible action (form buttons) More...
 
 showPossibleSubObjects ()
 show possible subobjects (pulldown menu) overwritten to prevent displaying of role templates in local role folders More...
 
 cancelUserFolderActionObject ()
 
 cancelSearchActionObject ()
 
 confirmactivateObject ()
 Set the selected users active. More...
 
 confirmdeactivateObject ()
 Set the selected users inactive. More...
 
 confirmaccessFreeObject ()
 
 setAccessRestrictionObject ($a_form=null, $a_from_search=false)
 
 confirmaccessRestrictObject ()
 
 confirmdeleteObject ()
 confirm delete Object More...
 
 showActionConfirmation ($action, $a_from_search=false)
 display activation confirmation screen More...
 
 deleteUsersObject ()
 Delete users. More...
 
 activateUsersObject ()
 Activate users. More...
 
 deactivateUsersObject ()
 Deactivate users. More...
 
 restrictAccessObject ()
 Restrict access. More...
 
 freeAccessObject ()
 Free access. More...
 
 userActionObject ()
 
 importUserFormObject ()
 display form for user import More...
 
 initUserImportForm ()
 Init user import form. More...
 
 importCancelledObject ()
 import cancelled More...
 
 getImportDir ()
 get user import directory name More...
 
 importUserRoleAssignmentObject ()
 display form for user import More...
 
 importUsersObject ()
 import users More...
 
 hitsperpageObject ()
 
 saveGeneralSettingsObject ()
 Save user account settings. More...
 
 settingsObject ()
 Global user settings. More...
 
 confirmSavedObject ()
 
 saveGlobalUserSettingsObject ($action="")
 
 __buildUserFilterSelect ()
 build select form to distinguish between active and non-active users More...
 
 downloadExportFileObject ()
 Download selected export files. More...
 
 confirmDeleteExportFileObject ()
 confirmation screen for export file deletion More...
 
 cancelDeleteExportFileObject ()
 cancel deletion of export files More...
 
 deleteExportFileObject ()
 delete export files More...
 
 exportObject ()
 Global user settings. More...
 
 newAccountMailObject ()
 new account mail administration More...
 
 cancelNewAccountMailObject ()
 
 saveNewAccountMailObject ()
 
 getAdminTabs ()
 administration tabs show only permissions and trash folder More...
 
 getTabs ()
 get tabs @access public More...
 
 setSubTabs ($a_tab)
 set sub tabs More...
 
 showLoginnameSettingsObject ()
 
 saveLoginnameSettingsObject ()
 
 jumpToUserObject ()
 Jump to edit screen for user. More...
 
 searchResultHandler ($a_usr_ids, $a_cmd)
 Handles multi command from repository search gui. More...
 
 getUserMultiCommands ($a_search_form=false)
 
 usrExportX86Object ()
 
 usrExportCsvObject ()
 
 usrExportXmlObject ()
 
 mailObject ()
 
 addToExternalSettingsForm ($a_form_id)
 
- Public Member Functions inherited from ilObjectGUI
 executeCommand ()
 execute command More...
 
 withReferences ()
 determines wether objects are referenced or not (got ref ids or not) More...
 
 setCreationMode ($a_mode=true)
 if true, a creation screen is displayed the current $_GET[ref_id] don't belong to the current class! the mode is determined in ilrepositorygui More...
 
 getCreationMode ()
 get creation mode More...
 
 prepareOutput ($a_show_subobjects=true)
 prepare output More...
 
 getAdminTabs ()
 administration tabs show only permissions and trash folder More...
 
 getHTML ()
 
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled More...
 
 cancelDeleteObject ()
 cancel deletion of object More...
 
 cancelObject ()
 cancel action and go back to previous page @access public More...
 
 createObject ()
 create new object form More...
 
 cancelCreation ()
 cancel create action and go back to repository parent More...
 
 saveObject ()
 save object More...
 
 getDidacticTemplateVar ($a_type)
 Get didactic template setting from creation screen. More...
 
 putObjectInTree (ilObject $a_obj, $a_parent_node_id=null)
 Add object to tree at given position. More...
 
 editObject ()
 edit object More...
 
 addExternalEditFormCustom (ilPropertyFormGUI $a_form)
 
 updateObject ()
 updates object entry in object_data More...
 
 getFormAction ($a_cmd, $a_formaction="")
 get form action for command (command is method name without "Object", e.g. More...
 
 isVisible ($a_ref_id, $a_type)
 
 viewObject ()
 list childs of current object More...
 
 deleteObject ($a_error=false)
 Display deletion confirmation screen. More...
 
 cloneAllObject ()
 Clone single (not container object) Method is overwritten in ilContainerGUI. More...
 

Static Public Member Functions

static _goto ($a_user)
 goto target group More...
 
- Static Public Member Functions inherited from ilObjectGUI
static _gotoRepositoryRoot ($a_raise_error=false)
 Goto repository root. More...
 
static _gotoRepositoryNode ($a_ref_id, $a_cmd="frameset")
 Goto repository root. More...
 

Data Fields

 $ctrl
 
- Data Fields inherited from ilObjectGUI
const COPY_WIZARD_NEEDS_PAGE = 1
 
 $objDefinition
 
 $tpl
 
 $tree
 
 $lng
 
 $data
 
 $object
 
 $ref_id
 
 $obj_id
 
 $maxcount
 
 $formaction
 
 $return_location
 
 $target_frame
 
 $tab_target_script
 
 $actions
 
 $sub_objects
 
 $omit_locator = false
 
const CFORM_NEW = 1
 
const CFORM_IMPORT = 2
 
const CFORM_CLONE = 3
 

Protected Member Functions

 addUserAutoCompleteObject ()
 Show auto complete results. More...
 
 initAccessRestrictionForm ($a_from_search=false)
 
 getActionUserIds ()
 Get selected items for table action. More...
 
 generalSettingsObject ()
 Show user account general settings. More...
 
 initFormGeneralSettings ()
 init general settings form More...
 
 initNewAccountMailForm ()
 
 addToClipboardObject ()
 
- Protected Member Functions inherited from ilObjectGUI
 assignObject ()
 
 setTitleAndDescription ()
 called by prepare output More...
 
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 Add header action menu. More...
 
 insertHeaderAction ($a_list_gui)
 Insert header action into main template. More...
 
 addHeaderAction ()
 Add header action menu. More...
 
 redrawHeaderActionObject ()
 Ajax call: redraw action header only. More...
 
 showMountWebfolderIcon ()
 
 setTabs ()
 set admin tabs @access public More...
 
 setAdminTabs ()
 set admin tabs @access public More...
 
 setLocator ()
 set Locator More...
 
 addLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 omitLocator ($a_omit=true)
 
 addAdminLocatorItems ($a_do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 initCreationForms ($a_new_type)
 Init creation froms. More...
 
 getCreationFormsHTML (array $a_forms)
 Get HTML for creation forms (accordion) More...
 
 initCreateForm ($a_new_type)
 Init object creation form. More...
 
 initDidacticTemplate (ilPropertyFormGUI $form)
 Show didactic template types. More...
 
 addDidacticTemplateOptions (array &$a_options)
 Add custom templates. More...
 
 afterSave (ilObject $a_new_object)
 Post (successful) object creation hook. More...
 
 initEditForm ()
 Init object edit form. More...
 
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form. More...
 
 getEditFormValues ()
 Get values for edit form. More...
 
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields. More...
 
 validateCustom (ilPropertyFormGUI $a_form)
 Validate custom values (if not possible with checkInput()) More...
 
 updateCustom (ilPropertyFormGUI $a_form)
 Insert custom update form values into object. More...
 
 afterUpdate ()
 Post (successful) object update hook. More...
 
 initImportForm ($a_new_type)
 Init object import form. More...
 
 importFileObject ($parent_id=null, $a_catch_errors=true)
 Import. More...
 
 afterImport (ilObject $a_new_object)
 Post (successful) object import hook. More...
 
 setFormAction ($a_cmd, $a_formaction)
 set specific form action for command More...
 
 getReturnLocation ($a_cmd, $a_location="")
 get return location for command (command is method name without "Object", e.g. More...
 
 setReturnLocation ($a_cmd, $a_location)
 set specific return location for command More...
 
 getTargetFrame ($a_cmd, $a_target_frame="")
 get target frame for command (command is method name without "Object", e.g. More...
 
 setTargetFrame ($a_cmd, $a_target_frame)
 set specific target frame for command More...
 
 showPossibleSubObjects ()
 show possible subobjects (pulldown menu) More...
 
 getTemplateFile ($a_cmd, $a_type="")
 get a template blockfile format: tpl. More...
 
 getTabs ()
 get tabs abstract method. More...
 
 __showButton ($a_cmd, $a_text, $a_target='')
 
 hitsperpageObject ()
 
__initTableGUI ()
 
 __setTableGUIBasicData (&$tbl, &$result_set, $a_from="")
 standard implementation for tables use 'from' variable use different initial setting of table More...
 
 redirectToRefId ($a_ref_id, $a_cmd="")
 redirects to (repository) view per ref id usually to a container and usually used at the end of a save/import method where the object gui type (of the new object) doesn't match with the type of the current $_GET["ref_id"] value More...
 
 fillCloneTemplate ($a_tpl_varname, $a_type)
 Fill object clone template This method can be called from any object GUI class that wants to offer object cloning. More...
 
 getCenterColumnHTML ()
 Get center column. More...
 
 getRightColumnHTML ()
 Display right column. More...
 
 setColumnSettings (ilColumnGUI $column_gui)
 May be overwritten in subclasses. More...
 
 checkPermission ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission and redirect on error. More...
 
 checkPermissionBool ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission. More...
 
 enableDragDropFileUpload ()
 Enables the file upload into this object by dropping files. More...
 
 handleAutoRating (ilObject $a_new_obj)
 Activate rating automatically if parent container setting. More...
 

Protected Attributes

 $log
 
- Protected Attributes inherited from ilObjectGUI
 $ilErr
 
 $locator
 
 $user
 
 $access
 
 $settings
 
 $rbacreview
 
 $toolbar
 
 $rbacsystem
 
 $tmp_import_dir
 
 $tabs_gui = null
 
 $ctrl
 

Private Member Functions

 initLoginSettingsForm ()
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilObjUserFolderGUI::__construct (   $a_data,
  $a_id,
  $a_call_by_reference,
  $a_prepare_output = true 
)

Constructor @access public.

Definition at line 30 of file class.ilObjUserFolderGUI.php.

31 {
32 global $ilCtrl;
33
34 // TODO: move this to class.ilias.php
35 define('USER_FOLDER_ID', 7);
36
37 $this->type = "usrf";
38 parent::__construct($a_data, $a_id, $a_call_by_reference, false);
39
40 $this->lng->loadLanguageModule('search');
41 $this->lng->loadLanguageModule("user");
42
43 $ilCtrl->saveParameter($this, "letter");
44
45 $this->log = ilLoggerFactory::getLogger("user");
46 }
static getLogger($a_component_id)
Get component logger.
global $ilCtrl
Definition: ilias.php:18

References $ilCtrl, and ilLoggerFactory\getLogger().

+ Here is the call graph for this function:

Member Function Documentation

◆ __buildUserFilterSelect()

ilObjUserFolderGUI::__buildUserFilterSelect ( )

build select form to distinguish between active and non-active users

Definition at line 1914 of file class.ilObjUserFolderGUI.php.

1915 {
1916 $action[-1] = $this->lng->txt('all_users');
1917 $action[1] = $this->lng->txt('usr_active_only');
1918 $action[0] = $this->lng->txt('usr_inactive_only');
1919 $action[2] = $this->lng->txt('usr_limited_access_only');
1920 $action[3] = $this->lng->txt('usr_without_courses');
1921 $action[4] = $this->lng->txt('usr_filter_lastlogin');
1922 $action[5] = $this->lng->txt("usr_filter_coursemember");
1923 $action[6] = $this->lng->txt("usr_filter_groupmember");
1924 $action[7] = $this->lng->txt("usr_filter_role");
1925
1926 return ilUtil::formSelect($_SESSION['user_filter'], "user_filter", $action, false, true);
1927 }
$_SESSION["AccountId"]
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.
$action

References $_SESSION, $action, and ilUtil\formSelect().

+ Here is the call graph for this function:

◆ _goto()

static ilObjUserFolderGUI::_goto (   $a_user)
static

goto target group

Definition at line 2492 of file class.ilObjUserFolderGUI.php.

2493 {
2494 global $ilAccess, $ilErr, $lng;
2495
2496 $a_target = USER_FOLDER_ID;
2497
2498 if ($ilAccess->checkAccess("read", "", $a_target)) {
2499 ilUtil::redirect("ilias.php?baseClass=ilAdministrationGUI&ref_id=" . $a_target . "&jmpToUser=" . $a_user);
2500 exit;
2501 } else {
2502 if ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID)) {
2504 $lng->txt("msg_no_perm_read_item"),
2506 ), true);
2508 }
2509 }
2510 $ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL);
2511 }
sprintf('%.4f', $callTime)
const USER_FOLDER_ID
Class ilObjUserFolder.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.

References ilObjectGUI\$ilErr, ilObjectGUI\$lng, ilObjectGUI\_gotoRepositoryRoot(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), exit, ilUtil\redirect(), ilUtil\sendFailure(), sprintf, and USER_FOLDER_ID.

+ Here is the call graph for this function:

◆ activateUsersObject()

ilObjUserFolderGUI::activateUsersObject ( )

Activate users.

Definition at line 725 of file class.ilObjUserFolderGUI.php.

726 {
727 $_POST["selectedAction"] = "activate";
728 $this->showActionConfirmation($_POST["selectedAction"]);
729 }
$_POST["username"]
showActionConfirmation($action, $a_from_search=false)
display activation confirmation screen

References $_POST, and showActionConfirmation().

+ Here is the call graph for this function:

◆ addToClipboardObject()

ilObjUserFolderGUI::addToClipboardObject ( )
protected

Definition at line 2735 of file class.ilObjUserFolderGUI.php.

2736 {
2737 $users = (array) $_POST['id'];
2738 if (!count($users)) {
2739 ilUtil::sendFailure($this->lng->txt('select_one'), true);
2740 $this->ctrl->redirect($this, 'view');
2741 }
2742 include_once './Services/User/classes/class.ilUserClipboard.php';
2743 $clip = ilUserClipboard::getInstance($GLOBALS['ilUser']->getId());
2744 $clip->add($users);
2745 $clip->save();
2746
2747 ilUtil::sendSuccess($this->lng->txt('clipboard_user_added'), true);
2748 $this->ctrl->redirect($this, 'view');
2749 }
$users
Definition: authpage.php:44
static getInstance($a_usr_id)
Get singelton instance.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.

References $_POST, $GLOBALS, $users, ilUserClipboard\getInstance(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ addToExternalSettingsForm()

ilObjUserFolderGUI::addToExternalSettingsForm (   $a_form_id)

Definition at line 2702 of file class.ilObjUserFolderGUI.php.

2703 {
2704 switch ($a_form_id) {
2706
2707 include_once('./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
2709
2710 $fields = array();
2711
2712 $subitems = array(
2713 'ps_password_change_on_first_login_enabled' => array($security->isPasswordChangeOnFirstLoginEnabled(), ilAdministrationSettingsFormHandler::VALUE_BOOL),
2714 'ps_password_must_not_contain_loginame' => array((bool) $security->getPasswordMustNotContainLoginnameStatus(), ilAdministrationSettingsFormHandler::VALUE_BOOL),
2715 'ps_password_chars_and_numbers_enabled' => array($security->isPasswordCharsAndNumbersEnabled(), ilAdministrationSettingsFormHandler::VALUE_BOOL),
2716 'ps_password_special_chars_enabled' => array($security->isPasswordSpecialCharsEnabled(), ilAdministrationSettingsFormHandler::VALUE_BOOL),
2717 'ps_password_min_length' => (int) $security->getPasswordMinLength(),
2718 'ps_password_max_length' => (int) $security->getPasswordMaxLength(),
2719 'ps_password_uppercase_chars_num' => (int) $security->getPasswordNumberOfUppercaseChars(),
2720 'ps_password_lowercase_chars_num' => (int) $security->getPasswordNumberOfLowercaseChars(),
2721 'ps_password_max_age' => (int) $security->getPasswordMaxAge()
2722 );
2723 $fields['ps_password_settings'] = array(null, null, $subitems);
2724
2725 $subitems = array(
2726 'ps_login_max_attempts' => (int) $security->getLoginMaxAttempts(),
2727 'ps_prevent_simultaneous_logins' => array($security->isPreventionOfSimultaneousLoginsEnabled(), ilAdministrationSettingsFormHandler::VALUE_BOOL)
2728 );
2729 $fields['ps_security_protection'] = array(null, null, $subitems);
2730
2731 return array(array("generalSettings", $fields));
2732 }
2733 }
static _getInstance()
Get instance of ilSecuritySettings.

References ilSecuritySettings\_getInstance(), ilAdministrationSettingsFormHandler\FORM_SECURITY, and ilAdministrationSettingsFormHandler\VALUE_BOOL.

+ Here is the call graph for this function:

◆ addUserAutoCompleteObject()

ilObjUserFolderGUI::addUserAutoCompleteObject ( )
protected

Show auto complete results.

Definition at line 257 of file class.ilObjUserFolderGUI.php.

258 {
259 include_once './Services/User/classes/class.ilUserAutoComplete.php';
260 $auto = new ilUserAutoComplete();
261 $auto->setSearchFields(array('login','firstname','lastname','email', 'second_email'));
262 $auto->enableFieldSearchableCheck(false);
263 $auto->setMoreLinkAvailable(true);
264
265 if (($_REQUEST['fetchall'])) {
266 $auto->setLimit(ilUserAutoComplete::MAX_ENTRIES);
267 }
268
269 echo $auto->getList($_REQUEST['term']);
270 exit();
271 }
Auto completion class for user lists.

References exit, and ilUserAutoComplete\MAX_ENTRIES.

◆ addUserObject()

ilObjUserFolderGUI::addUserObject ( )

Add new user;.

Definition at line 181 of file class.ilObjUserFolderGUI.php.

182 {
183 global $ilCtrl;
184
185 $ilCtrl->setParameterByClass("ilobjusergui", "new_type", "usr");
186 $ilCtrl->redirectByClass(array("iladministrationgui", "ilobjusergui"), "create");
187 }

References $ilCtrl.

◆ applyFilterObject()

ilObjUserFolderGUI::applyFilterObject ( )

Apply filter.

Definition at line 193 of file class.ilObjUserFolderGUI.php.

194 {
195 global $ilTabs;
196
197 include_once("./Services/User/classes/class.ilUserTableGUI.php");
198 $utab = new ilUserTableGUI($this, "view");
199 $utab->resetOffset();
200 $utab->writeFilterToSession();
201 $this->viewObject();
202 $ilTabs->activateTab("usrf");
203 }
viewObject()
list childs of current object
TableGUI class for user administration.

References ilObjectGUI\viewObject().

+ Here is the call graph for this function:

◆ cancelDeleteExportFileObject()

ilObjUserFolderGUI::cancelDeleteExportFileObject ( )

cancel deletion of export files

Definition at line 1980 of file class.ilObjUserFolderGUI.php.

1981 {
1982 $this->ctrl->redirectByClass("ilobjuserfoldergui", "export");
1983 }

◆ cancelNewAccountMailObject()

ilObjUserFolderGUI::cancelNewAccountMailObject ( )

Definition at line 2243 of file class.ilObjUserFolderGUI.php.

2244 {
2245 $this->ctrl->redirect($this, "settings");
2246 }

◆ cancelSearchActionObject()

ilObjUserFolderGUI::cancelSearchActionObject ( )

Definition at line 402 of file class.ilObjUserFolderGUI.php.

403 {
404 $this->ctrl->redirectByClass('ilrepositorysearchgui', 'showSearchResults');
405 }

◆ cancelUserFolderActionObject()

ilObjUserFolderGUI::cancelUserFolderActionObject ( )

Definition at line 397 of file class.ilObjUserFolderGUI.php.

398 {
399 $this->ctrl->redirect($this, 'view');
400 }

◆ chooseLetterObject()

ilObjUserFolderGUI::chooseLetterObject ( )

Choose first letter.

Parameters

return

Definition at line 279 of file class.ilObjUserFolderGUI.php.

280 {
281 global $ilCtrl;
282
283 $ilCtrl->redirect($this, "view");
284 }

References $ilCtrl.

◆ confirmaccessFreeObject()

ilObjUserFolderGUI::confirmaccessFreeObject ( )

Definition at line 470 of file class.ilObjUserFolderGUI.php.

471 {
472 global $rbacsystem, $ilUser;
473
474 // FOR NON_REF_OBJECTS WE CHECK ACCESS ONLY OF PARENT OBJECT ONCE
475 if (!$rbacsystem->checkAccess('write', $this->object->getRefId())) {
476 $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"), $this->ilias->error_obj->WARNING);
477 }
478
479 // FOR ALL SELECTED OBJECTS
480 foreach ($_POST["id"] as $id) {
481 // instatiate correct object class (usr)
482 $obj = $this->ilias->obj_factory->getInstanceByObjId($id);
483 $obj->setTimeLimitUnlimited(1);
484 $obj->setTimeLimitFrom("");
485 $obj->setTimeLimitUntil("");
486 $obj->setTimeLimitMessage(0);
487 $obj->update();
488 }
489
490 // Feedback
491 ilUtil::sendSuccess($this->lng->txt("access_free_granted"), true);
492
493 if ($_POST["frsrch"]) {
494 $this->ctrl->redirectByClass('ilRepositorySearchGUI', 'show');
495 } else {
496 $this->ctrl->redirect($this, "view");
497 }
498 }
if(!array_key_exists('StateId', $_REQUEST)) $id
redirection script todo: (a better solution should control the processing via a xml file)
$ilUser
Definition: imgupload.php:18

References $_POST, $id, $ilUser, ilObjectGUI\$rbacsystem, and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ confirmaccessRestrictObject()

ilObjUserFolderGUI::confirmaccessRestrictObject ( )

Definition at line 553 of file class.ilObjUserFolderGUI.php.

554 {
556 if (!$form->checkInput()) {
557 return $this->setAccessRestrictionObject($form);
558 }
559
560 $timefrom = $form->getItemByPostVar("from")->getDate()->get(IL_CAL_UNIX);
561 $timeuntil = $form->getItemByPostVar("to")->getDate()->get(IL_CAL_UNIX);
562 if ($timeuntil <= $timefrom) {
563 ilUtil::sendFailure($this->lng->txt("time_limit_not_valid"));
564 return $this->setAccessRestrictionObject($form);
565 }
566
567 global $rbacsystem, $ilUser;
568
569 // FOR NON_REF_OBJECTS WE CHECK ACCESS ONLY OF PARENT OBJECT ONCE
570 if (!$rbacsystem->checkAccess('write', $this->object->getRefId())) {
571 $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"), $this->ilias->error_obj->WARNING);
572 }
573
574 // FOR ALL SELECTED OBJECTS
575 foreach ($_POST["id"] as $id) {
576 // instatiate correct object class (usr)
577 $obj = $this->ilias->obj_factory->getInstanceByObjId($id);
578 $obj->setTimeLimitUnlimited(0);
579 $obj->setTimeLimitFrom($timefrom);
580 $obj->setTimeLimitUntil($timeuntil);
581 $obj->setTimeLimitMessage(0);
582 $obj->update();
583 }
584
585 // Feedback
586 ilUtil::sendSuccess($this->lng->txt("access_restricted"), true);
587
588 if ($_POST["frsrch"]) {
589 $this->ctrl->redirectByClass('ilRepositorySearchGUI', 'show');
590 } else {
591 $this->ctrl->redirect($this, "view");
592 }
593 }
const IL_CAL_UNIX
setAccessRestrictionObject($a_form=null, $a_from_search=false)
initAccessRestrictionForm($a_from_search=false)
if(isset($_POST['submit'])) $form

References $_POST, $form, $id, $ilUser, ilObjectGUI\$rbacsystem, IL_CAL_UNIX, initAccessRestrictionForm(), ilUtil\sendFailure(), ilUtil\sendSuccess(), and setAccessRestrictionObject().

+ Here is the call graph for this function:

◆ confirmactivateObject()

ilObjUserFolderGUI::confirmactivateObject ( )

Set the selected users active.

@access public

Definition at line 412 of file class.ilObjUserFolderGUI.php.

413 {
414 global $rbacsystem, $ilUser;
415
416 // FOR NON_REF_OBJECTS WE CHECK ACCESS ONLY OF PARENT OBJECT ONCE
417 if (!$rbacsystem->checkAccess('write', $this->object->getRefId())) {
418 $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"), $this->ilias->error_obj->WARNING);
419 }
420
421 // FOR ALL SELECTED OBJECTS
422 foreach ($_POST["id"] as $id) {
423 // instatiate correct object class (usr)
424 $obj =&$this->ilias->obj_factory->getInstanceByObjId($id);
425 $obj->setActive(true, $ilUser->getId());
426 $obj->update();
427 }
428
429 ilUtil::sendSuccess($this->lng->txt("user_activated"), true);
430
431 if ($_POST["frsrch"]) {
432 $this->ctrl->redirectByClass('ilRepositorySearchGUI', 'show');
433 } else {
434 $this->ctrl->redirect($this, "view");
435 }
436 }

References $_POST, $id, $ilUser, ilObjectGUI\$rbacsystem, and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ confirmdeactivateObject()

ilObjUserFolderGUI::confirmdeactivateObject ( )

Set the selected users inactive.

@access public

Definition at line 443 of file class.ilObjUserFolderGUI.php.

444 {
445 global $rbacsystem, $ilUser;
446
447 // FOR NON_REF_OBJECTS WE CHECK ACCESS ONLY OF PARENT OBJECT ONCE
448 if (!$rbacsystem->checkAccess('write', $this->object->getRefId())) {
449 $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"), $this->ilias->error_obj->WARNING);
450 }
451
452 // FOR ALL SELECTED OBJECTS
453 foreach ($_POST["id"] as $id) {
454 // instatiate correct object class (usr)
455 $obj =&$this->ilias->obj_factory->getInstanceByObjId($id);
456 $obj->setActive(false, $ilUser->getId());
457 $obj->update();
458 }
459
460 // Feedback
461 ilUtil::sendSuccess($this->lng->txt("user_deactivated"), true);
462
463 if ($_POST["frsrch"]) {
464 $this->ctrl->redirectByClass('ilRepositorySearchGUI', 'show');
465 } else {
466 $this->ctrl->redirect($this, "view");
467 }
468 }

References $_POST, $id, $ilUser, ilObjectGUI\$rbacsystem, and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ confirmDeleteExportFileObject()

ilObjUserFolderGUI::confirmDeleteExportFileObject ( )

confirmation screen for export file deletion

Definition at line 1954 of file class.ilObjUserFolderGUI.php.

1955 {
1956 if (!isset($_POST["file"])) {
1957 $this->ilias->raiseError($this->lng->txt("no_checkbox"), $this->ilias->error_obj->MESSAGE);
1958 }
1959
1960 // display confirmation message
1961 include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
1962 $cgui = new ilConfirmationGUI();
1963 $cgui->setFormAction($this->ctrl->getFormAction($this));
1964 $cgui->setHeaderText($this->lng->txt("info_delete_sure"));
1965 $cgui->setCancel($this->lng->txt("cancel"), "cancelDeleteExportFile");
1966 $cgui->setConfirm($this->lng->txt("confirm"), "deleteExportFile");
1967
1968 // BEGIN TABLE DATA
1969 foreach ($_POST["file"] as $file) {
1970 $cgui->addItem("file[]", $file, $file, ilObject::_getIcon($this->object->getId()), $this->lng->txt("obj_usrf"));
1971 }
1972
1973 $this->tpl->setContent($cgui->getHTML());
1974 }
Confirmation screen class.
static _getIcon( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file

References $_POST, $file, and ilObject\_getIcon().

+ Here is the call graph for this function:

◆ confirmdeleteObject()

ilObjUserFolderGUI::confirmdeleteObject ( )

confirm delete Object

@access public

Definition at line 600 of file class.ilObjUserFolderGUI.php.

601 {
602 global $rbacsystem, $ilCtrl, $ilUser;
603
604 // FOR NON_REF_OBJECTS WE CHECK ACCESS ONLY OF PARENT OBJECT ONCE
605 if (!$rbacsystem->checkAccess('delete', $this->object->getRefId())) {
606 ilUtil::sendFailure($this->lng->txt("msg_no_perm_delete"), true);
607 $ilCtrl->redirect($this, "view");
608 }
609
610 if (in_array($ilUser->getId(), $_POST["id"])) {
611 $this->ilias->raiseError($this->lng->txt("msg_no_delete_yourself"), $this->ilias->error_obj->WARNING);
612 }
613
614 // FOR ALL SELECTED OBJECTS
615 foreach ($_POST["id"] as $id) {
616 // instatiate correct object class (usr)
617 $obj =&$this->ilias->obj_factory->getInstanceByObjId($id);
618 $obj->delete();
619 }
620
621 // Feedback
622 ilUtil::sendSuccess($this->lng->txt("user_deleted"), true);
623
624 if ($_POST["frsrch"]) {
625 $this->ctrl->redirectByClass('ilRepositorySearchGUI', 'show');
626 } else {
627 $this->ctrl->redirect($this, "view");
628 }
629 }

References $_POST, $id, $ilCtrl, $ilUser, ilObjectGUI\$rbacsystem, ilUtil\sendFailure(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ confirmSavedObject()

ilObjUserFolderGUI::confirmSavedObject ( )

Definition at line 1751 of file class.ilObjUserFolderGUI.php.

1752 {
1753 $this->saveGlobalUserSettingsObject("save");
1754 }

References saveGlobalUserSettingsObject().

+ Here is the call graph for this function:

◆ deactivateUsersObject()

ilObjUserFolderGUI::deactivateUsersObject ( )

Deactivate users.

Definition at line 734 of file class.ilObjUserFolderGUI.php.

735 {
736 $_POST["selectedAction"] = "deactivate";
737 $this->showActionConfirmation($_POST["selectedAction"]);
738 }

References $_POST, and showActionConfirmation().

+ Here is the call graph for this function:

◆ deleteExportFileObject()

ilObjUserFolderGUI::deleteExportFileObject ( )

delete export files

Definition at line 1989 of file class.ilObjUserFolderGUI.php.

1990 {
1991 $export_dir = $this->object->getExportDirectory();
1992 foreach ($_POST["file"] as $file) {
1993 $file = basename($file);
1994
1995 $exp_file = $export_dir . "/" . $file;
1996 if (@is_file($exp_file)) {
1997 unlink($exp_file);
1998 }
1999 }
2000 $this->ctrl->redirectByClass("ilobjuserfoldergui", "export");
2001 }

References $_POST, and $file.

◆ deleteUsersObject()

ilObjUserFolderGUI::deleteUsersObject ( )

Delete users.

Definition at line 716 of file class.ilObjUserFolderGUI.php.

717 {
718 $_POST["selectedAction"] = "delete";
719 $this->showActionConfirmation($_POST["selectedAction"]);
720 }

References $_POST, and showActionConfirmation().

+ Here is the call graph for this function:

◆ downloadExportFileObject()

ilObjUserFolderGUI::downloadExportFileObject ( )

Download selected export files.

Sends a selected export file for download

Definition at line 1935 of file class.ilObjUserFolderGUI.php.

1936 {
1937 if (!isset($_POST["file"])) {
1938 $this->ilias->raiseError($this->lng->txt("no_checkbox"), $this->ilias->error_obj->MESSAGE);
1939 }
1940
1941 if (count($_POST["file"]) > 1) {
1942 $this->ilias->raiseError($this->lng->txt("select_max_one_item"), $this->ilias->error_obj->MESSAGE);
1943 }
1944
1945 $file = basename($_POST["file"][0]);
1946
1947 $export_dir = $this->object->getExportDirectory();
1948 ilUtil::deliverFile($export_dir . "/" . $file, $file);
1949 }
static deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.

References $_POST, $file, and ilUtil\deliverFile().

+ Here is the call graph for this function:

◆ executeCommand()

ilObjUserFolderGUI::executeCommand ( )

execute command

Reimplemented from ilObjectGUI.

Definition at line 57 of file class.ilObjUserFolderGUI.php.

58 {
59 global $ilTabs;
60
61 $next_class = $this->ctrl->getNextClass($this);
62 $cmd = $this->ctrl->getCmd();
63 $this->prepareOutput();
64
65 switch ($next_class) {
66 case 'ilusertablegui':
67 include_once("./Services/User/classes/class.ilUserTableGUI.php");
68 $u_table = new ilUserTableGUI($this, "view");
69 $u_table->initFilter();
70 $this->ctrl->setReturn($this, 'view');
71 $this->ctrl->forwardCommand($u_table);
72 break;
73
74 case 'ilpermissiongui':
75 include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
76 $perm_gui = new ilPermissionGUI($this);
77 $ret =&$this->ctrl->forwardCommand($perm_gui);
78 break;
79
80 case 'ilrepositorysearchgui':
81 include_once('./Services/Search/classes/class.ilRepositorySearchGUI.php');
82 $user_search = new ilRepositorySearchGUI();
83 $user_search->setTitle($this->lng->txt("search_user_extended")); // #17502
84 $user_search->enableSearchableCheck(false);
85 $user_search->setUserLimitations(false);
86 $user_search->setCallback(
87 $this,
88 'searchResultHandler',
89 $this->getUserMultiCommands(true)
90 );
91 $this->tabs_gui->setTabActive('search_user_extended');
92 $this->ctrl->setReturn($this, 'view');
93 $ret =&$this->ctrl->forwardCommand($user_search);
94 break;
95
96 case 'ilaccountcodesgui':
97 $this->tabs_gui->setTabActive('settings');
98 $this->setSubTabs("settings");
99 $ilTabs->activateSubTab("account_codes");
100 include_once("./Services/User/classes/class.ilAccountCodesGUI.php");
101 $acc = new ilAccountCodesGUI($this->ref_id);
102 $this->ctrl->forwardCommand($acc);
103 break;
104
105 case 'ilcustomuserfieldsgui':
106 $this->tabs_gui->setTabActive('settings');
107 $this->setSubTabs("settings");
108 $ilTabs->activateSubTab("user_defined_fields");
109 include_once("./Services/User/classes/class.ilCustomUserFieldsGUI.php");
110 $cf = new ilCustomUserFieldsGUI();
111 $this->ctrl->forwardCommand($cf);
112 break;
113
114 case 'iluserstartingpointgui':
115 $this->tabs_gui->setTabActive('settings');
116 $this->setSubTabs("settings");
117 $ilTabs->activateSubTab("starting_points");
118 include_once("./Services/User/classes/class.ilUserStartingPointGUI.php");
119 $cf = new ilUserStartingPointGUI($this->ref_id);
120 $this->ctrl->forwardCommand($cf);
121 break;
122
123 case 'iluserprofileinfosettingsgui':
124 $this->tabs_gui->setTabActive('settings');
125 $this->setSubTabs("settings");
126 $ilTabs->activateSubTab("user_profile_settings");
127 include_once("./Services/User/classes/class.ilUserProfileInfoSettingsGUI.php");
129 $this->ctrl->forwardCommand($ps);
130 break;
131
132 default:
133 if (!$cmd) {
134 $cmd = "view";
135 }
136 $cmd .= "Object";
137 $this->$cmd();
138
139 break;
140 }
141 return true;
142 }
GUI class for account codes.
Class ilCustomUserFieldsGUI.
getUserMultiCommands($a_search_form=false)
setSubTabs($a_tab)
set sub tabs
prepareOutput($a_show_subobjects=true)
prepare output
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
User profile info settings UI class.
Class ilUserStartingPointGUI.
$ret
Definition: parser.php:6

References $ret, getUserMultiCommands(), ilObjectGUI\prepareOutput(), and setSubTabs().

+ Here is the call graph for this function:

◆ exportObject()

ilObjUserFolderGUI::exportObject ( )

Global user settings.

Allows to define global settings for user accounts

Note: The Global user settings form allows to specify default values for some user preferences. To avoid redundant implementations, specification of default values can be done elsewhere in ILIAS are not supported by this form.

Definition at line 2013 of file class.ilObjUserFolderGUI.php.

2014 {
2015 global $ilias, $ilCtrl;
2016
2017 if ($_POST["cmd"]["export"]) {
2018 $this->object->buildExportFile($_POST["export_type"]);
2019 $this->ctrl->redirectByClass("ilobjuserfoldergui", "export");
2020 exit;
2021 }
2022
2023 $this->tpl->addBlockfile('ADM_CONTENT', 'adm_content', 'tpl.usr_export.html', 'Services/User');
2024
2025 $export_types = array(
2026 "userfolder_export_excel_x86",
2027 "userfolder_export_csv",
2028 "userfolder_export_xml"
2029 );
2030
2031 // create table
2032 include_once("./Services/Table/classes/class.ilTableGUI.php");
2033 $tbl = new ilTableGUI();
2034
2035 // load files templates
2036 $this->tpl->addBlockfile("EXPORT_FILES", "export_files", "tpl.table.html");
2037
2038 // load template for table content data
2039 $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.usr_export_file_row.html", "Services/User");
2040
2041 $num = 0;
2042
2043 $tbl->setTitle($this->lng->txt("userfolder_export_files"));
2044
2045 $tbl->setHeaderNames(array("", $this->lng->txt("userfolder_export_file"),
2046 $this->lng->txt("userfolder_export_file_size"), $this->lng->txt("date") ));
2047 $tbl->setHeaderVars(array(), $ilCtrl->getParameterArray($this, "export"));
2048
2049 $tbl->enabled["sort"] = false;
2050 $tbl->setColumnWidth(array("1%", "49%", "25%", "25%"));
2051
2052 // control
2053 $tbl->setOrderColumn($_GET["sort_by"]);
2054 $tbl->setOrderDirection($_GET["sort_order"]);
2055 $tbl->setLimit($_GET["limit"]);
2056 $tbl->setOffset($_GET["offset"]);
2057 $tbl->setMaxCount($this->maxcount); // ???
2058
2059
2060 $this->tpl->setVariable("COLUMN_COUNTS", 4);
2061
2062 // delete button
2063 $this->tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.svg"));
2064 $this->tpl->setVariable("ALT_ARROW", $this->lng->txt("actions"));
2065 $this->tpl->setCurrentBlock("tbl_action_btn");
2066 $this->tpl->setVariable("BTN_NAME", "confirmDeleteExportFile");
2067 $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("delete"));
2068 $this->tpl->parseCurrentBlock();
2069
2070 $this->tpl->setCurrentBlock("tbl_action_btn");
2071 $this->tpl->setVariable("BTN_NAME", "downloadExportFile");
2072 $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("download"));
2073 $this->tpl->parseCurrentBlock();
2074
2075 // footer
2076 $tbl->setFooter("tblfooter", $this->lng->txt("previous"), $this->lng->txt("next"));
2077 //$tbl->disable("footer");
2078
2079 $export_files = $this->object->getExportFiles();
2080
2081 $tbl->setMaxCount(count($export_files));
2082 $export_files = array_slice($export_files, $_GET["offset"], $_GET["limit"]);
2083
2084 $tbl->render();
2085
2086 if (count($export_files) > 0) {
2087 $i=0;
2088 foreach ($export_files as $exp_file) {
2089 $this->tpl->setCurrentBlock("tbl_content");
2090 $this->tpl->setVariable("TXT_FILENAME", $exp_file["filename"]);
2091
2092 $css_row = ilUtil::switchColor($i++, "tblrow1", "tblrow2");
2093 $this->tpl->setVariable("CSS_ROW", $css_row);
2094
2095 $this->tpl->setVariable("TXT_SIZE", $exp_file["filesize"]);
2096 $this->tpl->setVariable("CHECKBOX_ID", $exp_file["filename"]);
2097
2098 $file_arr = explode("__", $exp_file["filename"]);
2099 $this->tpl->setVariable('TXT_DATE', ilDatePresentation::formatDate(new ilDateTime($file_arr[0], IL_CAL_UNIX)));
2100
2101 $this->tpl->parseCurrentBlock();
2102 }
2103
2104 $this->tpl->setCurrentBlock("selectall");
2105 $this->tpl->setVariable("SELECT_ALL", $this->lng->txt("select_all"));
2106 $this->tpl->setVariable("CSS_ROW", $css_row);
2107 $this->tpl->parseCurrentBlock();
2108 } //if is_array
2109 /*
2110 else
2111
2112 {
2113 $this->tpl->setCurrentBlock("notfound");
2114 $this->tpl->setVariable("TXT_OBJECT_NOT_FOUND", $this->lng->txt("obj_not_found"));
2115 $this->tpl->setVariable("NUM_COLS", 3);
2116 $this->tpl->parseCurrentBlock();
2117 }
2118 */
2119
2120 $this->tpl->parseCurrentBlock();
2121
2122
2123 foreach ($export_types as $export_type) {
2124 $this->tpl->setCurrentBlock("option");
2125 $this->tpl->setVariable("OPTION_VALUE", $export_type);
2126 $this->tpl->setVariable("OPTION_TEXT", $this->lng->txt($export_type));
2127 $this->tpl->parseCurrentBlock();
2128 }
2129
2130 $this->tpl->setVariable("EXPORT_BUTTON", $this->lng->txt("create_export_file"));
2131 $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
2132 }
$_GET["client_id"]
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date @access public.
@classDescription Date and time handling
Class ilTableGUI.
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows)
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
$i
Definition: disco.tpl.php:19
$tbl
Definition: example_048.php:81

References $_GET, $_POST, $i, $ilCtrl, $tbl, exit, ilDatePresentation\formatDate(), ilUtil\getImagePath(), IL_CAL_UNIX, and ilUtil\switchColor().

+ Here is the call graph for this function:

◆ freeAccessObject()

ilObjUserFolderGUI::freeAccessObject ( )

Free access.

Definition at line 752 of file class.ilObjUserFolderGUI.php.

753 {
754 $_POST["selectedAction"] = "accessFree";
755 $this->showActionConfirmation($_POST["selectedAction"]);
756 }

References $_POST, and showActionConfirmation().

+ Here is the call graph for this function:

◆ generalSettingsObject()

ilObjUserFolderGUI::generalSettingsObject ( )
protected

Show user account general settings.

Returns

Definition at line 1291 of file class.ilObjUserFolderGUI.php.

1292 {
1293 global $ilSetting;
1294
1295 $this->initFormGeneralSettings();
1296
1297 include_once './Services/User/classes/class.ilUserAccountSettings.php';
1299
1300 $show_blocking_time_in_days = $ilSetting->get('loginname_change_blocking_time') / 86400;
1301 $show_blocking_time_in_days = (float) $show_blocking_time_in_days;
1302
1303 include_once('./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1305
1306 $this->form->setValuesByArray(
1307 array(
1308 'lua' => $aset->isLocalUserAdministrationEnabled(),
1309 'lrua' => $aset->isUserAccessRestricted(),
1310 'allow_change_loginname' => (bool) $ilSetting->get('allow_change_loginname'),
1311 'create_history_loginname' => (bool) $ilSetting->get('create_history_loginname'),
1312 'reuse_of_loginnames' => (bool) $ilSetting->get('reuse_of_loginnames'),
1313 'loginname_change_blocking_time' => (float) $show_blocking_time_in_days,
1314 'user_adm_alpha_nav' => (int) $ilSetting->get('user_adm_alpha_nav'),
1315 // 'user_ext_profiles' => (int)$ilSetting->get('user_ext_profiles')
1316 'user_reactivate_code' => (int) $ilSetting->get('user_reactivate_code'),
1317 'user_own_account' => (int) $ilSetting->get('user_delete_own_account'),
1318 'user_own_account_email' => $ilSetting->get('user_delete_own_account_email'),
1319
1320 'session_handling_type' => $ilSetting->get('session_handling_type', ilSession::SESSION_HANDLING_FIXED),
1321 'session_reminder_enabled' => $ilSetting->get('session_reminder_enabled'),
1322 'session_max_count' => $ilSetting->get('session_max_count', ilSessionControl::DEFAULT_MAX_COUNT),
1323 'session_min_idle' => $ilSetting->get('session_min_idle', ilSessionControl::DEFAULT_MIN_IDLE),
1324 'session_max_idle' => $ilSetting->get('session_max_idle', ilSessionControl::DEFAULT_MAX_IDLE),
1325 'session_max_idle_after_first_request' => $ilSetting->get('session_max_idle_after_first_request', ilSessionControl::DEFAULT_MAX_IDLE_AFTER_FIRST_REQUEST),
1326
1327 'password_change_on_first_login_enabled' => $security->isPasswordChangeOnFirstLoginEnabled() ? 1 : 0,
1328 'password_must_not_contain_loginame' => $security->getPasswordMustNotContainLoginnameStatus() ? 1 : 0,
1329 'password_chars_and_numbers_enabled' => $security->isPasswordCharsAndNumbersEnabled() ? 1 : 0,
1330 'password_special_chars_enabled' => $security->isPasswordSpecialCharsEnabled() ? 1 : 0 ,
1331 'password_min_length' => $security->getPasswordMinLength(),
1332 'password_max_length' => $security->getPasswordMaxLength(),
1333 'password_ucase_chars_num' => $security->getPasswordNumberOfUppercaseChars(),
1334 'password_lowercase_chars_num' => $security->getPasswordNumberOfLowercaseChars(),
1335 'password_max_age' => $security->getPasswordMaxAge(),
1336
1337 'login_max_attempts' => $security->getLoginMaxAttempts(),
1338 'ps_prevent_simultaneous_logins' => (int) $security->isPreventionOfSimultaneousLoginsEnabled(),
1339 'password_assistance' => (bool) $ilSetting->get("password_assistance")
1340 ,'letter_avatars' => (int) $ilSetting->get('letter_avatars')
1341 )
1342 );
1343
1344 $this->tpl->setContent($this->form->getHTML());
1345 }
initFormGeneralSettings()
init general settings form
const DEFAULT_MAX_COUNT
default value for settings that have not been defined in setup or administration yet
const SESSION_HANDLING_FIXED
static getInstance()
Singelton get instance.
global $ilSetting
Definition: privfeed.php:17

References $ilSetting, ilSecuritySettings\_getInstance(), ilSessionControl\DEFAULT_MAX_COUNT, ilSessionControl\DEFAULT_MAX_IDLE, ilSessionControl\DEFAULT_MAX_IDLE_AFTER_FIRST_REQUEST, ilSessionControl\DEFAULT_MIN_IDLE, ilUserAccountSettings\getInstance(), initFormGeneralSettings(), and ilSession\SESSION_HANDLING_FIXED.

+ Here is the call graph for this function:

◆ getActionUserIds()

ilObjUserFolderGUI::getActionUserIds ( )
protected

Get selected items for table action.

Returns
array

Definition at line 636 of file class.ilObjUserFolderGUI.php.

637 {
638 if ($_POST["select_cmd_all"]) {
639 include_once("./Services/User/classes/class.ilUserTableGUI.php");
640 $utab = new ilUserTableGUI($this, "view", ilUserTableGUI::MODE_USER_FOLDER, false);
641 return $utab->getUserIdsForFilter();
642 } else {
643 return $_POST["id"];
644 }
645 }

References $_POST, and ilUserTableGUI\MODE_USER_FOLDER.

Referenced by initAccessRestrictionForm(), mailObject(), showActionConfirmation(), usrExportCsvObject(), usrExportX86Object(), and usrExportXmlObject().

+ Here is the caller graph for this function:

◆ getAdminTabs()

ilObjUserFolderGUI::getAdminTabs ( )

administration tabs show only permissions and trash folder

Reimplemented from ilObjectGUI.

Definition at line 2280 of file class.ilObjUserFolderGUI.php.

2281 {
2282 $this->getTabs();
2283 }
getTabs()
get tabs @access public

References getTabs().

+ Here is the call graph for this function:

◆ getImportDir()

ilObjUserFolderGUI::getImportDir ( )

get user import directory name

Definition at line 834 of file class.ilObjUserFolderGUI.php.

835 {
836 // For each user session a different directory must be used to prevent
837 // that one user session overwrites the import data that another session
838 // is currently importing.
839 global $ilUser;
840 $importDir = ilUtil::getDataDir() . '/user_import/usr_' . $ilUser->getId() . '_' . session_id();
841 ilUtil::makeDirParents($importDir);
842 return $importDir;
843 }
static getDataDir()
get data directory (outside webspace)
static makeDirParents($a_dir)
Create a new directory and all parent directories.

References $ilUser, ilUtil\getDataDir(), and ilUtil\makeDirParents().

Referenced by importCancelledObject(), importUserRoleAssignmentObject(), and importUsersObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTabs()

ilObjUserFolderGUI::getTabs ( )

get tabs @access public

Parameters
objecttabs gui object

Reimplemented from ilObjectGUI.

Definition at line 2290 of file class.ilObjUserFolderGUI.php.

2291 {
2292 include_once 'Services/Tracking/classes/class.ilObjUserTracking.php';
2293
2294 global $rbacsystem;
2295
2296 if ($rbacsystem->checkAccess("visible,read", $this->object->getRefId())) {
2297 $this->tabs_gui->addTarget(
2298 "usrf",
2299 $this->ctrl->getLinkTarget($this, "view"),
2300 array("view","delete","resetFilter", "userAction", ""),
2301 "",
2302 ""
2303 );
2304
2305 $this->tabs_gui->addTarget(
2306 "search_user_extended",
2307 $this->ctrl->getLinkTargetByClass('ilRepositorySearchGUI', ''),
2308 array(),
2309 "ilrepositorysearchgui",
2310 ""
2311 );
2312 }
2313
2314 if ($rbacsystem->checkAccess("write", $this->object->getRefId())) {
2315 $this->tabs_gui->addTarget(
2316 "settings",
2317 $this->ctrl->getLinkTarget($this, "generalSettings"),
2318 array('settings','generalSettings','listUserDefinedField','newAccountMail')
2319 );
2320
2321 $this->tabs_gui->addTarget(
2322 "export",
2323 $this->ctrl->getLinkTarget($this, "export"),
2324 "export",
2325 "",
2326 ""
2327 );
2328
2329 /* deprecated, JF 27 May 2013
2330 if(ilObjUserTracking::_enabledLearningProgress() &&
2331 ilObjUserTracking::_enabledUserRelatedData())
2332 {
2333 $tabs_gui->addTarget("learning_progress",
2334 $this->ctrl->getLinkTarget($this, "learningProgress"), "learningProgress", "", "");
2335 }
2336 */
2337 }
2338
2339 if ($rbacsystem->checkAccess('edit_permission', $this->object->getRefId())) {
2340 $this->tabs_gui->addTarget(
2341 "perm_settings",
2342 $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"),
2343 array("perm","info","owner"),
2344 'ilpermissiongui'
2345 );
2346 }
2347 }

References ilObjectGUI\$rbacsystem.

Referenced by getAdminTabs().

+ Here is the caller graph for this function:

◆ getUserMultiCommands()

ilObjUserFolderGUI::getUserMultiCommands (   $a_search_form = false)

Definition at line 2548 of file class.ilObjUserFolderGUI.php.

2549 {
2550 global $rbacsystem, $ilUser;
2551
2552 // see searchResultHandler()
2553 if ($a_search_form) {
2554 $cmds = array(
2555 'activate' => $this->lng->txt('activate'),
2556 'deactivate' => $this->lng->txt('deactivate'),
2557 'accessRestrict' => $this->lng->txt('accessRestrict'),
2558 'accessFree' => $this->lng->txt('accessFree')
2559 );
2560
2561 if ($rbacsystem->checkAccess('delete', $this->object->getRefId())) {
2562 $cmds["delete"] = $this->lng->txt("delete");
2563 }
2564 }
2565 // show confirmation
2566 else {
2567 $cmds = array(
2568 'activateUsers' => $this->lng->txt('activate'),
2569 'deactivateUsers' => $this->lng->txt('deactivate'),
2570 'restrictAccess' => $this->lng->txt('accessRestrict'),
2571 'freeAccess' => $this->lng->txt('accessFree')
2572 );
2573
2574 if ($rbacsystem->checkAccess('delete', $this->object->getRefId())) {
2575 $cmds["deleteUsers"] = $this->lng->txt("delete");
2576 }
2577 }
2578
2579 // no confirmation needed
2580 $export_types = array("userfolder_export_excel_x86", "userfolder_export_csv", "userfolder_export_xml");
2581 foreach ($export_types as $type) {
2582 $cmd = explode("_", $type);
2583 $cmd = array_pop($cmd);
2584 $cmds['usrExport' . ucfirst($cmd)] = $this->lng->txt('export') . ' - ' .
2585 $this->lng->txt($type);
2586 }
2587
2588 // check if current user may send mails
2589 include_once "Services/Mail/classes/class.ilMail.php";
2590 $mail = new ilMail($ilUser->getId());
2591 if ($rbacsystem->checkAccess('internal_mail', $mail->getMailObjectReferenceId())) {
2592 $cmds["mail"] = $this->lng->txt("send_mail");
2593 }
2594
2595 $cmds['addToClipboard'] = $this->lng->txt('clipboard_add_btn');
2596
2597 return $cmds;
2598 }
This class handles base functions for mail handling.
$type

References $ilUser, ilObjectGUI\$rbacsystem, and $type.

Referenced by executeCommand().

+ Here is the caller graph for this function:

◆ getUserOwnerId()

ilObjUserFolderGUI::getUserOwnerId ( )

Definition at line 52 of file class.ilObjUserFolderGUI.php.

53 {
54 return $this->user_owner_id ? $this->user_owner_id : USER_FOLDER_ID;
55 }

References USER_FOLDER_ID.

Referenced by importUsersObject().

+ Here is the caller graph for this function:

◆ hitsperpageObject()

ilObjUserFolderGUI::hitsperpageObject ( )

Reimplemented from ilObjectGUI.

Definition at line 1281 of file class.ilObjUserFolderGUI.php.

1282 {
1283 parent::hitsperpageObject();
1284 $this->viewObject();
1285 }

References ilObjectGUI\viewObject().

+ Here is the call graph for this function:

◆ importCancelledObject()

ilObjUserFolderGUI::importCancelledObject ( )

import cancelled

@access private

Definition at line 815 of file class.ilObjUserFolderGUI.php.

816 {
817 // purge user import directory
818 $import_dir = $this->getImportDir();
819 if (@is_dir($import_dir)) {
820 ilUtil::delDir($import_dir);
821 }
822
823 if (strtolower($_GET["baseClass"]) == 'iladministrationgui') {
824 $this->ctrl->redirect($this, "view");
825 //ilUtil::redirect($this->ctrl->getLinkTarget($this,$return_location));
826 } else {
827 $this->ctrl->redirectByClass('ilobjcategorygui', 'listUsers');
828 }
829 }
getImportDir()
get user import directory name
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively

References $_GET, ilUtil\delDir(), and getImportDir().

+ Here is the call graph for this function:

◆ importUserFormObject()

ilObjUserFolderGUI::importUserFormObject ( )

display form for user import

Definition at line 766 of file class.ilObjUserFolderGUI.php.

767 {
768 global $tpl, $rbacsystem;
769
770 // Blind out tabs for local user import
771 if ($_GET["baseClass"] == 'ilRepositoryGUI') {
772 $this->tabs_gui->clearTargets();
773 }
774
775 if (!$rbacsystem->checkAccess("write", $this->object->getRefId())) {
776 $this->ilias->raiseError($this->lng->txt("permission_denied"), $this->ilias->error_obj->MESSAGE);
777 }
778
779 $this->initUserImportForm();
780 $tpl->setContent($this->form->getHTML());
781 }
initUserImportForm()
Init user import form.

References $_GET, ilObjectGUI\$rbacsystem, ilObjectGUI\$tpl, and initUserImportForm().

+ Here is the call graph for this function:

◆ importUserRoleAssignmentObject()

ilObjUserFolderGUI::importUserRoleAssignmentObject ( )

display form for user import

Definition at line 848 of file class.ilObjUserFolderGUI.php.

849 {
850 global $ilUser, $tpl, $lng, $ilCtrl;
851 ;
852
853 // Blind out tabs for local user import
854 if ($_GET["baseClass"] == 'ilRepositoryGUI') {
855 $this->tabs_gui->clearTargets();
856 }
857
858 $this->initUserImportForm();
859 if ($this->form->checkInput()) {
860 include_once './Services/AccessControl/classes/class.ilObjRole.php';
861 include_once './Services/User/classes/class.ilUserImportParser.php';
862
864
865
866 $this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.usr_import_roles.html", "Services/User");
867
868 $import_dir = $this->getImportDir();
869
870 // recreate user import directory
871 if (@is_dir($import_dir)) {
872 ilUtil::delDir($import_dir);
873 }
874 ilUtil::makeDir($import_dir);
875
876 // move uploaded file to user import directory
877 $file_name = $_FILES["importFile"]["name"];
878 $parts = pathinfo($file_name);
879 $full_path = $import_dir . "/" . $file_name;
880
881 // check if import file exists
882 if (!is_file($_FILES["importFile"]["tmp_name"])) {
883 ilUtil::delDir($import_dir);
884 $this->ilias->raiseError($this->lng->txt("no_import_file_found"), $this->ilias->error_obj->MESSAGE);
885 }
886 ilUtil::moveUploadedFile(
887 $_FILES["importFile"]["tmp_name"],
888 $_FILES["importFile"]["name"],
889 $full_path
890 );
891
892 // handle zip file
893 if (strtolower($parts["extension"]) == "zip") {
894 // unzip file
895 ilUtil::unzip($full_path);
896
897 $xml_file = null;
898 $file_list = ilUtil::getDir($import_dir);
899 foreach ($file_list as $a_file) {
900 if (substr($a_file['entry'], -4) == '.xml') {
901 $xml_file = $import_dir . "/" . $a_file['entry'];
902 break;
903 }
904 }
905 if (is_null($xml_file)) {
906 $subdir = basename($parts["basename"], "." . $parts["extension"]);
907 $xml_file = $import_dir . "/" . $subdir . "/" . $subdir . ".xml";
908 }
909 }
910 // handle xml file
911 else {
912 $xml_file = $full_path;
913 }
914
915 // check xml file
916 if (!is_file($xml_file)) {
917 ilUtil::delDir($import_dir);
918 $this->ilias->raiseError($this->lng->txt("no_xml_file_found_in_zip")
919 . " " . $subdir . "/" . $subdir . ".xml", $this->ilias->error_obj->MESSAGE);
920 }
921
922 require_once("./Services/User/classes/class.ilUserImportParser.php");
923
924 // Verify the data
925 // ---------------
926 $importParser = new ilUserImportParser($xml_file, IL_VERIFY);
927 $importParser->startParsing();
928 switch ($importParser->getErrorLevel()) {
930 break;
932 $this->tpl->setVariable("IMPORT_LOG", $importParser->getProtocolAsHTML($lng->txt("verification_warning_log")));
933 break;
935 ilUtil::delDir($import_dir);
936 $this->ilias->raiseError(
937 $lng->txt("verification_failed") . $importParser->getProtocolAsHTML($lng->txt("verification_failure_log")),
938 $this->ilias->error_obj->MESSAGE
939 );
940 return;
941 }
942
943 // Create the role selection form
944 // ------------------------------
945 $this->tpl->setCurrentBlock("role_selection_form");
946 $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
947 $this->tpl->setVariable("TXT_IMPORT_USERS", $this->lng->txt("import_users"));
948 $this->tpl->setVariable("TXT_IMPORT_FILE", $this->lng->txt("import_file"));
949 $this->tpl->setVariable("IMPORT_FILE", $file_name);
950 $this->tpl->setVariable("TXT_USER_ELEMENT_COUNT", $this->lng->txt("num_users"));
951 $this->tpl->setVariable("USER_ELEMENT_COUNT", $importParser->getUserCount());
952 $this->tpl->setVariable("TXT_ROLE_ASSIGNMENT", $this->lng->txt("role_assignment"));
953 $this->tpl->setVariable("BTN_IMPORT", $this->lng->txt("import"));
954 $this->tpl->setVariable("BTN_CANCEL", $this->lng->txt("cancel"));
955 $this->tpl->setVariable("XML_FILE_NAME", $xml_file);
956
957 // Extract the roles
958 $importParser = new ilUserImportParser($xml_file, IL_EXTRACT_ROLES);
959 $importParser->startParsing();
960 $roles = $importParser->getCollectedRoles();
961
962 // get global roles
963 $all_gl_roles = $rbacreview->getRoleListByObject(ROLE_FOLDER_ID);
964 $gl_roles = array();
965 $roles_of_user = $rbacreview->assignedRoles($ilUser->getId());
966 foreach ($all_gl_roles as $obj_data) {
967 // check assignment permission if called from local admin
968 if ($this->object->getRefId() != USER_FOLDER_ID) {
969 if (!in_array(SYSTEM_ROLE_ID, $roles_of_user) && !ilObjRole::_getAssignUsersStatus($obj_data['obj_id'])) {
970 continue;
971 }
972 }
973 // exclude anonymous role from list
974 if ($obj_data["obj_id"] != ANONYMOUS_ROLE_ID) {
975 // do not allow to assign users to administrator role if current user does not has SYSTEM_ROLE_ID
976 if ($obj_data["obj_id"] != SYSTEM_ROLE_ID or in_array(SYSTEM_ROLE_ID, $roles_of_user)) {
977 $gl_roles[$obj_data["obj_id"]] = $obj_data["title"];
978 }
979 }
980 }
981
982 // global roles
983 $got_globals = false;
984 foreach ($roles as $role_id => $role) {
985 if ($role["type"] == "Global") {
986 if (!$got_globals) {
987 $got_globals = true;
988
989 $this->tpl->setCurrentBlock("global_role_section");
990 $this->tpl->setVariable("TXT_GLOBAL_ROLES_IMPORT", $this->lng->txt("roles_of_import_global"));
991 $this->tpl->setVariable("TXT_GLOBAL_ROLES", $this->lng->txt("assign_global_role"));
992 }
993
994 // pre selection for role
995 $pre_select = array_search($role["name"], $gl_roles);
996 if (!$pre_select) {
997 switch ($role["name"]) {
998 case "Administrator": // ILIAS 2/3 Administrator
999 $pre_select = array_search("Administrator", $gl_roles);
1000 break;
1001
1002 case "Autor": // ILIAS 2 Author
1003 $pre_select = array_search("User", $gl_roles);
1004 break;
1005
1006 case "Lerner": // ILIAS 2 Learner
1007 $pre_select = array_search("User", $gl_roles);
1008 break;
1009
1010 case "Gast": // ILIAS 2 Guest
1011 $pre_select = array_search("Guest", $gl_roles);
1012 break;
1013
1014 default:
1015 $pre_select = array_search("User", $gl_roles);
1016 break;
1017 }
1018 }
1019 $this->tpl->setCurrentBlock("global_role");
1020 $role_select = ilUtil::formSelect($pre_select, "role_assign[" . $role_id . "]", $gl_roles, false, true);
1021 $this->tpl->setVariable("TXT_IMPORT_GLOBAL_ROLE", $role["name"] . " [" . $role_id . "]");
1022 $this->tpl->setVariable("SELECT_GLOBAL_ROLE", $role_select);
1023 $this->tpl->parseCurrentBlock();
1024 }
1025 }
1026
1027 // Check if local roles need to be assigned
1028 $got_locals = false;
1029 foreach ($roles as $role_id => $role) {
1030 if ($role["type"] == "Local") {
1031 $got_locals = true;
1032 break;
1033 }
1034 }
1035
1036 if ($got_locals) {
1037 $this->tpl->setCurrentBlock("local_role_section");
1038 $this->tpl->setVariable("TXT_LOCAL_ROLES_IMPORT", $this->lng->txt("roles_of_import_local"));
1039 $this->tpl->setVariable("TXT_LOCAL_ROLES", $this->lng->txt("assign_local_role"));
1040
1041
1042 // get local roles
1043 if ($this->object->getRefId() == USER_FOLDER_ID) {
1044 // The import function has been invoked from the user folder
1045 // object. In this case, we show only matching roles,
1046 // because the user folder object is considered the parent of all
1047 // local roles and may contains thousands of roles on large ILIAS
1048 // installations.
1049 $loc_roles = array();
1050 require_once 'Services/Mail/classes/Address/Type/class.ilMailRoleAddressType.php';
1051 foreach ($roles as $role_id => $role) {
1052 if ($role["type"] == "Local") {
1053 $searchName = (substr($role['name'], 0, 1) == '#') ? $role['name'] : '#' . $role['name'];
1054 $matching_role_ids = ilMailRoleAddressType::searchRolesByMailboxAddressList($searchName);
1055 foreach ($matching_role_ids as $mid) {
1056 if (!in_array($mid, $loc_roles)) {
1057 $loc_roles[] = $mid;
1058 }
1059 }
1060 }
1061 }
1062 } else {
1063 // The import function has been invoked from a locally
1064 // administrated category. In this case, we show all roles
1065 // contained in the subtree of the category.
1066 $loc_roles = $rbacreview->getAssignableRolesInSubtree($this->object->getRefId());
1067 }
1068 $l_roles = array();
1069
1070 // create a search array with .
1071 $l_roles_mailbox_searcharray = array();
1072 require_once 'Services/Mail/classes/Address/Type/class.ilMailRoleAddressType.php';
1073 foreach ($loc_roles as $key => $loc_role) {
1074 // fetch context path of role
1075 $rolf = $rbacreview->getFoldersAssignedToRole($loc_role, true);
1076
1077 // only process role folders that are not set to status "deleted"
1078 // and for which the user has write permissions.
1079 // We also don't show the roles which are in the ROLE_FOLDER_ID folder.
1080 // (The ROLE_FOLDER_ID folder contains the global roles).
1081 if (
1082 !$rbacreview->isDeleted($rolf[0]) &&
1083 $rbacsystem->checkAccess('write', $rolf[0]) &&
1084 $rolf[0] != ROLE_FOLDER_ID
1085 ) {
1086 // A local role is only displayed, if it is contained in the subtree of
1087 // the localy administrated category. If the import function has been
1088 // invoked from the user folder object, we show all local roles, because
1089 // the user folder object is considered the parent of all local roles.
1090 // Thus, if we start from the user folder object, we initialize the
1091 // isInSubtree variable with true. In all other cases it is initialized
1092 // with false, and only set to true if we find the object id of the
1093 // locally administrated category in the tree path to the local role.
1094 $isInSubtree = $this->object->getRefId() == USER_FOLDER_ID;
1095
1096 $path_array = array();
1097 if ($this->tree->isInTree($rolf[0])) {
1098 // Create path. Paths which have more than 4 segments
1099 // are truncated in the middle.
1100 $tmpPath = $this->tree->getPathFull($rolf[0]);
1101 $tmpPath[] = $rolf[0];//adds target item to list
1102
1103 for ($i = 1, $n = count($tmpPath) - 1; $i < $n; $i++) {
1104 if ($i < 3 || $i > $n - 3) {
1105 $path_array[] = $tmpPath[$i]['title'];
1106 } elseif ($i == 3 || $i == $n - 3) {
1107 $path_array[] = '...';
1108 }
1109
1110 $isInSubtree |= $tmpPath[$i]['obj_id'] == $this->object->getId();
1111 }
1112 //revert this path for a better readability in dropdowns #18306
1113 $path = implode(" < ", array_reverse($path_array));
1114 } else {
1115 $path = "<b>Rolefolder " . $rolf[0] . " not found in tree! (Role " . $loc_role . ")</b>";
1116 }
1117 $roleMailboxAddress = ilMailRoleAddressType::getRoleMailboxAddress($loc_role);
1118 $l_roles[$loc_role] = $roleMailboxAddress . ', ' . $path;
1119 }
1120 } //foreach role
1121
1122 $l_roles[""] = "";
1123 natcasesort($l_roles);
1124 $l_roles[""] = $this->lng->txt("usrimport_ignore_role");
1125 require_once 'Services/Mail/classes/Address/Type/class.ilMailRoleAddressType.php';
1126 foreach ($roles as $role_id => $role) {
1127 if ($role["type"] == "Local") {
1128 $this->tpl->setCurrentBlock("local_role");
1129 $this->tpl->setVariable("TXT_IMPORT_LOCAL_ROLE", $role["name"]);
1130 $searchName = (substr($role['name'], 0, 1) == '#') ? $role['name'] : '#' . $role['name'];
1131 $matching_role_ids = ilMailRoleAddressType::searchRolesByMailboxAddressList($searchName);
1132 $pre_select = count($matching_role_ids) == 1 ? $matching_role_ids[0] : "";
1133 if ($this->object->getRefId() == USER_FOLDER_ID) {
1134 // There are too many roles in a large ILIAS installation
1135 // that's why whe show only a choice with the the option "ignore",
1136 // and the matching roles.
1137 $selectable_roles = array();
1138 $selectable_roles[""] = $this->lng->txt("usrimport_ignore_role");
1139 foreach ($matching_role_ids as $id) {
1140 $selectable_roles[$id] = $l_roles[$id];
1141 }
1142 $role_select = ilUtil::formSelect($pre_select, "role_assign[" . $role_id . "]", $selectable_roles, false, true);
1143 } else {
1144 $role_select = ilUtil::formSelect($pre_select, "role_assign[" . $role_id . "]", $l_roles, false, true);
1145 }
1146 $this->tpl->setVariable("SELECT_LOCAL_ROLE", $role_select);
1147 $this->tpl->parseCurrentBlock();
1148 }
1149 }
1150 }
1151 //
1152
1153 $this->tpl->setVariable("TXT_CONFLICT_HANDLING", $lng->txt("conflict_handling"));
1154 $handlers = array(
1155 IL_IGNORE_ON_CONFLICT => "ignore_on_conflict",
1156 IL_UPDATE_ON_CONFLICT => "update_on_conflict"
1157 );
1158 $this->tpl->setVariable("TXT_CONFLICT_HANDLING_INFO", str_replace('\n', '<br>', $this->lng->txt("usrimport_conflict_handling_info")));
1159 $this->tpl->setVariable("TXT_CONFLICT_CHOICE", $lng->txt("conflict_handling"));
1160 $this->tpl->setVariable("SELECT_CONFLICT", ilUtil::formSelect(IL_IGNORE_ON_CONFLICT, "conflict_handling_choice", $handlers, false, false));
1161
1162 // new account mail
1163 $this->lng->loadLanguageModule("mail");
1164 include_once './Services/User/classes/class.ilObjUserFolder.php';
1165 $amail = ilObjUserFolder::_lookupNewAccountMail($this->lng->getDefaultLanguage());
1166 if (trim($amail["body"]) != "" && trim($amail["subject"]) != "") {
1167 $this->tpl->setCurrentBlock("inform_user");
1168 $this->tpl->setVariable("TXT_ACCOUNT_MAIL", $lng->txt("mail_account_mail"));
1169 if (true) {
1170 $this->tpl->setVariable("SEND_MAIL", " checked=\"checked\"");
1171 }
1172 $this->tpl->setVariable(
1173 "TXT_INFORM_USER_MAIL",
1174 $this->lng->txt("user_send_new_account_mail")
1175 );
1176 $this->tpl->parseCurrentBlock();
1177 }
1178 } else {
1179 $this->form->setValuesByPost();
1180 $tpl->setContent($this->form->getHtml());
1181 }
1182 }
$n
Definition: RandomTest.php:85
const IL_IMPORT_FAILURE
const IL_UPDATE_ON_CONFLICT
const IL_EXTRACT_ROLES
const IL_IMPORT_SUCCESS
const IL_VERIFY
const IL_IGNORE_ON_CONFLICT
const IL_IMPORT_WARNING
static searchRolesByMailboxAddressList( $a_address_list, ilMailRfc822AddressParserFactory $parserFactory=null, ilMailRfc822AddressParser $parser=null)
Finds all role ids that match the specified user friendly role mailbox address list.
static getRoleMailboxAddress( $a_role_id, $is_localize=true, ilMailRfc822AddressParserFactory $mailAddressParserFactory=null)
Returns the mailbox address of a role.
static _getAssignUsersStatus($a_role_id)
static _lookupNewAccountMail($a_lang)
static getDir($a_dir, $a_rec=false, $a_sub_dir="")
get directory
static unzip($a_file, $overwrite=false, $a_flat=false)
unzip file
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
$key
Definition: croninfo.php:18

References $_GET, $i, $id, $ilCtrl, $ilUser, $key, ilObjectGUI\$lng, $n, $path, ilObjectGUI\$rbacreview, ilObjectGUI\$rbacsystem, ilObjectGUI\$tpl, ilObjectGUI\$tree, ilObjRole\_getAssignUsersStatus(), ilObjUserFolder\_lookupNewAccountMail(), ilUtil\delDir(), ilUtil\formSelect(), ilUtil\getDir(), getImportDir(), ilMailRoleAddressType\getRoleMailboxAddress(), IL_EXTRACT_ROLES, IL_IGNORE_ON_CONFLICT, IL_IMPORT_FAILURE, IL_IMPORT_SUCCESS, IL_IMPORT_WARNING, IL_UPDATE_ON_CONFLICT, IL_VERIFY, initUserImportForm(), ilUtil\makeDir(), ilMailRoleAddressType\searchRolesByMailboxAddressList(), ilUtil\unzip(), and USER_FOLDER_ID.

+ Here is the call graph for this function:

◆ importUsersObject()

ilObjUserFolderGUI::importUsersObject ( )

import users

Definition at line 1187 of file class.ilObjUserFolderGUI.php.

1188 {
1189 global $rbacreview,$ilUser;
1190
1191 // Blind out tabs for local user import
1192 if ($_GET["baseClass"] == 'ilRepositoryGUI') {
1193 $this->tabs_gui->clearTargets();
1194 }
1195
1196 include_once './Services/AccessControl/classes/class.ilObjRole.php';
1197 include_once './Services/User/classes/class.ilUserImportParser.php';
1198
1200
1201 switch ($_POST["conflict_handling_choice"]) {
1202 case "update_on_conflict":
1204 break;
1205 case "ignore_on_conflict":
1206 default:
1208 break;
1209 }
1210 $importParser = new ilUserImportParser($_POST["xml_file"], IL_USER_IMPORT, $rule);
1211 $importParser->setFolderId($this->getUserOwnerId());
1212 $import_dir = $this->getImportDir();
1213
1214 // Catch hack attempts
1215 // We check here again, if the role folders are in the tree, and if the
1216 // user has permission on the roles.
1217 if ($_POST["role_assign"]) {
1218 $global_roles = $rbacreview->getGlobalRoles();
1219 $roles_of_user = $rbacreview->assignedRoles($ilUser->getId());
1220 foreach ($_POST["role_assign"] as $role_id) {
1221 if ($role_id != "") {
1222 if (in_array($role_id, $global_roles)) {
1223 if (!in_array(SYSTEM_ROLE_ID, $roles_of_user)) {
1224 if ($role_id == SYSTEM_ROLE_ID && !in_array(SYSTEM_ROLE_ID, $roles_of_user)
1225 || ($this->object->getRefId() != USER_FOLDER_ID
1227 ) {
1228 ilUtil::delDir($import_dir);
1229 $this->ilias->raiseError(
1230 $this->lng->txt("usrimport_with_specified_role_not_permitted"),
1231 $this->ilias->error_obj->MESSAGE
1232 );
1233 }
1234 }
1235 } else {
1236 $rolf = $rbacreview->getFoldersAssignedToRole($role_id, true);
1237 if ($rbacreview->isDeleted($rolf[0])
1238 || !$rbacsystem->checkAccess('write', $rolf[0])) {
1239 ilUtil::delDir($import_dir);
1240 $this->ilias->raiseError(
1241 $this->lng->txt("usrimport_with_specified_role_not_permitted"),
1242 $this->ilias->error_obj->MESSAGE
1243 );
1244 return;
1245 }
1246 }
1247 }
1248 }
1249 }
1250
1251 $importParser->setRoleAssignment($_POST["role_assign"]);
1252 $importParser->startParsing();
1253
1254 // purge user import directory
1255 ilUtil::delDir($import_dir);
1256
1257 switch ($importParser->getErrorLevel()) {
1258 case IL_IMPORT_SUCCESS:
1259 ilUtil::sendSuccess($this->lng->txt("user_imported"), true);
1260 break;
1261 case IL_IMPORT_WARNING:
1262 ilUtil::sendInfo($this->lng->txt("user_imported_with_warnings") . $importParser->getProtocolAsHTML($lng->txt("import_warning_log")), true);
1263 break;
1264 case IL_IMPORT_FAILURE:
1265 $this->ilias->raiseError(
1266 $this->lng->txt("user_import_failed")
1267 . $importParser->getProtocolAsHTML($lng->txt("import_failure_log")),
1268 $this->ilias->error_obj->MESSAGE
1269 );
1270 break;
1271 }
1272
1273 if (strtolower($_GET["baseClass"]) == "iladministrationgui") {
1274 $this->ctrl->redirect($this, "view");
1275 //ilUtil::redirect($this->ctrl->getLinkTarget($this));
1276 } else {
1277 $this->ctrl->redirectByClass('ilobjcategorygui', 'listUsers');
1278 }
1279 }
const IL_USER_IMPORT
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
$rule
Definition: showstats.php:43

References $_GET, $_POST, $ilUser, ilObjectGUI\$lng, ilObjectGUI\$rbacreview, ilObjectGUI\$rbacsystem, $rule, ilObjectGUI\$tree, ilObjRole\_getAssignUsersStatus(), ilUtil\delDir(), getImportDir(), getUserOwnerId(), IL_IGNORE_ON_CONFLICT, IL_IMPORT_FAILURE, IL_IMPORT_SUCCESS, IL_IMPORT_WARNING, IL_UPDATE_ON_CONFLICT, IL_USER_IMPORT, ilUtil\sendInfo(), ilUtil\sendSuccess(), and USER_FOLDER_ID.

+ Here is the call graph for this function:

◆ initAccessRestrictionForm()

ilObjUserFolderGUI::initAccessRestrictionForm (   $a_from_search = false)
protected

Definition at line 511 of file class.ilObjUserFolderGUI.php.

512 {
513 $user_ids = $this->getActionUserIds();
514 if (!$user_ids) {
515 ilUtil::sendFailure($this->lng->txt('select_one'));
516 return $this->viewObject();
517 }
518
519 include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
520 $form = new ilPropertyFormGUI();
521 $form->setTitle($this->lng->txt("time_limit_add_time_limit_for_selected"));
522 $form->setFormAction($this->ctrl->getFormAction($this, "confirmaccessRestrict"));
523
524 $from = new ilDateTimeInputGUI($this->lng->txt("access_from"), "from");
525 $from->setShowTime(true);
526 $from->setRequired(true);
527 $form->addItem($from);
528
529 $to = new ilDateTimeInputGUI($this->lng->txt("access_until"), "to");
530 $to->setRequired(true);
531 $to->setShowTime(true);
532 $form->addItem($to);
533
534 $form->addCommandButton("confirmaccessRestrict", $this->lng->txt("confirm"));
535 $form->addCommandButton("view", $this->lng->txt("cancel"));
536
537 foreach ($user_ids as $user_id) {
538 $ufield = new ilHiddenInputGUI("id[]");
539 $ufield->setValue($user_id);
540 $form->addItem($ufield);
541 }
542
543 // return to search?
544 if ($a_from_search || $_POST["frsrch"]) {
545 $field = new ilHiddenInputGUI("frsrch");
546 $field->setValue(1);
547 $form->addItem($field);
548 }
549
550 return $form;
551 }
This class represents a date/time property in a property form.
This class represents a hidden form property in a property form.
getActionUserIds()
Get selected items for table action.
This class represents a property form user interface.
$from

References $_POST, $form, $from, getActionUserIds(), ilUtil\sendFailure(), and ilObjectGUI\viewObject().

Referenced by confirmaccessRestrictObject(), and setAccessRestrictionObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initFormGeneralSettings()

ilObjUserFolderGUI::initFormGeneralSettings ( )
protected

init general settings form

Returns

Definition at line 1466 of file class.ilObjUserFolderGUI.php.

1467 {
1468 global $ilSetting;
1469
1470 $this->setSubTabs('settings');
1471 $this->tabs_gui->setTabActive('settings');
1472 $this->tabs_gui->setSubTabActive('general_settings');
1473
1474 include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
1475 $this->form = new ilPropertyFormGUI();
1476 $this->form->setFormAction($this->ctrl->getFormAction($this, 'saveGeneralSettings'));
1477
1478 $this->form->setTitle($this->lng->txt('general_settings'));
1479
1480 $lua = new ilCheckboxInputGUI($this->lng->txt('enable_local_user_administration'), 'lua');
1481 $lua->setInfo($this->lng->txt('enable_local_user_administration_info'));
1482 $lua->setValue(1);
1483 $this->form->addItem($lua);
1484
1485 $lrua = new ilCheckboxInputGUI($this->lng->txt('restrict_user_access'), 'lrua');
1486 $lrua->setInfo($this->lng->txt('restrict_user_access_info'));
1487 $lrua->setValue(1);
1488 $this->form->addItem($lrua);
1489
1490 // enable alphabetical navigation in user administration
1491 $alph = new ilCheckboxInputGUI($this->lng->txt('user_adm_enable_alpha_nav'), 'user_adm_alpha_nav');
1492 //$alph->setInfo($this->lng->txt('restrict_user_access_info'));
1493 $alph->setValue(1);
1494 $this->form->addItem($alph);
1495
1496 // account codes
1497 $code = new ilCheckboxInputGUI($this->lng->txt("user_account_code_setting"), "user_reactivate_code");
1498 $code->setInfo($this->lng->txt('user_account_code_setting_info'));
1499 $this->form->addItem($code);
1500
1501 // delete own account
1502 $own = new ilCheckboxInputGUI($this->lng->txt("user_allow_delete_own_account"), "user_own_account");
1503 $this->form->addItem($own);
1504 $own_email = new ilEMailInputGUI($this->lng->txt("user_delete_own_account_notification_email"), "user_own_account_email");
1505 $own->addSubItem($own_email);
1506
1507
1508 // BEGIN SESSION SETTINGS
1509
1510 // create session handling radio group
1511 $ssettings = new ilRadioGroupInputGUI($this->lng->txt('sess_mode'), 'session_handling_type');
1512
1513 // first option, fixed session duration
1514 $fixed = new ilRadioOption($this->lng->txt('sess_fixed_duration'), ilSession::SESSION_HANDLING_FIXED);
1515
1516 // create session reminder subform
1517 $cb = new ilCheckboxInputGUI($this->lng->txt("session_reminder"), "session_reminder_enabled");
1520 $cb->setInfo($this->lng->txt("session_reminder_info") . "<br />" .
1521 sprintf($this->lng->txt('session_reminder_session_duration'), $time));
1522 $fixed->addSubItem($cb);
1523
1524 // add session handling to radio group
1525 $ssettings->addOption($fixed);
1526
1527 // second option, session control
1528 $ldsh = new ilRadioOption($this->lng->txt('sess_load_dependent_session_handling'), ilSession::SESSION_HANDLING_LOAD_DEPENDENT);
1529
1530 // add session control subform
1531 require_once('Services/Authentication/classes/class.ilSessionControl.php');
1532
1533 // this is the max count of active sessions
1534 // that are getting started simlutanously
1535 $sub_ti = new ilTextInputGUI($this->lng->txt('session_max_count'), 'session_max_count');
1536 $sub_ti->setMaxLength(5);
1537 $sub_ti->setSize(5);
1538 $sub_ti->setInfo($this->lng->txt('session_max_count_info'));
1539 if (!$ilSetting->get('session_allow_client_maintenance', ilSessionControl::DEFAULT_ALLOW_CLIENT_MAINTENANCE)) {
1540 $sub_ti->setDisabled(true);
1541 }
1542 $ldsh->addSubItem($sub_ti);
1543
1544 // after this (min) idle time the session can be deleted,
1545 // if there are further requests for new sessions,
1546 // but max session count is reached yet
1547 $sub_ti = new ilTextInputGUI($this->lng->txt('session_min_idle'), 'session_min_idle');
1548 $sub_ti->setMaxLength(5);
1549 $sub_ti->setSize(5);
1550 $sub_ti->setInfo($this->lng->txt('session_min_idle_info'));
1551 if (!$ilSetting->get('session_allow_client_maintenance', ilSessionControl::DEFAULT_ALLOW_CLIENT_MAINTENANCE)) {
1552 $sub_ti->setDisabled(true);
1553 }
1554 $ldsh->addSubItem($sub_ti);
1555
1556 // after this (max) idle timeout the session expires
1557 // and become invalid, so it is not considered anymore
1558 // when calculating current count of active sessions
1559 $sub_ti = new ilTextInputGUI($this->lng->txt('session_max_idle'), 'session_max_idle');
1560 $sub_ti->setMaxLength(5);
1561 $sub_ti->setSize(5);
1562 $sub_ti->setInfo($this->lng->txt('session_max_idle_info'));
1563 if (!$ilSetting->get('session_allow_client_maintenance', ilSessionControl::DEFAULT_ALLOW_CLIENT_MAINTENANCE)) {
1564 $sub_ti->setDisabled(true);
1565 }
1566 $ldsh->addSubItem($sub_ti);
1567
1568 // this is the max duration that can elapse between the first and the secnd
1569 // request to the system before the session is immidietly deleted
1570 $sub_ti = new ilTextInputGUI(
1571 $this->lng->txt('session_max_idle_after_first_request'),
1572 'session_max_idle_after_first_request'
1573 );
1574 $sub_ti->setMaxLength(5);
1575 $sub_ti->setSize(5);
1576 $sub_ti->setInfo($this->lng->txt('session_max_idle_after_first_request_info'));
1577 if (!$ilSetting->get('session_allow_client_maintenance', ilSessionControl::DEFAULT_ALLOW_CLIENT_MAINTENANCE)) {
1578 $sub_ti->setDisabled(true);
1579 }
1580 $ldsh->addSubItem($sub_ti);
1581
1582 // add session control to radio group
1583 $ssettings->addOption($ldsh);
1584
1585 // add radio group to form
1586 if ($ilSetting->get('session_allow_client_maintenance', ilSessionControl::DEFAULT_ALLOW_CLIENT_MAINTENANCE)) {
1587 // just shows the status wether the session
1588 //setting maintenance is allowed by setup
1589 $this->form->addItem($ssettings);
1590 } else {
1591 // just shows the status wether the session
1592 //setting maintenance is allowed by setup
1593 $ti = new ilNonEditableValueGUI($this->lng->txt('session_config'), "session_config");
1594 $ti->setValue($this->lng->txt('session_config_maintenance_disabled'));
1595 $ssettings->setDisabled(true);
1596 $ti->addSubItem($ssettings);
1597 $this->form->addItem($ti);
1598 }
1599
1600 // END SESSION SETTINGS
1601
1602
1603 $this->lng->loadLanguageModule('ps');
1604
1606 $pass->setTitle($this->lng->txt('ps_password_settings'));
1607 $this->form->addItem($pass);
1608
1609 $check = new ilCheckboxInputGUI($this->lng->txt('ps_password_change_on_first_login_enabled'), 'password_change_on_first_login_enabled');
1610 $check->setInfo($this->lng->txt('ps_password_change_on_first_login_enabled_info'));
1611 $this->form->addItem($check);
1612
1613 include_once('./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1614
1615 $check = new ilCheckboxInputGUI($this->lng->txt('ps_password_must_not_contain_loginame'), 'password_must_not_contain_loginame');
1616 $check->setInfo($this->lng->txt('ps_password_must_not_contain_loginame_info'));
1617 $this->form->addItem($check);
1618
1619 $check = new ilCheckboxInputGUI($this->lng->txt('ps_password_chars_and_numbers_enabled'), 'password_chars_and_numbers_enabled');
1620 //$check->setOptionTitle($this->lng->txt('ps_password_chars_and_numbers_enabled'));
1621 $check->setInfo($this->lng->txt('ps_password_chars_and_numbers_enabled_info'));
1622 $this->form->addItem($check);
1623
1624 $check = new ilCheckboxInputGUI($this->lng->txt('ps_password_special_chars_enabled'), 'password_special_chars_enabled');
1625 //$check->setOptionTitle($this->lng->txt('ps_password_special_chars_enabled'));
1626 $check->setInfo($this->lng->txt('ps_password_special_chars_enabled_info'));
1627 $this->form->addItem($check);
1628
1629 $text = new ilNumberInputGUI($this->lng->txt('ps_password_min_length'), 'password_min_length');
1630 $text->setInfo($this->lng->txt('ps_password_min_length_info'));
1631 $text->setSize(1);
1632 $text->setMaxLength(2);
1633 $this->form->addItem($text);
1634
1635 $text = new ilNumberInputGUI($this->lng->txt('ps_password_max_length'), 'password_max_length');
1636 $text->setInfo($this->lng->txt('ps_password_max_length_info'));
1637 $text->setSize(2);
1638 $text->setMaxLength(3);
1639 $this->form->addItem($text);
1640
1641 $text = new ilNumberInputGUI($this->lng->txt('ps_password_uppercase_chars_num'), 'password_ucase_chars_num');
1642 $text->setInfo($this->lng->txt('ps_password_uppercase_chars_num_info'));
1643 $text->setMinValue(0);
1644 $text->setSize(2);
1645 $text->setMaxLength(3);
1646 $this->form->addItem($text);
1647
1648 $text = new ilNumberInputGUI($this->lng->txt('ps_password_lowercase_chars_num'), 'password_lowercase_chars_num');
1649 $text->setInfo($this->lng->txt('ps_password_lowercase_chars_num_info'));
1650 $text->setMinValue(0);
1651 $text->setSize(2);
1652 $text->setMaxLength(3);
1653 $this->form->addItem($text);
1654
1655 $text = new ilNumberInputGUI($this->lng->txt('ps_password_max_age'), 'password_max_age');
1656 $text->setInfo($this->lng->txt('ps_password_max_age_info'));
1657 $text->setSize(2);
1658 $text->setMaxLength(3);
1659 $this->form->addItem($text);
1660
1661 // password assistance
1662 $cb = new ilCheckboxInputGUI($this->lng->txt("enable_password_assistance"), "password_assistance");
1663 $cb->setInfo($this->lng->txt("password_assistance_info"));
1664 $this->form->addItem($cb);
1665
1667 $pass->setTitle($this->lng->txt('ps_security_protection'));
1668 $this->form->addItem($pass);
1669
1670 $text = new ilNumberInputGUI($this->lng->txt('ps_login_max_attempts'), 'login_max_attempts');
1671 $text->setInfo($this->lng->txt('ps_login_max_attempts_info'));
1672 $text->setSize(1);
1673 $text->setMaxLength(2);
1674 $this->form->addItem($text);
1675
1676 // prevent login from multiple pcs at the same time
1677 $objCb = new ilCheckboxInputGUI($this->lng->txt('ps_prevent_simultaneous_logins'), 'ps_prevent_simultaneous_logins');
1678 $objCb->setValue(1);
1679 $objCb->setInfo($this->lng->txt('ps_prevent_simultaneous_logins_info'));
1680 $this->form->addItem($objCb);
1681
1682
1683
1684
1686 $log->setTitle($this->lng->txt('loginname_settings'));
1687 $this->form->addItem($log);
1688
1689 $chbChangeLogin = new ilCheckboxInputGUI($this->lng->txt('allow_change_loginname'), 'allow_change_loginname');
1690 $chbChangeLogin->setValue(1);
1691 $this->form->addItem($chbChangeLogin);
1692 $chbCreateHistory = new ilCheckboxInputGUI($this->lng->txt('history_loginname'), 'create_history_loginname');
1693 $chbCreateHistory->setInfo($this->lng->txt('loginname_history_info'));
1694 $chbCreateHistory->setValue(1);
1695
1696 $chbChangeLogin->addSubItem($chbCreateHistory);
1697 $chbReuseLoginnames = new ilCheckboxInputGUI($this->lng->txt('reuse_of_loginnames_contained_in_history'), 'reuse_of_loginnames');
1698 $chbReuseLoginnames->setValue(1);
1699 $chbReuseLoginnames->setInfo($this->lng->txt('reuse_of_loginnames_contained_in_history_info'));
1700
1701 $chbChangeLogin->addSubItem($chbReuseLoginnames);
1702 $chbChangeBlockingTime = new ilNumberInputGUI($this->lng->txt('loginname_change_blocking_time'), 'loginname_change_blocking_time');
1703 $chbChangeBlockingTime->allowDecimals(true);
1704 $chbChangeBlockingTime->setSuffix($this->lng->txt('days'));
1705 $chbChangeBlockingTime->setInfo($this->lng->txt('loginname_change_blocking_time_info'));
1706 $chbChangeBlockingTime->setSize(10);
1707 $chbChangeBlockingTime->setMaxLength(10);
1708 $chbChangeLogin->addSubItem($chbChangeBlockingTime);
1709
1710 $la = new ilCheckboxInputGUI($this->lng->txt('usr_letter_avatars'), 'letter_avatars');
1711 $la->setValue(1);
1712 $la->setInfo($this->lng->txt('usr_letter_avatars_info'));
1713 $this->form->addItem($la);
1714
1715 $this->form->addCommandButton('saveGeneralSettings', $this->lng->txt('save'));
1716 }
This class represents a checkbox property in a property form.
static secondsToString($seconds, $force_with_seconds=false, $a_lng=null)
converts seconds to string: Long: 7 days 4 hour(s) ...
This class represents a email property in a property form.
This class represents a section header in a property form.
This class represents a non editable value in a property form.
This class represents a number property in a property form.
This class represents a property in a property form.
This class represents an option in a radio group.
const SESSION_HANDLING_LOAD_DEPENDENT
static getSessionExpireValue()
Returns the session expiration value.
This class represents a text property in a property form.
$code
Definition: example_050.php:99
$time
Definition: cron.php:21
$text
Definition: errorreport.php:18

References $code, $ilSetting, $log, $pass, $text, $time, ilSessionControl\DEFAULT_ALLOW_CLIENT_MAINTENANCE, ilSession\getSessionExpireValue(), ilDatePresentation\secondsToString(), ilSession\SESSION_HANDLING_FIXED, ilSession\SESSION_HANDLING_LOAD_DEPENDENT, setSubTabs(), and sprintf.

Referenced by generalSettingsObject(), and saveGeneralSettingsObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initLoginSettingsForm()

ilObjUserFolderGUI::initLoginSettingsForm ( )
private

Definition at line 2422 of file class.ilObjUserFolderGUI.php.

2423 {
2424 $this->setSubTabs('settings');
2425 $this->tabs_gui->setTabActive('settings');
2426 $this->tabs_gui->setSubTabActive('loginname_settings');
2427
2428 include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
2429 $this->loginSettingsForm = new ilPropertyFormGUI;
2430 $this->loginSettingsForm->setFormAction($this->ctrl->getFormAction($this, 'saveLoginnameSettings'));
2431 $this->loginSettingsForm->setTitle($this->lng->txt('loginname_settings'));
2432
2433 $chbChangeLogin = new ilCheckboxInputGUI($this->lng->txt('allow_change_loginname'), 'allow_change_loginname');
2434 $chbChangeLogin->setValue(1);
2435 $this->loginSettingsForm->addItem($chbChangeLogin);
2436 $chbCreateHistory = new ilCheckboxInputGUI($this->lng->txt('history_loginname'), 'create_history_loginname');
2437 $chbCreateHistory->setInfo($this->lng->txt('loginname_history_info'));
2438 $chbCreateHistory->setValue(1);
2439 $chbChangeLogin->addSubItem($chbCreateHistory);
2440 $chbReuseLoginnames = new ilCheckboxInputGUI($this->lng->txt('reuse_of_loginnames_contained_in_history'), 'reuse_of_loginnames');
2441 $chbReuseLoginnames->setValue(1);
2442 $chbReuseLoginnames->setInfo($this->lng->txt('reuse_of_loginnames_contained_in_history_info'));
2443 $chbChangeLogin->addSubItem($chbReuseLoginnames);
2444 $chbChangeBlockingTime = new ilNumberInputGUI($this->lng->txt('loginname_change_blocking_time'), 'loginname_change_blocking_time');
2445 $chbChangeBlockingTime->allowDecimals(true);
2446 $chbChangeBlockingTime->setSuffix($this->lng->txt('days'));
2447 $chbChangeBlockingTime->setInfo($this->lng->txt('loginname_change_blocking_time_info'));
2448 $chbChangeBlockingTime->setSize(10);
2449 $chbChangeBlockingTime->setMaxLength(10);
2450 $chbChangeLogin->addSubItem($chbChangeBlockingTime);
2451
2452 $this->loginSettingsForm->addCommandButton('saveLoginnameSettings', $this->lng->txt('save'));
2453 }
setFormAction($a_formaction)
Set FormAction.

References ilFormGUI\setFormAction(), and setSubTabs().

Referenced by saveLoginnameSettingsObject(), and showLoginnameSettingsObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initNewAccountMailForm()

ilObjUserFolderGUI::initNewAccountMailForm ( )
protected

Definition at line 2134 of file class.ilObjUserFolderGUI.php.

2135 {
2136 global $lng, $ilCtrl;
2137
2138 $lng->loadLanguageModule("meta");
2139 $lng->loadLanguageModule("mail");
2140
2141 include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
2142 $form = new ilPropertyFormGUI();
2143 $form->setFormAction($ilCtrl->getFormAction($this));
2144
2145 $form->setTitleIcon(ilUtil::getImagePath("icon_mail.svg"));
2146 $form->setTitle($lng->txt("user_new_account_mail"));
2147 $form->setDescription($lng->txt("user_new_account_mail_desc"));
2148
2149 $langs = $lng->getInstalledLanguages();
2150 foreach ($langs as $lang_key) {
2151 $amail = $this->object->_lookupNewAccountMail($lang_key);
2152
2153 $title = $lng->txt("meta_l_" . $lang_key);
2154 if ($lang_key == $lng->getDefaultLanguage()) {
2155 $title .= " (" . $lng->txt("default") . ")";
2156 }
2157
2159 $header->setTitle($title);
2160 $form->addItem($header);
2161
2162 $subj = new ilTextInputGUI($lng->txt("subject"), "subject_" . $lang_key);
2163 // $subj->setRequired(true);
2164 $subj->setValue($amail["subject"]);
2165 $form->addItem($subj);
2166
2167 $salg = new ilTextInputGUI($lng->txt("mail_salutation_general"), "sal_g_" . $lang_key);
2168 // $salg->setRequired(true);
2169 $salg->setValue($amail["sal_g"]);
2170 $form->addItem($salg);
2171
2172 $salf = new ilTextInputGUI($lng->txt("mail_salutation_female"), "sal_f_" . $lang_key);
2173 // $salf->setRequired(true);
2174 $salf->setValue($amail["sal_f"]);
2175 $form->addItem($salf);
2176
2177 $salm = new ilTextInputGUI($lng->txt("mail_salutation_male"), "sal_m_" . $lang_key);
2178 // $salm->setRequired(true);
2179 $salm->setValue($amail["sal_m"]);
2180 $form->addItem($salm);
2181
2182 $body = new ilTextAreaInputGUI($lng->txt("message_content"), "body_" . $lang_key);
2183 // $body->setRequired(true);
2184 $body->setValue($amail["body"]);
2185 $body->setRows(10);
2186 $body->setCols(100);
2187 $form->addItem($body);
2188
2189 $att = new ilFileInputGUI($lng->txt("attachment"), "att_" . $lang_key);
2190 $att->setAllowDeletion(true);
2191 if ($amail["att_file"]) {
2192 $att->setValue($amail["att_file"]);
2193 }
2194 $form->addItem($att);
2195 }
2196
2197 $form->addCommandButton("saveNewAccountMail", $lng->txt("save"));
2198 $form->addCommandButton("cancelNewAccountMail", $lng->txt("cancel"));
2199
2200 return $form;
2201 }
This class represents a file property in a property form.
This class represents a text area property in a property form.

References $form, $header, $ilCtrl, ilObjectGUI\$lng, $title, and ilUtil\getImagePath().

Referenced by newAccountMailObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initUserImportForm()

ilObjUserFolderGUI::initUserImportForm ( )

Init user import form.

Parameters
int$a_modeEdit Mode

Definition at line 788 of file class.ilObjUserFolderGUI.php.

789 {
790 global $lng, $ilCtrl;
791
792 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
793 $this->form = new ilPropertyFormGUI();
794
795 // Import File
796 include_once("./Services/Form/classes/class.ilFileInputGUI.php");
797 $fi = new ilFileInputGUI($lng->txt("import_file"), "importFile");
798 $fi->setSuffixes(array("xml", "zip"));
799 //$fi->enableFileNameSelection();
800 //$fi->setInfo($lng->txt(""));
801 $this->form->addItem($fi);
802
803 $this->form->addCommandButton("importUserRoleAssignment", $lng->txt("import"));
804 $this->form->addCommandButton("importCancelled", $lng->txt("cancel"));
805
806 $this->form->setTitle($lng->txt("import_users"));
807 $this->form->setFormAction($ilCtrl->getFormAction($this));
808 }

References $ilCtrl, and ilObjectGUI\$lng.

Referenced by importUserFormObject(), and importUserRoleAssignmentObject().

+ Here is the caller graph for this function:

◆ jumpToUserObject()

ilObjUserFolderGUI::jumpToUserObject ( )

Jump to edit screen for user.

Definition at line 2516 of file class.ilObjUserFolderGUI.php.

2517 {
2518 global $ilCtrl;
2519
2520 if (((int) $_GET["jmpToUser"]) > 0 && ilObject::_lookupType((int) $_GET["jmpToUser"]) == "usr") {
2521 $ilCtrl->setParameterByClass("ilobjusergui", "obj_id", (int) $_GET["jmpToUser"]);
2522 $ilCtrl->redirectByClass("ilobjusergui", "view");
2523 }
2524 }
static _lookupType($a_id, $a_reference=false)
lookup object type

References $_GET, $ilCtrl, and ilObject\_lookupType().

+ Here is the call graph for this function:

◆ learningProgressObject()

ilObjUserFolderGUI::learningProgressObject ( )

Definition at line 144 of file class.ilObjUserFolderGUI.php.

145 {
146 global $rbacsystem, $tpl;
147
148 // deprecated JF 27 May 2013
149 exit();
150
151 if (!$rbacsystem->checkAccess("read", $this->object->getRefId()) ||
154 $this->ilias->raiseError($this->lng->txt("permission_denied"), $this->ilias->error_obj->MESSAGE);
155 }
156
157 include_once "Services/User/classes/class.ilUserLPTableGUI.php";
158 $tbl = new ilUserLPTableGUI($this, "learningProgress", $this->object->getRefId());
159
160 $tpl->setContent($tbl->getHTML());
161 }
static _enabledLearningProgress()
check wether learing progress is enabled or not
static _enabledUserRelatedData()
check wether user related tracking is enabled or not
Learning progress account list for user administration.

References ilObjectGUI\$rbacsystem, $tbl, ilObjectGUI\$tpl, ilObjUserTracking\_enabledLearningProgress(), ilObjUserTracking\_enabledUserRelatedData(), and exit.

+ Here is the call graph for this function:

◆ mailObject()

ilObjUserFolderGUI::mailObject ( )

Definition at line 2633 of file class.ilObjUserFolderGUI.php.

2634 {
2635 global $ilUser;
2636
2637 $user_ids = $this->getActionUserIds();
2638 if (!$user_ids) {
2639 ilUtil::sendFailure($this->lng->txt('select_one'));
2640 return $this->viewObject();
2641 }
2642
2643 // remove existing (temporary) lists
2644 include_once "Services/Contact/classes/class.ilMailingLists.php";
2646 $list->deleteTemporaryLists();
2647
2648 // create (temporary) mailing list
2649 include_once "Services/Contact/classes/class.ilMailingList.php";
2652 $list->setTitle("-TEMPORARY SYSTEM LIST-");
2653 $list->setDescription("-USER ACCOUNTS MAIL-");
2654 $list->setCreateDate(date("Y-m-d H:i:s"));
2655 $list->insert();
2656 $list_id = $list->getId();
2657
2658 // after list has been saved...
2659 foreach ($user_ids as $user_id) {
2660 $list->assignUser($user_id);
2661 }
2662
2663 include_once "Services/Mail/classes/class.ilFormatMail.php";
2664 $umail = new ilFormatMail($ilUser->getId());
2665 $mail_data = $umail->getSavedData();
2666
2667 if (!is_array($mail_data)) {
2668 $mail_data = array("user_id" => $ilUser->getId());
2669 }
2670
2671 // ???
2672 // $mail_data = $umail->appendSearchResult(array('#il_ml_'.$list_id), 'to');
2673
2674 $umail->savePostData(
2675 $mail_data['user_id'],
2676 $mail_data['attachments'],
2677 '#il_ml_' . $list_id, // $mail_data['rcp_to'],
2678 $mail_data['rcp_cc'],
2679 $mail_data['rcp_bcc'],
2680 $mail_data['m_type'],
2681 $mail_data['m_email'],
2682 $mail_data['m_subject'],
2683 $mail_data['m_message'],
2684 $mail_data['use_placeholders'],
2685 $mail_data['tpl_ctx_id'],
2686 $mail_data['tpl_ctx_params']
2687 );
2688
2689 require_once 'Services/Mail/classes/class.ilMailFormCall.php';
2692 $this,
2693 '',
2694 array(),
2695 array(
2696 'type' => 'search_res'
2697 )
2698 )
2699 );
2700 }
date( 'd-M-Y', $objPHPExcel->getProperties() ->getCreated())
Class UserMail this class handles user mails.
static getRedirectTarget($gui, $cmd, array $gui_params=array(), array $mail_params=array(), array $context_params=array())
if(isset($_REQUEST['delete'])) $list
Definition: registry.php:41

References $ilUser, $list, date, getActionUserIds(), ilMailFormCall\getRedirectTarget(), ilMailingList\MODE_TEMPORARY, ilUtil\redirect(), ilUtil\sendFailure(), and ilObjectGUI\viewObject().

Referenced by showActionConfirmation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ newAccountMailObject()

ilObjUserFolderGUI::newAccountMailObject ( )

new account mail administration

Definition at line 2206 of file class.ilObjUserFolderGUI.php.

2207 {
2208 global $lng;
2209
2210 $this->setSubTabs('settings');
2211 $this->tabs_gui->setTabActive('settings');
2212 $this->tabs_gui->setSubTabActive('user_new_account_mail');
2213
2214 $form = $this->initNewAccountMailForm();
2215
2216 $ftpl = new ilTemplate('tpl.usrf_new_account_mail.html', true, true, 'Services/User');
2217 $ftpl->setVariable("FORM", $form->getHTML());
2218 unset($form);
2219
2220 // placeholder help text
2221 $ftpl->setVariable("TXT_USE_PLACEHOLDERS", $lng->txt("mail_nacc_use_placeholder"));
2222 $ftpl->setVariable("TXT_MAIL_SALUTATION", $lng->txt("mail_nacc_salutation"));
2223 $ftpl->setVariable("TXT_FIRST_NAME", $lng->txt("firstname"));
2224 $ftpl->setVariable("TXT_LAST_NAME", $lng->txt("lastname"));
2225 $ftpl->setVariable("TXT_EMAIL", $lng->txt("email"));
2226 $ftpl->setVariable("TXT_LOGIN", $lng->txt("mail_nacc_login"));
2227 $ftpl->setVariable("TXT_PASSWORD", $lng->txt("password"));
2228 $ftpl->setVariable("TXT_PASSWORD_BLOCK", $lng->txt("mail_nacc_pw_block"));
2229 $ftpl->setVariable("TXT_NOPASSWORD_BLOCK", $lng->txt("mail_nacc_no_pw_block"));
2230 $ftpl->setVariable("TXT_ADMIN_MAIL", $lng->txt("mail_nacc_admin_mail"));
2231 $ftpl->setVariable("TXT_ILIAS_URL", $lng->txt("mail_nacc_ilias_url"));
2232 $ftpl->setVariable("TXT_CLIENT_NAME", $lng->txt("mail_nacc_client_name"));
2233 $ftpl->setVariable("TXT_TARGET", $lng->txt("mail_nacc_target"));
2234 $ftpl->setVariable("TXT_TARGET_TITLE", $lng->txt("mail_nacc_target_title"));
2235 $ftpl->setVariable("TXT_TARGET_TYPE", $lng->txt("mail_nacc_target_type"));
2236 $ftpl->setVariable("TXT_TARGET_BLOCK", $lng->txt("mail_nacc_target_block"));
2237 $ftpl->setVariable("TXT_IF_TIMELIMIT", $lng->txt("mail_nacc_if_timelimit"));
2238 $ftpl->setVariable("TXT_TIMELIMIT", $lng->txt("mail_nacc_timelimit"));
2239
2240 $this->tpl->setContent($ftpl->get());
2241 }
special template class to simplify handling of ITX/PEAR

References $form, ilObjectGUI\$lng, initNewAccountMailForm(), and setSubTabs().

+ Here is the call graph for this function:

◆ resetFilterObject()

ilObjUserFolderGUI::resetFilterObject ( )

Reset filter (note: this function existed before data table filter has been introduced.

Definition at line 167 of file class.ilObjUserFolderGUI.php.

168 {
169 include_once("./Services/User/classes/class.ilUserTableGUI.php");
170 $utab = new ilUserTableGUI($this, "view");
171 $utab->resetOffset();
172 $utab->resetFilter();
173
174 // from "old" implementation
175 $this->viewObject(true);
176 }

References ilObjectGUI\viewObject().

+ Here is the call graph for this function:

◆ restrictAccessObject()

ilObjUserFolderGUI::restrictAccessObject ( )

Restrict access.

Definition at line 743 of file class.ilObjUserFolderGUI.php.

744 {
745 $_POST["selectedAction"] = "accessRestrict";
746 $this->showActionConfirmation($_POST["selectedAction"]);
747 }

References $_POST, and showActionConfirmation().

+ Here is the call graph for this function:

◆ saveGeneralSettingsObject()

ilObjUserFolderGUI::saveGeneralSettingsObject ( )

Save user account settings.

Returns

Definition at line 1352 of file class.ilObjUserFolderGUI.php.

1353 {
1354 global $ilUser, $ilSetting;
1355
1356 $this->initFormGeneralSettings();
1357 if ($this->form->checkInput()) {
1358 $valid = true;
1359
1360 if (!strlen($this->form->getInput('loginname_change_blocking_time'))) {
1361 $valid = false;
1362 $this->form->getItemByPostVar('loginname_change_blocking_time')
1363 ->setAlert($this->lng->txt('loginname_change_blocking_time_invalidity_info'));
1364 }
1365
1366 include_once('./Services/PrivacySecurity/classes/class.ilSecuritySettings.php');
1368
1369 // account security settings
1370 $security->setPasswordCharsAndNumbersEnabled((bool) $_POST["password_chars_and_numbers_enabled"]);
1371 $security->setPasswordSpecialCharsEnabled((bool) $_POST["password_special_chars_enabled"]);
1372 $security->setPasswordMinLength((int) $_POST["password_min_length"]);
1373 $security->setPasswordMaxLength((int) $_POST["password_max_length"]);
1374 $security->setPasswordNumberOfUppercaseChars((int) $_POST['password_ucase_chars_num']);
1375 $security->setPasswordNumberOfLowercaseChars((int) $_POST['password_lowercase_chars_num']);
1376 $security->setPasswordMaxAge((int) $_POST["password_max_age"]);
1377 $security->setLoginMaxAttempts((int) $_POST["login_max_attempts"]);
1378 $security->setPreventionOfSimultaneousLogins((bool) $_POST['ps_prevent_simultaneous_logins']);
1379 $security->setPasswordChangeOnFirstLoginEnabled((bool) $_POST['password_change_on_first_login_enabled']);
1380 $security->setPasswordMustNotContainLoginnameStatus((int) $_POST['password_must_not_contain_loginame']);
1381
1382 if (!$security->validate($this->form)) {
1383 $valid = false;
1384 }
1385
1386 if ($valid) {
1387 $security->save();
1388
1389 include_once './Services/User/classes/class.ilUserAccountSettings.php';
1390 ilUserAccountSettings::getInstance()->enableLocalUserAdministration($this->form->getInput('lua'));
1391 ilUserAccountSettings::getInstance()->restrictUserAccess($this->form->getInput('lrua'));
1393
1394 $ilSetting->set('allow_change_loginname', (int) $this->form->getInput('allow_change_loginname'));
1395 $ilSetting->set('create_history_loginname', (int) $this->form->getInput('create_history_loginname'));
1396 $ilSetting->set('reuse_of_loginnames', (int) $this->form->getInput('reuse_of_loginnames'));
1397 $save_blocking_time_in_seconds = (int) ($this->form->getInput('loginname_change_blocking_time') * 86400);
1398 $ilSetting->set('loginname_change_blocking_time', (int) $save_blocking_time_in_seconds);
1399 $ilSetting->set('user_adm_alpha_nav', (int) $this->form->getInput('user_adm_alpha_nav'));
1400 $ilSetting->set('user_reactivate_code', (int) $this->form->getInput('user_reactivate_code'));
1401
1402 $ilSetting->set('user_delete_own_account', (int) $this->form->getInput('user_own_account'));
1403 $ilSetting->set('user_delete_own_account_email', $this->form->getInput('user_own_account_email'));
1404
1405 $ilSetting->set("password_assistance", $this->form->getInput("password_assistance"));
1406
1407 // BEGIN SESSION SETTINGS
1408 $ilSetting->set(
1409 'session_handling_type',
1410 (int) $this->form->getInput('session_handling_type')
1411 );
1412
1413 if ($this->form->getInput('session_handling_type') == ilSession::SESSION_HANDLING_FIXED) {
1414 $ilSetting->set(
1415 'session_reminder_enabled',
1416 $this->form->getInput('session_reminder_enabled')
1417 );
1418 } elseif ($this->form->getInput('session_handling_type') == ilSession::SESSION_HANDLING_LOAD_DEPENDENT) {
1419 require_once 'Services/Authentication/classes/class.ilSessionControl.php';
1420 if (
1421 $ilSetting->get(
1422 'session_allow_client_maintenance',
1424 )
1425 ) {
1426 // has to be done BEFORE updating the setting!
1427 include_once "Services/Authentication/classes/class.ilSessionStatistics.php";
1428 ilSessionStatistics::updateLimitLog((int) $this->form->getInput('session_max_count'));
1429
1430 $ilSetting->set(
1431 'session_max_count',
1432 (int) $this->form->getInput('session_max_count')
1433 );
1434 $ilSetting->set(
1435 'session_min_idle',
1436 (int) $this->form->getInput('session_min_idle')
1437 );
1438 $ilSetting->set(
1439 'session_max_idle',
1440 (int) $this->form->getInput('session_max_idle')
1441 );
1442 $ilSetting->set(
1443 'session_max_idle_after_first_request',
1444 (int) $this->form->getInput('session_max_idle_after_first_request')
1445 );
1446 }
1447 }
1448 // END SESSION SETTINGS
1449 $ilSetting->set('letter_avatars', (int) $this->form->getInput('letter_avatars'));
1450 ilUtil::sendSuccess($this->lng->txt('saved_successfully'));
1451 } else {
1452 ilUtil::sendFailure($this->lng->txt('form_input_not_valid'));
1453 }
1454 } else {
1455 ilUtil::sendFailure($this->lng->txt('form_input_not_valid'));
1456 }
1457 $this->form->setValuesByPost();
1458 $this->tpl->setContent($this->form->getHTML());
1459 }
static updateLimitLog($a_new_value)
Log max session setting.
$valid

References $_POST, $ilSetting, $ilUser, $valid, ilSecuritySettings\_getInstance(), ilSessionControl\DEFAULT_ALLOW_CLIENT_MAINTENANCE, ilUserAccountSettings\getInstance(), initFormGeneralSettings(), ilUtil\sendFailure(), ilUtil\sendSuccess(), ilSession\SESSION_HANDLING_FIXED, ilSession\SESSION_HANDLING_LOAD_DEPENDENT, and ilSessionStatistics\updateLimitLog().

+ Here is the call graph for this function:

◆ saveGlobalUserSettingsObject()

ilObjUserFolderGUI::saveGlobalUserSettingsObject (   $action = "")

Definition at line 1756 of file class.ilObjUserFolderGUI.php.

1757 {
1758 include_once 'Services/Search/classes/class.ilUserSearchOptions.php';
1759 include_once 'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
1760
1761 global $ilias,$ilSetting;
1762
1763 // see ilUserFieldSettingsTableGUI
1764 include_once("./Services/User/classes/class.ilUserProfile.php");
1765 $up = new ilUserProfile();
1766 $up->skipField("username");
1767 $field_properties = $up->getStandardFields();
1768 $profile_fields = array_keys($field_properties);
1769
1770 $valid = true;
1771 foreach ($profile_fields as $field) {
1772 if ($_POST["chb"]["required_" . $field] &&
1773 !(int) $_POST['chb']['visib_reg_' . $field]
1774 ) {
1775 $valid = false;
1776 break;
1777 }
1778 }
1779
1780 if (!$valid) {
1781 global $lng;
1782 ilUtil::sendFailure($lng->txt('invalid_visible_required_options_selected'));
1783 $this->confirm_change = 1;
1784 $this->settingsObject();
1785 return;
1786 }
1787
1788 // For the following fields, the required state can not be changed
1789 $fixed_required_fields = array(
1790 "firstname" => 1,
1791 "lastname" => 1,
1792 "upload" => 0,
1793 "password" => 0,
1794 "language" => 0,
1795 "skin_style" => 0,
1796 "hits_per_page" => 0,
1797 /*"show_users_online" => 0,*/
1798 "hide_own_online_status" => 0
1799 );
1800
1801 // check if a course export state of any field has been added
1803 if ($privacy->enabledCourseExport() == true &&
1804 $privacy->courseConfirmationRequired() == true &&
1805 $action != "save") {
1806 foreach ($profile_fields as $field) {
1807 if (!$ilias->getSetting("usr_settings_course_export_" . $field) && $_POST["chb"]["course_export_" . $field] == "1") {
1808 #ilUtil::sendQuestion($this->lng->txt('confirm_message_course_export'));
1809 #$this->confirm_change = 1;
1810 #$this->settingsObject();
1811 #return;
1812 }
1813 }
1814 }
1815 // Reset user confirmation
1816 if ($action == 'save') {
1817 include_once('Services/Membership/classes/class.ilMemberAgreement.php');
1819 }
1820
1821 foreach ($profile_fields as $field) {
1822 // Enable disable searchable
1824 ilUserSearchOptions::_saveStatus($field, (bool) $_POST['chb']['searchable_' . $field]);
1825 }
1826
1827 if (!$_POST["chb"]["visible_" . $field] && !$field_properties[$field]["visible_hide"]) {
1828 $ilias->setSetting("usr_settings_hide_" . $field, "1");
1829 } else {
1830 $ilias->deleteSetting("usr_settings_hide_" . $field);
1831 }
1832
1833 if (!$_POST["chb"]["changeable_" . $field] && !$field_properties[$field]["changeable_hide"]) {
1834 $ilias->setSetting("usr_settings_disable_" . $field, "1");
1835 } else {
1836 $ilias->deleteSetting("usr_settings_disable_" . $field);
1837 }
1838
1839 // registration visible
1840 if ((int) $_POST['chb']['visib_reg_' . $field] && !$field_properties[$field]["visib_reg_hide"]) {
1841 $ilSetting->set('usr_settings_visib_reg_' . $field, '1');
1842 } else {
1843 $ilSetting->set('usr_settings_visib_reg_' . $field, '0');
1844 }
1845
1846 if ((int) $_POST['chb']['visib_lua_' . $field]) {
1847 $ilSetting->set('usr_settings_visib_lua_' . $field, '1');
1848 } else {
1849 $ilSetting->set('usr_settings_visib_lua_' . $field, '0');
1850 }
1851
1852 if ((int) $_POST['chb']['changeable_lua_' . $field]) {
1853 $ilSetting->set('usr_settings_changeable_lua_' . $field, '1');
1854 } else {
1855 $ilSetting->set('usr_settings_changeable_lua_' . $field, '0');
1856 }
1857
1858 if ($_POST["chb"]["export_" . $field] && !$field_properties[$field]["export_hide"]) {
1859 $ilias->setSetting("usr_settings_export_" . $field, "1");
1860 } else {
1861 $ilias->deleteSetting("usr_settings_export_" . $field);
1862 }
1863
1864 // Course export/visibility
1865 if ($_POST["chb"]["course_export_" . $field] && !$field_properties[$field]["course_export_hide"]) {
1866 $ilias->setSetting("usr_settings_course_export_" . $field, "1");
1867 } else {
1868 $ilias->deleteSetting("usr_settings_course_export_" . $field);
1869 }
1870
1871 // Group export/visibility
1872 if ($_POST["chb"]["group_export_" . $field] && !$field_properties[$field]["group_export_hide"]) {
1873 $ilias->setSetting("usr_settings_group_export_" . $field, "1");
1874 } else {
1875 $ilias->deleteSetting("usr_settings_group_export_" . $field);
1876 }
1877
1878 $is_fixed = array_key_exists($field, $fixed_required_fields);
1879 if ($is_fixed && $fixed_required_fields[$field] || !$is_fixed && $_POST["chb"]["required_" . $field]) {
1880 $ilias->setSetting("require_" . $field, "1");
1881 } else {
1882 $ilias->deleteSetting("require_" . $field);
1883 }
1884 }
1885
1886 if ($_POST["select"]["default_hits_per_page"]) {
1887 $ilias->setSetting("hits_per_page", $_POST["select"]["default_hits_per_page"]);
1888 }
1889
1890 /*if ($_POST["select"]["default_show_users_online"])
1891 {
1892 $ilias->setSetting("show_users_online",$_POST["select"]["default_show_users_online"]);
1893 }*/
1894
1895 if ($_POST["chb"]["export_preferences"]) {
1896 $ilias->setSetting("usr_settings_export_preferences", $_POST["chb"]["export_preferences"]);
1897 } else {
1898 $ilias->deleteSetting("usr_settings_export_preferences");
1899 }
1900
1901 $ilias->setSetting('mail_incoming_mail', (int) $_POST['select']['default_mail_incoming_mail']);
1902 $ilias->setSetting('chat_osc_accept_msg', ilUtil::stripSlashes($_POST['select']['default_chat_osc_accept_msg']));
1903 $ilias->setSetting('bs_allow_to_contact_me', ilUtil::stripSlashes($_POST['select']['default_bs_allow_to_contact_me']));
1904 $ilias->setSetting('hide_own_online_status', ilUtil::stripSlashes($_POST['select']['default_hide_own_online_status']));
1905
1906 ilUtil::sendSuccess($this->lng->txt("usr_settings_saved"));
1907 $this->settingsObject();
1908 }
static _reset()
Reset all.
settingsObject()
Global user settings.
static _getInstance()
Get instance of ilPrivacySettings.
Class ilUserProfile.
static _saveStatus($a_key, $a_enabled)
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled

References $_POST, $action, $ilSetting, ilObjectGUI\$lng, $valid, ilPrivacySettings\_getInstance(), ilUserSearchOptions\_isSearchable(), ilMemberAgreement\_reset(), ilUserSearchOptions\_saveStatus(), ilUtil\sendFailure(), ilUtil\sendSuccess(), settingsObject(), and ilUtil\stripSlashes().

Referenced by confirmSavedObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveLoginnameSettingsObject()

ilObjUserFolderGUI::saveLoginnameSettingsObject ( )

Definition at line 2455 of file class.ilObjUserFolderGUI.php.

2456 {
2457 global $ilUser, $ilSetting;
2458
2459 $this->initLoginSettingsForm();
2460 if ($this->loginSettingsForm->checkInput()) {
2461 $valid = true;
2462
2463 if (!strlen($this->loginSettingsForm->getInput('loginname_change_blocking_time'))) {
2464 $valid = false;
2465 $this->loginSettingsForm->getItemByPostVar('loginname_change_blocking_time')
2466 ->setAlert($this->lng->txt('loginname_change_blocking_time_invalidity_info'));
2467 }
2468
2469 if ($valid) {
2470 $save_blocking_time_in_seconds = (int) $this->loginSettingsForm->getInput('loginname_change_blocking_time') * 86400;
2471
2472 $ilSetting->set('allow_change_loginname', (int) $this->loginSettingsForm->getInput('allow_change_loginname'));
2473 $ilSetting->set('create_history_loginname', (int) $this->loginSettingsForm->getInput('create_history_loginname'));
2474 $ilSetting->set('reuse_of_loginnames', (int) $this->loginSettingsForm->getInput('reuse_of_loginnames'));
2475 $ilSetting->set('loginname_change_blocking_time', (int) $save_blocking_time_in_seconds);
2476
2477 ilUtil::sendSuccess($this->lng->txt('saved_successfully'));
2478 } else {
2479 ilUtil::sendFailure($this->lng->txt('form_input_not_valid'));
2480 }
2481 } else {
2482 ilUtil::sendFailure($this->lng->txt('form_input_not_valid'));
2483 }
2484 $this->loginSettingsForm->setValuesByPost();
2485
2486 $this->tpl->setVariable('ADM_CONTENT', $this->loginSettingsForm->getHTML());
2487 }

References $ilSetting, $ilUser, $valid, initLoginSettingsForm(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ saveNewAccountMailObject()

ilObjUserFolderGUI::saveNewAccountMailObject ( )

Definition at line 2248 of file class.ilObjUserFolderGUI.php.

2249 {
2250 global $lng;
2251
2252 $langs = $lng->getInstalledLanguages();
2253 foreach ($langs as $lang_key) {
2254 $this->object->_writeNewAccountMail(
2255 $lang_key,
2256 ilUtil::stripSlashes($_POST["subject_" . $lang_key]),
2257 ilUtil::stripSlashes($_POST["sal_g_" . $lang_key]),
2258 ilUtil::stripSlashes($_POST["sal_f_" . $lang_key]),
2259 ilUtil::stripSlashes($_POST["sal_m_" . $lang_key]),
2260 ilUtil::stripSlashes($_POST["body_" . $lang_key])
2261 );
2262
2263 if ($_FILES["att_" . $lang_key]["tmp_name"]) {
2264 $this->object->_updateAccountMailAttachment(
2265 $lang_key,
2266 $_FILES["att_" . $lang_key]["tmp_name"],
2267 $_FILES["att_" . $lang_key]["name"]
2268 );
2269 }
2270
2271 if ($_POST["att_" . $lang_key . "_delete"]) {
2272 $this->object->_deleteAccountMailAttachment($lang_key);
2273 }
2274 }
2275
2276 ilUtil::sendSuccess($this->lng->txt("msg_obj_modified"), true);
2277 $this->ctrl->redirect($this, "newAccountMail");
2278 }

References $_POST, ilObjectGUI\$lng, ilUtil\sendSuccess(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ searchResultHandler()

ilObjUserFolderGUI::searchResultHandler (   $a_usr_ids,
  $a_cmd 
)

Handles multi command from repository search gui.

Definition at line 2529 of file class.ilObjUserFolderGUI.php.

2530 {
2531 if (!count((array) $a_usr_ids)) {
2532 ilUtil::sendFailure($this->lng->txt('select_one'));
2533 return false;
2534 }
2535
2536 $_POST['id'] = $a_usr_ids;
2537
2538 // no real confirmation here
2539 if (stristr($a_cmd, "export")) {
2540 $cmd = $a_cmd . "Object";
2541 return $this->$cmd();
2542 }
2543
2544 $_POST['selectedAction'] = $a_cmd;
2545 return $this->showActionConfirmation($a_cmd, true);
2546 }

References $_POST, ilUtil\sendFailure(), and showActionConfirmation().

+ Here is the call graph for this function:

◆ setAccessRestrictionObject()

ilObjUserFolderGUI::setAccessRestrictionObject (   $a_form = null,
  $a_from_search = false 
)

Definition at line 500 of file class.ilObjUserFolderGUI.php.

501 {
502 if (!$a_form) {
503 $a_form = $this->initAccessRestrictionForm($a_from_search);
504 }
505 $this->tpl->setContent($a_form->getHTML());
506
507 // #10963
508 return true;
509 }

References initAccessRestrictionForm().

Referenced by confirmaccessRestrictObject(), and showActionConfirmation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setSubTabs()

ilObjUserFolderGUI::setSubTabs (   $a_tab)

set sub tabs

Definition at line 2353 of file class.ilObjUserFolderGUI.php.

2354 {
2355 global $rbacsystem,$ilUser;
2356
2357 switch ($a_tab) {
2358 case "settings":
2359 $this->tabs_gui->addSubTabTarget(
2360 'general_settings',
2361 $this->ctrl->getLinkTarget($this, 'generalSettings'),
2362 'generalSettings',
2363 get_class($this)
2364 );
2365 $this->tabs_gui->addSubTabTarget(
2366 "standard_fields",
2367 $this->ctrl->getLinkTarget($this, 'settings'),
2368 array("settings", "saveGlobalUserSettings"),
2369 get_class($this)
2370 );
2371 $this->tabs_gui->addSubTabTarget(
2372 "user_defined_fields",
2373 $this->ctrl->getLinkTargetByClass("ilcustomuserfieldsgui", "listUserDefinedFields"),
2374 "listUserDefinedFields",
2375 get_class($this)
2376 );
2377 $this->tabs_gui->addSubTabTarget(
2378 "user_new_account_mail",
2379 $this->ctrl->getLinkTarget($this, 'newAccountMail'),
2380 "newAccountMail",
2381 get_class($this)
2382 );
2383
2384 $this->tabs_gui->addSubTabTarget(
2385 "starting_points",
2386 $this->ctrl->getLinkTargetByClass("iluserstartingpointgui", "startingPoints"),
2387 "startingPoints",
2388 get_class($this)
2389 );
2390
2391
2392 $this->tabs_gui->addSubTabTarget(
2393 "user_profile_info",
2394 $this->ctrl->getLinkTargetByClass("ilUserProfileInfoSettingsGUI", ''),
2395 "",
2396 "ilUserProfileInfoSettingsGUI"
2397 );
2398
2399 #$this->tabs_gui->addSubTab("account_codes", $this->lng->txt("user_account_codes"),
2400 # $this->ctrl->getLinkTargetByClass("ilaccountcodesgui"));
2401 break;
2402 }
2403 }

References $ilUser, and ilObjectGUI\$rbacsystem.

Referenced by executeCommand(), initFormGeneralSettings(), initLoginSettingsForm(), newAccountMailObject(), and settingsObject().

+ Here is the caller graph for this function:

◆ settingsObject()

ilObjUserFolderGUI::settingsObject ( )

Global user settings.

Allows to define global settings for user accounts

Note: The Global user settings form allows to specify default values for some user preferences. To avoid redundant implementations, specification of default values can be done elsewhere in ILIAS are not supported by this form.

Definition at line 1731 of file class.ilObjUserFolderGUI.php.

1732 {
1733 global $tpl, $lng, $ilias, $ilTabs;
1734
1735 include_once 'Services/Search/classes/class.ilUserSearchOptions.php';
1736 $lng->loadLanguageModule("administration");
1737 $lng->loadLanguageModule("mail");
1738 $lng->loadLanguageModule("chatroom");
1739 $this->setSubTabs('settings');
1740 $ilTabs->activateTab('settings');
1741 $ilTabs->activateSubTab('standard_fields');
1742
1743 include_once("./Services/User/classes/class.ilUserFieldSettingsTableGUI.php");
1744 $tab = new ilUserFieldSettingsTableGUI($this, "settings");
1745 if ($this->confirm_change) {
1746 $tab->setConfirmChange();
1747 }
1748 $tpl->setContent($tab->getHTML());
1749 }

References ilObjectGUI\$lng, $tab, ilObjectGUI\$tpl, and setSubTabs().

Referenced by saveGlobalUserSettingsObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setUserOwnerId()

ilObjUserFolderGUI::setUserOwnerId (   $a_id)

Definition at line 48 of file class.ilObjUserFolderGUI.php.

49 {
50 $this->user_owner_id = $a_id;
51 }

◆ showActionConfirmation()

ilObjUserFolderGUI::showActionConfirmation (   $action,
  $a_from_search = false 
)

display activation confirmation screen

Definition at line 650 of file class.ilObjUserFolderGUI.php.

651 {
652 global $ilTabs;
653
654 $user_ids = $this->getActionUserIds();
655 if (!$user_ids) {
656 $this->ilias->raiseError($this->lng->txt("no_checkbox"), $this->ilias->error_obj->MESSAGE);
657 }
658
659 if (!$a_from_search) {
660 $ilTabs->activateTab("obj_usrf");
661 } else {
662 $ilTabs->activateTab("search_user_extended");
663 }
664
665 if (strcmp($action, "accessRestrict") == 0) {
666 return $this->setAccessRestrictionObject(null, $a_from_search);
667 }
668 if (strcmp($action, "mail") == 0) {
669 return $this->mailObject();
670 }
671
672 unset($this->data);
673
674 if (!$a_from_search) {
675 $cancel = "cancelUserFolderAction";
676 } else {
677 $cancel = "cancelSearchAction";
678 }
679
680 // display confirmation message
681 include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
682 $cgui = new ilConfirmationGUI();
683 $cgui->setFormAction($this->ctrl->getFormAction($this));
684 $cgui->setHeaderText($this->lng->txt("info_" . $action . "_sure"));
685 $cgui->setCancel($this->lng->txt("cancel"), $cancel);
686 $cgui->setConfirm($this->lng->txt("confirm"), "confirm" . $action);
687
688 if ($a_from_search) {
689 $cgui->addHiddenItem("frsrch", 1);
690 }
691
692 foreach ($user_ids as $id) {
693 $user = new ilObjUser($id);
694
695 $login = $user->getLastLogin();
696 if (!$login) {
697 $login = $this->lng->txt("never");
698 } else {
700 }
701
702 $caption = $user->getFullname() . " (" . $user->getLogin() . ")" . ", " .
703 $user->getEmail() . " - " . $this->lng->txt("last_login") . ": " . $login;
704
705 $cgui->addItem("id[]", $id, $caption);
706 }
707
708 $this->tpl->setContent($cgui->getHTML());
709
710 return true;
711 }
const IL_CAL_DATETIME
$this data['403_header']

References $action, $id, ilObjectGUI\$user, data, ilDatePresentation\formatDate(), getActionUserIds(), IL_CAL_DATETIME, mailObject(), and setAccessRestrictionObject().

Referenced by activateUsersObject(), deactivateUsersObject(), deleteUsersObject(), freeAccessObject(), restrictAccessObject(), searchResultHandler(), and userActionObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showActions()

ilObjUserFolderGUI::showActions (   $with_subobjects = false)

show possible action (form buttons)

Parameters
boolean@access public

Definition at line 293 of file class.ilObjUserFolderGUI.php.

294 {
295 global $rbacsystem;
296
297 $operations = array();
298 //var_dump($this->actions);
299 if ($this->actions == "") {
300 $d = array(
301 "delete" => array("name" => "delete", "lng" => "delete"),
302 "activate" => array("name" => "activate", "lng" => "activate"),
303 "deactivate" => array("name" => "deactivate", "lng" => "deactivate"),
304 "accessRestrict" => array("name" => "accessRestrict", "lng" => "accessRestrict"),
305 "accessFree" => array("name" => "accessFree", "lng" => "accessFree"),
306 "export" => array("name" => "export", "lng" => "export")
307 );
308 } else {
310 }
311 foreach ($d as $row) {
312 if ($rbacsystem->checkAccess($row["name"], $this->object->getRefId())) {
313 $operations[] = $row;
314 }
315 }
316
317 if (count($operations) > 0) {
318 $select = "<select name=\"selectedAction\">\n";
319 foreach ($operations as $val) {
320 $select .= "<option value=\"" . $val["name"] . "\"";
321 if (strcmp($_POST["selectedAction"], $val["name"]) == 0) {
322 $select .= " selected=\"selected\"";
323 }
324 $select .= ">";
325 $select .= $this->lng->txt($val["lng"]);
326 $select .= "</option>";
327 }
328 $select .= "</select>";
329 $this->tpl->setCurrentBlock("tbl_action_select");
330 $this->tpl->setVariable("SELECT_ACTION", $select);
331 $this->tpl->setVariable("BTN_NAME", "userAction");
332 $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("submit"));
333 $this->tpl->parseCurrentBlock();
334 }
335
336 if ($with_subobjects === true) {
337 $subobjs = $this->showPossibleSubObjects();
338 }
339
340 if ((count($operations) > 0) or $subobjs === true) {
341 $this->tpl->setCurrentBlock("tbl_action_row");
342 $this->tpl->setVariable("COLUMN_COUNTS", count($this->data["cols"]));
343 $this->tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.svg"));
344 $this->tpl->setVariable("ALT_ARROW", $this->lng->txt("actions"));
345 $this->tpl->parseCurrentBlock();
346 }
347 }
showPossibleSubObjects()
show possible subobjects (pulldown menu) overwritten to prevent displaying of role templates in local...
for( $i=6;$i< 13;$i++) for($i=1; $i< 13; $i++) $d
Definition: date.php:296

References $_POST, ilObjectGUI\$actions, $d, ilObjectGUI\$rbacsystem, $row, data, ilUtil\getImagePath(), and showPossibleSubObjects().

+ Here is the call graph for this function:

◆ showLoginnameSettingsObject()

ilObjUserFolderGUI::showLoginnameSettingsObject ( )

Definition at line 2405 of file class.ilObjUserFolderGUI.php.

2406 {
2407 global $ilSetting;
2408
2409 $show_blocking_time_in_days = (int) $ilSetting->get('loginname_change_blocking_time') / 86400;
2410
2411 $this->initLoginSettingsForm();
2412 $this->loginSettingsForm->setValuesByArray(array(
2413 'allow_change_loginname' => (bool) $ilSetting->get('allow_change_loginname'),
2414 'create_history_loginname' => (bool) $ilSetting->get('create_history_loginname'),
2415 'reuse_of_loginnames' => (bool) $ilSetting->get('reuse_of_loginnames'),
2416 'loginname_change_blocking_time' => (float) $show_blocking_time_in_days
2417 ));
2418
2419 $this->tpl->setVariable('ADM_CONTENT', $this->loginSettingsForm->getHTML());
2420 }

References $ilSetting, and initLoginSettingsForm().

+ Here is the call graph for this function:

◆ showPossibleSubObjects()

ilObjUserFolderGUI::showPossibleSubObjects ( )

show possible subobjects (pulldown menu) overwritten to prevent displaying of role templates in local role folders

@access public

Reimplemented from ilObjectGUI.

Definition at line 355 of file class.ilObjUserFolderGUI.php.

356 {
357 global $rbacsystem;
358
359 $d = $this->objDefinition->getCreatableSubObjects($this->object->getType());
360
361 if (!$rbacsystem->checkAccess('create_usr', $this->object->getRefId())) {
362 unset($d["usr"]);
363 }
364
365 if (count($d) > 0) {
366 foreach ($d as $row) {
367 $count = 0;
368 if ($row["max"] > 0) {
369 //how many elements are present?
370 for ($i=0; $i<count($this->data["ctrl"]); $i++) {
371 if ($this->data["ctrl"][$i]["type"] == $row["name"]) {
372 $count++;
373 }
374 }
375 }
376 if ($row["max"] == "" || $count < $row["max"]) {
377 $subobj[] = $row["name"];
378 }
379 }
380 }
381
382 if (is_array($subobj)) {
383 //build form
384 $opts = ilUtil::formSelect(12, "new_type", $subobj);
385 $this->tpl->setCurrentBlock("add_object");
386 $this->tpl->setVariable("SELECT_OBJTYPE", $opts);
387 $this->tpl->setVariable("BTN_NAME", "create");
388 $this->tpl->setVariable("TXT_ADD", $this->lng->txt("add"));
389 $this->tpl->parseCurrentBlock();
390
391 return true;
392 }
393
394 return false;
395 }

References $d, $i, ilObjectGUI\$rbacsystem, $row, data, and ilUtil\formSelect().

Referenced by showActions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ userActionObject()

ilObjUserFolderGUI::userActionObject ( )

Definition at line 758 of file class.ilObjUserFolderGUI.php.

759 {
760 $this->showActionConfirmation($_POST["selectedAction"]);
761 }

References $_POST, and showActionConfirmation().

+ Here is the call graph for this function:

◆ usrExportCsvObject()

ilObjUserFolderGUI::usrExportCsvObject ( )

Definition at line 2611 of file class.ilObjUserFolderGUI.php.

2612 {
2613 $user_ids = $this->getActionUserIds();
2614 if (!$user_ids) {
2615 ilUtil::sendFailure($this->lng->txt('select_one'));
2616 return $this->viewObject();
2617 }
2618 $this->object->buildExportFile("userfolder_export_csv", $user_ids);
2619 $this->ctrl->redirectByClass("ilobjuserfoldergui", "export");
2620 }

References getActionUserIds(), ilUtil\sendFailure(), and ilObjectGUI\viewObject().

+ Here is the call graph for this function:

◆ usrExportX86Object()

ilObjUserFolderGUI::usrExportX86Object ( )

Definition at line 2600 of file class.ilObjUserFolderGUI.php.

2601 {
2602 $user_ids = $this->getActionUserIds();
2603 if (!$user_ids) {
2604 ilUtil::sendFailure($this->lng->txt('select_one'));
2605 return $this->viewObject();
2606 }
2607 $this->object->buildExportFile("userfolder_export_excel_x86", $user_ids);
2608 $this->ctrl->redirectByClass("ilobjuserfoldergui", "export");
2609 }

References getActionUserIds(), ilUtil\sendFailure(), and ilObjectGUI\viewObject().

+ Here is the call graph for this function:

◆ usrExportXmlObject()

ilObjUserFolderGUI::usrExportXmlObject ( )

Definition at line 2622 of file class.ilObjUserFolderGUI.php.

2623 {
2624 $user_ids = $this->getActionUserIds();
2625 if (!$user_ids) {
2626 ilUtil::sendFailure($this->lng->txt('select_one'));
2627 return $this->viewObject();
2628 }
2629 $this->object->buildExportFile("userfolder_export_xml", $user_ids);
2630 $this->ctrl->redirectByClass("ilobjuserfoldergui", "export");
2631 }

References getActionUserIds(), ilUtil\sendFailure(), and ilObjectGUI\viewObject().

+ Here is the call graph for this function:

◆ viewObject()

ilObjUserFolderGUI::viewObject (   $reset_filter = false)

list users

@access public

Definition at line 210 of file class.ilObjUserFolderGUI.php.

211 {
212 global $rbacsystem, $ilUser, $ilToolbar, $tpl, $ilSetting, $lng;
213
214 include_once "Services/UIComponent/Button/classes/class.ilLinkButton.php";
215
216 if ($rbacsystem->checkAccess('create_usr', $this->object->getRefId()) ||
217 $rbacsystem->checkAccess('cat_administrate_users', $this->object->getRefId())) {
218 $button = ilLinkButton::getInstance();
219 $button->setCaption("usr_add");
220 $button->setUrl($this->ctrl->getLinkTarget($this, "addUser"));
221 $ilToolbar->addButtonInstance($button);
222
223 $button = ilLinkButton::getInstance();
224 $button->setCaption("import_users");
225 $button->setUrl($this->ctrl->getLinkTarget($this, "importUserForm"));
226 $ilToolbar->addButtonInstance($button);
227 }
228
229 // alphabetical navigation
230 include_once './Services/User/classes/class.ilUserAccountSettings.php';
232 if ((int) $ilSetting->get('user_adm_alpha_nav')) {
233 $ilToolbar->addSeparator();
234
235 // alphabetical navigation
236 include_once("./Services/Form/classes/class.ilAlphabetInputGUI.php");
237 $ai = new ilAlphabetInputGUI("", "first");
238 include_once("./Services/User/classes/class.ilObjUser.php");
239 $ai->setLetters(ilObjUser::getFirstLettersOfLastnames());
240 /*$ai->setLetters(array("A","B","C","D","E","F","G","H","I","J",
241 "K","L","M","N","O","P","Q","R","S","T",
242 "U","V","W","X","Y","Z","1","2","3","4","_",
243 "Ä","Ü","Ö",":",";","+","*","#","§","%","&"));*/
244 $ai->setParentCommand($this, "chooseLetter");
245 $ai->setHighlighted($_GET["letter"]);
246 $ilToolbar->addInputItem($ai, true);
247 }
248
249 include_once("./Services/User/classes/class.ilUserTableGUI.php");
250 $utab = new ilUserTableGUI($this, "view");
251 $tpl->setContent($utab->getHTML());
252 }
This class represents a text property in a property form.
static getInstance()
Factory.
static getFirstLettersOfLastnames()
Get first letters of all lastnames.

References $_GET, $ilSetting, $ilUser, ilObjectGUI\$lng, ilObjectGUI\$rbacsystem, ilObjectGUI\$tpl, ilObjUser\getFirstLettersOfLastnames(), ilLinkButton\getInstance(), and ilUserAccountSettings\getInstance().

+ Here is the call graph for this function:

Field Documentation

◆ $ctrl

ilObjUserFolderGUI::$ctrl

Definition at line 22 of file class.ilObjUserFolderGUI.php.

◆ $log

ilObjUserFolderGUI::$log
protected

Definition at line 24 of file class.ilObjUserFolderGUI.php.

Referenced by initFormGeneralSettings().


The documentation for this class was generated from the following file: