19declare(strict_types=1);
49 AdminSettingsGUI::class,
50 UserSettingsConfigurationGUI::class,
51 NewAccountMailSettingsGUI::class,
52 StartingPointSettingsGUI::class
56 ProfileFieldsConfigurationGUI::class,
57 ProfileSettingsGUI::class
63 private readonly \
ilCtrl $ctrl,
92 $this->tabs_gui->addTab(
93 self::TAB_ID_ACCOUNTS,
94 $this->
lng->txt(
'usrf'),
95 $this->ctrl->getLinkTargetByClass(
96 [\ilAdministrationGUI::class, \ilObjUserFolderGUI::class],
104 $this->tabs_gui->addTab(
105 self::TAB_ID_SETTINGS,
106 $this->
lng->txt(
'settings'),
107 $this->ctrl->getLinkTargetByClass(
108 [\ilAdministrationGUI::class, \ilObjUserFolderGUI::class, AdminSettingsGUI::class],
116 $this->tabs_gui->addTab(
117 self::TAB_ID_PROFILE,
118 $this->
lng->txt(
'profile'),
119 $this->ctrl->getLinkTargetByClass(
120 [\ilAdministrationGUI::class, \ilObjUserFolderGUI::class, ProfileFieldsConfigurationGUI::class],
128 $this->tabs_gui->addTab(
130 $this->
lng->txt(
'export'),
131 $this->ctrl->getLinkTargetByClass(
132 [\ilAdministrationGUI::class, \ilObjUserFolderGUI::class, \ilExportGUI::class],
140 $this->tabs_gui->addTab(
141 self::TAB_ID_PERMISSIONS,
142 $this->
lng->txt(
'perm_settings'),
143 $this->ctrl->getLinkTargetByClass(
144 [\ilAdministrationGUI::class, \ilObjUserFolderGUI::class, \ilPermissionGUI::class],
152 $this->tabs_gui->addTab(
153 self::TAB_ID_EXTENDED_SEARCH,
154 $this->
lng->txt(
'search_user_extended'),
155 $this->ctrl->getLinkTargetByClass(
156 [\ilAdministrationGUI::class, \ilObjUserFolderGUI::class, \ilRepositorySearchGUI::class],
165 $this->tabs_gui->activateTab(self::TAB_ID_SETTINGS);
171 $this->tabs_gui->activateTab(self::TAB_ID_PROFILE);
176 switch ($this->
ctrl->getCmdClass()) {
177 case strtolower(\ilObjUserFolderGUI::class):
178 $this->tabs_gui->activateTab(self::TAB_ID_ACCOUNTS);
180 case strtolower(\ilRepositorySearchGUI::class):
181 $this->tabs_gui->activateTab(self::TAB_ID_EXTENDED_SEARCH);
183 case strtolower(\ilExportGUI::class):
184 $this->tabs_gui->activateTab(self::TAB_ID_EXPORT);
186 case strtolower(\ilPermissionGUI::class):
187 $this->tabs_gui->activateTab(self::TAB_ID_PERMISSIONS);
207 $this->tabs_gui->addSubTab(
208 self::SUBTAB_ID_SETTINGS_AMIN,
209 $this->
lng->txt(
'administrative_settings'),
210 $this->ctrl->getLinkTargetByClass(
211 [\ilAdministrationGUI::class, \ilObjUserFolderGUI::class, AdminSettingsGUI::class],
215 $this->tabs_gui->addSubTab(
216 self::SUBTAB_ID_SETTINGS_USER,
217 $this->
lng->txt(
'user_settings'),
218 $this->ctrl->getLinkTargetByClass(
219 [\ilAdministrationGUI::class, \ilObjUserFolderGUI::class, UserSettingsConfigurationGUI::class],
223 $this->tabs_gui->addSubTab(
224 self::SUBTAB_ID_SETTINGS_NEW_ACCOUNT_MAIL,
225 $this->
lng->txt(
'registration_user_new_account_mail'),
226 $this->ctrl->getLinkTargetByClass(
227 [\ilAdministrationGUI::class, \ilObjUserFolderGUI::class, NewAccountMailSettingsGUI::class],
231 $this->tabs_gui->addSubTab(
232 self::SUBTAB_ID_SETTINGS_STARTING_POINTS,
233 $this->
lng->txt(
'starting_points'),
234 $this->ctrl->getLinkTargetByClass(
235 [\ilAdministrationGUI::class, \ilObjUserFolderGUI::class, StartingPointSettingsGUI::class],
243 $this->tabs_gui->addSubTab(
244 self::SUBTAB_ID_PROFILE_FIELDS,
245 $this->
lng->txt(
'profile_fields'),
246 $this->ctrl->getLinkTargetByClass(
247 [\ilAdministrationGUI::class, \ilObjUserFolderGUI::class, ProfileFieldsConfigurationGUI::class],
251 $this->tabs_gui->addSubTab(
252 self::SUBTAB_ID_PROFILE_INFO,
253 $this->
lng->txt(
'user_profile_info'),
254 $this->ctrl->getLinkTargetByClass(
255 [\ilAdministrationGUI::class, \ilObjUserFolderGUI::class, ProfileSettingsGUI::class],
263 switch ($this->
ctrl->getNextClass()) {
264 case strtolower(AdminSettingsGUI::class):
265 $this->tabs_gui->activateSubTab(self::SUBTAB_ID_SETTINGS_AMIN);
267 case strtolower(UserSettingsConfigurationGUI::class):
268 $this->tabs_gui->activateSubTab(self::SUBTAB_ID_SETTINGS_USER);
270 case strtolower(NewAccountMailSettingsGUI::class):
271 $this->tabs_gui->activateSubTab(self::SUBTAB_ID_SETTINGS_NEW_ACCOUNT_MAIL);
273 case strtolower(StartingPointSettingsGUI::class):
274 $this->tabs_gui->activateSubTab(self::SUBTAB_ID_SETTINGS_STARTING_POINTS);
281 switch ($this->
ctrl->getNextClass()) {
282 case strtolower(ProfileFieldsConfigurationGUI::class):
283 $this->tabs_gui->activateSubTab(self::SUBTAB_ID_PROFILE_FIELDS);
285 case strtolower(ProfileSettingsGUI::class):
286 $this->tabs_gui->activateSubTab(self::SUBTAB_ID_PROFILE_INFO);
293 return $this->
access->checkAccess(
302 return $this->
access->checkRbacOrPositionPermissionAccess(
311 return $this->
access->checkRbacOrPositionPermissionAccess(
320 $cmd_class = $this->
ctrl->getNextClass();
323 static fn(
string $class):
bool => $cmd_class === strtolower($class)
const SUBTAB_ID_SETTINGS_USER
const SUBTAB_ID_SETTINGS_NEW_ACCOUNT_MAIL
const SUBTAB_ID_PROFILE_INFO
const SUBTAB_ID_PROFILE_FIELDS
accessToPermissionsGranted()
const SUBTAB_ID_SETTINGS_STARTING_POINTS
readAccessToAccountsGranted()
editSettingsAccessGranted()
const CMD_CLASSES_WITH_PROFILE_SUBTABS
checkCmdClassInArray(array $class_array)
const CMD_CLASSES_WITH_SETTINGS_SUBTABS
const TAB_ID_EXTENDED_SEARCH
__construct(private readonly \ilTabsGUI $tabs_gui, private readonly Language $lng, private readonly \ilCtrl $ctrl, private readonly \ilAccess $access, private readonly int $ref_id)
const SUBTAB_ID_SETTINGS_AMIN
@ilCtrl_Calls ILIAS\User\Settings\NewAccountMail\SettingsGUI: ILIAS\User\Settings\NewAccountMail\Uplo...
Class ilAccessHandler Checks access for ILIAS objects.
Class ilCtrl provides processing control methods.
const ORG_OP_EDIT_USER_ACCOUNTS
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...