ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilSamlSettingsGUI Class Reference
+ Inheritance diagram for ilSamlSettingsGUI:
+ Collaboration diagram for ilSamlSettingsGUI:

Public Member Functions

 __construct (private readonly int $ref_id)
 
 getUnsafeGetCommands ()
 This method must return a list of unsafe GET commands. More...
 
 getSafePostCommands ()
 This method must return a list of safe POST commands. More...
 
 getRefId ()
 
 executeCommand ()
 
 getUnsafeGetCommands ()
 This method must return a list of unsafe GET commands. More...
 
 getSafePostCommands ()
 This method must return a list of safe POST commands. More...
 

Data Fields

const string DEFAULT_CMD = self::CMD_LIST_IDPS
 
- Data Fields inherited from ilSamlCommands
const string CMD_LIST_IDPS = 'listIdps'
 
const string CMD_TABLE_ACTIONS = 'handleTableActions'
 
const string CMD_SHOW_NEW_IDP_FORM = 'showNewIdpForm'
 
const string CMD_SAVE_NEW_IDP = 'saveNewIdp'
 
const string CMD_DELETE_IDP = 'deleteIdp'
 
const string CMD_SAVE_SETTINGS = 'saveSettings'
 
const string CMD_SHOW_SETTINGS = 'showSettings'
 
const string CMD_SHOW_IDP_SETTINGS = 'showIdpSettings'
 
const string CMD_SAVE_IDP_SETTINGS = 'saveIdpSettings'
 
const string CMD_SAVE_USER_ATTRIBUTE_MAPPING = 'saveUserAttributeMapping'
 
const string CMD_SHOW_USER_ATTRIBUTE_MAPPING_FORM = 'showUserAttributeMappingForm'
 
const string TABLE_ACTION_CONFIRM_DELETE_IDP = 'confirmDeleteIdp'
 
const string TABLE_ACTION_DEACTIVATE_IDP = 'deactivateIdp'
 
const string TABLE_ACTION_ACTIVATE_IDP = 'activateIdp'
 
const string TABLE_ACTION_SHOW_IDP_SETTINGS = 'showIdpSettings'
 
const array GLOBAL_COMMANDS
 
const array GLOBAL_ENTITY_COMMANDS
 
const array GLOBAL_ENTITY_TABLE_ACTIONS
 

Private Member Functions

 ensureAccess (string $operation)
 
 ensureWriteAccess ()
 
 ensureReadAccess ()
 
 getIdpIdOrZero ()
 
 initIdp ()
 
 shouldRenderGlobalCommandSubTabs (string $cmd)
 
 listIdpsCommand ()
 
 getTableAction ()
 
 handleTableActionsCommand ()
 
 deactivateIdp ()
 
 activateIdp ()
 
 setSubTabs (int $a_view_mode)
 
 initUserAttributeMapping ()
 
 getUserAttributeMappingForm ()
 
 addAttributeRuleFieldToForm (ilPropertyFormGUI $form, string $field_label, string $field_name)
 
 saveUserAttributeMappingCommand ()
 
 showUserAttributeMappingFormCommand (?ilPropertyFormGUI $form=null)
 
 getSettingsForm (array $values=[])
 
 prepareRoleSelection ()
 
 saveSettingsCommand ()
 
 showSettingsCommand (?StandardForm $form=null)
 
 metadataValidationConstraint (?string &$medadata_entity_id=null)
 
 showIdpSettingsCommand (?StandardForm $form=null)
 
 saveIdpSettingsCommand ()
 
 getIdpForm ()
 
 saveNewIdpCommand ()
 
 showNewIdpFormCommand (?StandardForm $form=null)
 
 populateWithMetadata (ilSamlIdp $idp, array &$data)
 
 storeMetadata (ilSamlIdp $idp, string $metadata)
 
 confirmDeleteIdp ()
 
 deleteIdpCommand ()
 

Private Attributes

const int VIEW_MODE_GLOBAL = 1
 
const int VIEW_MODE_SINGLE = 2
 
const string PERMISSION_WRITE = 'write'
 
const string REQUEST_PARAM_SAML_IDP_ID = 'saml_idp_id'
 
const string REQUEST_PARAM_SAML_IDP_IDS = 'saml_idp_ids'
 
const string MESSAGE_TYPE_FAILURE = 'failure'
 
const string MESSAGE_TYPE_SUCCESS = 'success'
 
const string LNG_SAVED_SUCCESSFULLY = 'saved_successfully'
 
const string LNG_AUTH_SAML_USER_MAPPING = 'auth_saml_user_mapping'
 
const string LNG_LOGIN_FORM = 'login_form'
 
const string LNG_CANCEL = 'cancel'
 
const string LNG_SAVE = 'save'
 
const string PROP_UPDATE_SUFFIX = '_update'
 
const string METADATA_STORAGE_KEY = 'metadata'
 
const string METADATA_ENTITY_ID = 'entity_id'
 
const array IGNORED_USER_FIELDS
 
readonly ilCtrlInterface $ctrl
 
readonly ilLanguage $lng
 
readonly ilGlobalTemplateInterface $tpl
 
readonly RBACServices $rbac
 
readonly ilErrorHandling $error_handler
 
readonly ilTabsGUI $tabs
 
readonly ilToolbarGUI $toolbar
 
readonly GlobalHttpState $http_state
 
readonly Refinery $refinery
 
readonly ilHelpGUI $help
 
ilExternalAuthUserAttributeMapping $mapping = null
 
ilSamlIdp $idp = null
 
ilSamlAuth $saml_auth = null
 
readonly ILIAS UI Factory $ui_factory
 
readonly ILIAS UI Renderer $ui_renderer
 
readonly Profile $profile
 

Detailed Description

Definition at line 29 of file class.ilSamlSettingsGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilSamlSettingsGUI::__construct ( private readonly int  $ref_id)

Definition at line 92 of file class.ilSamlSettingsGUI.php.

93 {
94 global $DIC;
95
96 $this->ctrl = $DIC->ctrl();
97 $this->tpl = $DIC->ui()->mainTemplate();
98 $this->lng = $DIC->language();
99 $this->rbac = $DIC->rbac();
100 $this->error_handler = $DIC['ilErr'];
101 $this->tabs = $DIC->tabs();
102 $this->toolbar = $DIC['ilToolbar'];
103 $this->help = $DIC['ilHelp'];
104 $this->http_state = $DIC->http();
105 $this->refinery = $DIC->refinery();
106 $this->ui_factory = $DIC->ui()->factory();
107 $this->ui_renderer = $DIC->ui()->renderer();
108 $this->profile = $DIC['user']->getProfile();
109
110 $this->lng->loadLanguageModule('auth');
111 }
global $DIC
Definition: shib_login.php:26

References $DIC, ILIAS\Repository\ctrl(), ILIAS\Repository\help(), ILIAS\Repository\lng(), ILIAS\Repository\profile(), ILIAS\Repository\rbac(), ILIAS\Repository\refinery(), ILIAS\Repository\tabs(), and ILIAS\Repository\toolbar().

+ Here is the call graph for this function:

Member Function Documentation

◆ activateIdp()

ilSamlSettingsGUI::activateIdp ( )
private

Definition at line 341 of file class.ilSamlSettingsGUI.php.

341 : void
342 {
343 $this->ensureWriteAccess();
344
345 $this->idp->setActive(true);
346 $this->idp->persist();
347
348 $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_SUCCESS, $this->lng->txt(self::LNG_SAVED_SUCCESSFULLY), true);
349 $this->ctrl->redirect($this, self::DEFAULT_CMD);
350 }

References ILIAS\Repository\ctrl(), ensureWriteAccess(), and ILIAS\Repository\lng().

Referenced by handleTableActionsCommand().

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

◆ addAttributeRuleFieldToForm()

ilSamlSettingsGUI::addAttributeRuleFieldToForm ( ilPropertyFormGUI  $form,
string  $field_label,
string  $field_name 
)
private

Definition at line 435 of file class.ilSamlSettingsGUI.php.

439 : void {
440 $field = new ilTextInputGUI($field_label, $field_name);
441 $form->addItem($field);
442
443 $update_automatically = new ilCheckboxInputGUI('', $field_name . self::PROP_UPDATE_SUFFIX);
444 $update_automatically->setOptionTitle($this->lng->txt('auth_saml_update_field_info'));
445 $update_automatically->setValue('1');
446 $form->addItem($update_automatically);
447 }
This class represents a checkbox property in a property form.
This class represents a text property in a property form.

Referenced by getUserAttributeMappingForm().

+ Here is the caller graph for this function:

◆ confirmDeleteIdp()

ilSamlSettingsGUI::confirmDeleteIdp ( )
private

Definition at line 823 of file class.ilSamlSettingsGUI.php.

823 : void
824 {
825 $this->ensureWriteAccess();
826
827 $confirmation = new ilConfirmationGUI();
828 $confirmation->setFormAction($this->ctrl->getFormAction($this, self::CMD_DELETE_IDP));
829 $confirmation->setConfirm($this->lng->txt('confirm'), self::CMD_DELETE_IDP);
830 $confirmation->setCancel($this->lng->txt(self::LNG_CANCEL), self::DEFAULT_CMD);
831 $confirmation->setHeaderText($this->lng->txt('auth_saml_sure_delete_idp'));
832 $confirmation->addItem(
833 self::REQUEST_PARAM_SAML_IDP_IDS,
834 (string) $this->idp->getIdpId(),
835 $this->idp->getEntityId()
836 );
837
838 $this->tpl->setContent($confirmation->getHTML());
839 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

Referenced by handleTableActionsCommand().

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

◆ deactivateIdp()

ilSamlSettingsGUI::deactivateIdp ( )
private

Definition at line 330 of file class.ilSamlSettingsGUI.php.

330 : void
331 {
332 $this->ensureWriteAccess();
333
334 $this->idp->setActive(false);
335 $this->idp->persist();
336
337 $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_SUCCESS, $this->lng->txt(self::LNG_SAVED_SUCCESSFULLY), true);
338 $this->ctrl->redirect($this, self::DEFAULT_CMD);
339 }

References ILIAS\Repository\ctrl(), ensureWriteAccess(), and ILIAS\Repository\lng().

Referenced by handleTableActionsCommand().

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

◆ deleteIdpCommand()

ilSamlSettingsGUI::deleteIdpCommand ( )
private

Definition at line 841 of file class.ilSamlSettingsGUI.php.

841 : void
842 {
843 $this->ensureWriteAccess();
844
845 $idp_disco = $this->saml_auth->getIdpDiscovery();
846 $idp_disco->deleteIdpMetadata($this->idp->getIdpId());
847
848 $this->idp->delete();
849
850 $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_SUCCESS, $this->lng->txt('auth_saml_deleted_idp'), true);
851
852 $this->ctrl->setParameter($this, self::REQUEST_PARAM_SAML_IDP_ID, null);
853 $this->ctrl->redirect($this, self::DEFAULT_CMD);
854 }

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ ensureAccess()

ilSamlSettingsGUI::ensureAccess ( string  $operation)
private

Definition at line 113 of file class.ilSamlSettingsGUI.php.

113 : void
114 {
115 if (!$this->rbac->system()->checkAccess($operation, $this->ref_id)) {
116 $this->error_handler->raiseError($this->lng->txt('msg_no_perm_read'), $this->error_handler->WARNING);
117 }
118 }

References ILIAS\Repository\lng(), and ILIAS\Repository\rbac().

Referenced by ensureReadAccess(), and ensureWriteAccess().

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

◆ ensureReadAccess()

ilSamlSettingsGUI::ensureReadAccess ( )
private

Definition at line 137 of file class.ilSamlSettingsGUI.php.

137 : void
138 {
139 $this->ensureAccess('read');
140 }
ensureAccess(string $operation)

References ensureAccess().

Referenced by executeCommand().

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

◆ ensureWriteAccess()

ilSamlSettingsGUI::ensureWriteAccess ( )
private

Definition at line 132 of file class.ilSamlSettingsGUI.php.

132 : void
133 {
134 $this->ensureAccess(self::PERMISSION_WRITE);
135 }

References ensureAccess().

Referenced by activateIdp(), and deactivateIdp().

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

◆ executeCommand()

ilSamlSettingsGUI::executeCommand ( )

Definition at line 196 of file class.ilSamlSettingsGUI.php.

196 : void
197 {
198 $this->ensureReadAccess();
199
200 try {
201 $factory = new ilSamlAuthFactory();
202 $this->saml_auth = $factory->auth();
203 } catch (Throwable $e) {
204 if ($e->getMessage() === 'Database error: could not find driver') {
205 $this->tpl->setOnScreenMessage(
206 self::MESSAGE_TYPE_FAILURE,
207 $this->lng->txt('auth_saml_err_sqlite_driver')
208 );
209 } else {
210 $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_FAILURE, $e->getMessage());
211 }
212 }
213
214 $this->help->setScreenIdComponent('auth');
215
216 $cmd = $this->ctrl->getCmd();
217 if ($cmd === null || $cmd === '' || !method_exists($this, $cmd . 'Command')) {
218 $cmd = self::DEFAULT_CMD;
219 }
220 $verified_command = $cmd . 'Command';
221
222 $idp_id = $this->getIdpIdOrZero();
223
224 if ($idp_id > 0) {
225 $this->ctrl->setParameter($this, self::REQUEST_PARAM_SAML_IDP_ID, $idp_id);
226 }
227
228 if (!in_array(strtolower($cmd), array_map('strtolower', self::GLOBAL_COMMANDS), true)) {
229 if ($idp_id === 0) {
230 $this->ctrl->redirect($this, self::DEFAULT_CMD);
231 }
232
233 $this->initIdp();
235 }
236
237 if ($this->shouldRenderGlobalCommandSubTabs($cmd)) {
238 $this->setSubTabs(self::VIEW_MODE_GLOBAL);
239 } else {
240 $this->setSubTabs(self::VIEW_MODE_SINGLE);
241 }
242
243 $this->$verified_command();
244 }
shouldRenderGlobalCommandSubTabs(string $cmd)
setSubTabs(int $a_view_mode)

References Vendor\Package\$e, ILIAS\Repository\ctrl(), DEFAULT_CMD, ensureReadAccess(), getIdpIdOrZero(), ILIAS\Repository\help(), initIdp(), initUserAttributeMapping(), ILIAS\Repository\lng(), setSubTabs(), and shouldRenderGlobalCommandSubTabs().

+ Here is the call graph for this function:

◆ getIdpForm()

ilSamlSettingsGUI::getIdpForm ( )
private

Definition at line 729 of file class.ilSamlSettingsGUI.php.

729 : StandardForm
730 {
731 $medadata_entity_id = '';
732
733 return $this->ui_factory->input()->container()->form()->standard(
734 $this->ctrl->getFormAction($this, self::CMD_SAVE_NEW_IDP),
735 [
736 self::METADATA_STORAGE_KEY => $this->ui_factory
737 ->input()
738 ->field()
739 ->textarea(
740 $this->lng->txt('auth_saml_add_idp_md_label'),
741 $this->lng->txt('auth_saml_add_idp_md_info')
742 )
743 ->withValue($values[self::METADATA_STORAGE_KEY] ?? '')
744 ->withRequired(true)
745 ->withoutStripTags()
746 ->withDedicatedName(self::METADATA_STORAGE_KEY)
747 ->withAdditionalTransformation($this->metadataValidationConstraint($medadata_entity_id)),
748 self::METADATA_ENTITY_ID => $this->ui_factory
749 ->input()
750 ->field()
751 ->hidden()
752 ->withAdditionalTransformation(
753 $this->refinery->custom()->transformation(
754 static function (string $value) use (&$medadata_entity_id): string {
755 $sanitized_value = ilUtil::stripSlashes(trim($medadata_entity_id));
756 if ($sanitized_value !== $medadata_entity_id) {
757 $sanitized_value = ilUtil::stripSlashes(str_replace('<', '< ', $medadata_entity_id));
758 }
759
760 return trim($sanitized_value);
761 }
762 )
763 )
764 ]
765 );
766 }
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")

References ILIAS\Repository\ctrl(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ getIdpIdOrZero()

ilSamlSettingsGUI::getIdpIdOrZero ( )
private

Definition at line 147 of file class.ilSamlSettingsGUI.php.

147 : int
148 {
149 $idpId = 0;
150 if ($this->http_state->wrapper()->query()->has(self::REQUEST_PARAM_SAML_IDP_ID)) {
151 $idpId = $this->http_state->wrapper()->query()->retrieve(
152 self::REQUEST_PARAM_SAML_IDP_ID,
153 $this->refinery->kindlyTo()->int()
154 );
155 } elseif ($this->http_state->wrapper()->post()->has(self::REQUEST_PARAM_SAML_IDP_ID)) {
156 $idpId = $this->http_state->wrapper()->post()->retrieve(
157 self::REQUEST_PARAM_SAML_IDP_ID,
158 $this->refinery->kindlyTo()->int()
159 );
160 }
161
162 if ($this->getTableAction() && $this->http_state->wrapper()->query()->has('saml_idps_idp_id')) {
163 $idpIds = $this->http_state->wrapper()->query()->retrieve(
164 'saml_idps_idp_id',
165 $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int())
166 );
167 if (count($idpIds) === 1) {
168 $idpId = current($idpIds);
169 }
170 }
171
172 if ($this->http_state->wrapper()->post()->has(self::REQUEST_PARAM_SAML_IDP_IDS)) {
173 $idpIds = $this->http_state->wrapper()->post()->retrieve(
174 self::REQUEST_PARAM_SAML_IDP_IDS,
175 $this->refinery->kindlyTo()->listOf($this->refinery->kindlyTo()->int())
176 );
177 if (count($idpIds) === 1) {
178 $idpId = current($idpIds);
179 }
180 }
181
182 return $idpId;
183 }

References getTableAction(), and ILIAS\Repository\refinery().

Referenced by executeCommand(), and initIdp().

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

◆ getRefId()

ilSamlSettingsGUI::getRefId ( )

Definition at line 142 of file class.ilSamlSettingsGUI.php.

142 : int
143 {
144 return $this->ref_id;
145 }
$ref_id
Definition: ltiauth.php:66

References $ref_id.

◆ getSafePostCommands()

ilSamlSettingsGUI::getSafePostCommands ( )

This method must return a list of safe POST commands.

Safe post commands returned by this method will no longer be CSRF protected and will NOT be appended by an ilCtrlToken.

Returns
string[]

Implements ilCtrlSecurityInterface.

Definition at line 127 of file class.ilSamlSettingsGUI.php.

127 : array
128 {
129 return [];
130 }

◆ getSettingsForm()

ilSamlSettingsGUI::getSettingsForm ( array  $values = [])
private
Parameters
array<string,mixed>$values

Definition at line 504 of file class.ilSamlSettingsGUI.php.

504 : StandardForm
505 {
506 $access = $this->rbac->system()->checkAccess(self::PERMISSION_WRITE, $this->ref_id);
507 $form = $this->ui_factory->input()->container()->form()->standard(
508 $this->ctrl->getFormAction($this, $access ? self::CMD_SAVE_SETTINGS : self::CMD_SHOW_SETTINGS),
509 [
510 self::LNG_LOGIN_FORM => $this->ui_factory
511 ->input()
512 ->field()
513 ->checkbox(
514 $this->lng->txt('auth_saml_login_form'),
515 $this->lng->txt('auth_saml_login_form_info')
516 )
517 ->withValue((bool) ($values[self::LNG_LOGIN_FORM] ?? true))
518 ->withDisabled(!$access),
519 ]
520 );
521
522 if (!$access) {
523 $form = $form->withSubmitLabel($this->lng->txt('refresh'));
524 }
525
526 return $form;
527 }

References ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ILIAS\Repository\rbac().

+ Here is the call graph for this function:

◆ getTableAction()

ilSamlSettingsGUI::getTableAction ( )
private

Definition at line 308 of file class.ilSamlSettingsGUI.php.

308 : ?string
309 {
310 return $this->http_state->wrapper()->query()->retrieve(
311 'saml_idps_table_action',
312 $this->refinery->byTrying([
313 $this->refinery->kindlyTo()->string(),
314 $this->refinery->always(null)
315 ])
316 );
317 }

References ILIAS\Repository\refinery().

Referenced by getIdpIdOrZero(), handleTableActionsCommand(), setSubTabs(), and shouldRenderGlobalCommandSubTabs().

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

◆ getUnsafeGetCommands()

ilSamlSettingsGUI::getUnsafeGetCommands ( )

This method must return a list of unsafe GET commands.

Unsafe get commands returned by this method will now be CSRF protected, which means an ilCtrlToken is appended each time a link-target is generated to the class implementing this interface with a command from that list.

Tokens will be validated in

See also
ilCtrlInterface::getCmd(), whereas the fallback command will be used if the CSRF validation fails.
Returns
string[]

Implements ilCtrlSecurityInterface.

Definition at line 120 of file class.ilSamlSettingsGUI.php.

120 : array
121 {
122 return [
124 ];
125 }
const string CMD_TABLE_ACTIONS

References ilSamlCommands\CMD_TABLE_ACTIONS.

◆ getUserAttributeMappingForm()

ilSamlSettingsGUI::getUserAttributeMappingForm ( )
private

Definition at line 405 of file class.ilSamlSettingsGUI.php.

406 {
407 $form = new ilPropertyFormGUI();
408 $form->setFormAction($this->ctrl->getFormAction($this, self::CMD_SAVE_USER_ATTRIBUTE_MAPPING));
409 $form->setTitle($this->lng->txt(self::LNG_AUTH_SAML_USER_MAPPING));
410
411 foreach ($this->profile->getFields() as $field) {
412 if (in_array($field->getIdentifier(), self::IGNORED_USER_FIELDS, true)) {
413 continue;
414 }
415
416 $id = $field->getIdentifier();
417 if ($field->isCustom()) {
418 $id = "udf_{$id}";
419 }
420
421 $this->addAttributeRuleFieldToForm($form, $field->getLabel($this->lng), $id);
422 }
423
424 if ($this->rbac->system()->checkAccess(self::PERMISSION_WRITE, $this->ref_id)) {
425 $form->addCommandButton(self::CMD_SAVE_USER_ATTRIBUTE_MAPPING, $this->lng->txt(self::LNG_SAVE));
426 } else {
427 foreach ($form->getItems() as $item) {
428 $item->setDisabled(true);
429 }
430 }
431
432 return $form;
433 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
This class represents a property form user interface.
addAttributeRuleFieldToForm(ilPropertyFormGUI $form, string $field_label, string $field_name)

References $id, addAttributeRuleFieldToForm(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), ILIAS\Repository\profile(), and ILIAS\Repository\rbac().

+ Here is the call graph for this function:

◆ handleTableActionsCommand()

ilSamlSettingsGUI::handleTableActionsCommand ( )
private

Definition at line 319 of file class.ilSamlSettingsGUI.php.

319 : void
320 {
321 match ($this->getTableAction()) {
322 self::TABLE_ACTION_SHOW_IDP_SETTINGS => $this->ctrl->redirect($this, self::CMD_SHOW_IDP_SETTINGS),
323 self::TABLE_ACTION_ACTIVATE_IDP => $this->activateIdp(),
324 self::TABLE_ACTION_DEACTIVATE_IDP => $this->deactivateIdp(),
325 self::TABLE_ACTION_CONFIRM_DELETE_IDP => $this->confirmDeleteIdp(),
326 default => $this->ctrl->redirect($this, self::DEFAULT_CMD),
327 };
328 }

References activateIdp(), confirmDeleteIdp(), ILIAS\Repository\ctrl(), deactivateIdp(), and getTableAction().

+ Here is the call graph for this function:

◆ initIdp()

ilSamlSettingsGUI::initIdp ( )
private

Definition at line 185 of file class.ilSamlSettingsGUI.php.

185 : void
186 {
187 try {
188 $this->idp = ilSamlIdp::getInstanceByIdpId($this->getIdpIdOrZero());
189 } catch (Exception) {
190 $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_FAILURE, $this->lng->txt('auth_saml_unknow_idp'), true);
191 $this->ctrl->setParameter($this, self::REQUEST_PARAM_SAML_IDP_ID, null);
192 $this->ctrl->redirect($this, self::DEFAULT_CMD);
193 }
194 }
static getInstanceByIdpId(int $a_idp_id)

References ILIAS\Repository\ctrl(), getIdpIdOrZero(), ilSamlIdp\getInstanceByIdpId(), and ILIAS\Repository\lng().

Referenced by executeCommand().

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

◆ initUserAttributeMapping()

ilSamlSettingsGUI::initUserAttributeMapping ( )
private

Definition at line 400 of file class.ilSamlSettingsGUI.php.

400 : void
401 {
402 $this->mapping = new ilExternalAuthUserAttributeMapping('saml', $this->idp->getIdpId());
403 }

Referenced by executeCommand().

+ Here is the caller graph for this function:

◆ listIdpsCommand()

ilSamlSettingsGUI::listIdpsCommand ( )
private

Definition at line 264 of file class.ilSamlSettingsGUI.php.

264 : void
265 {
266 if ($this->saml_auth && $this->rbac->system()->checkAccess(self::PERMISSION_WRITE, $this->ref_id)) {
267 $this->toolbar->addStickyItem(
268 $this->ui_factory->button()->standard(
269 $this->lng->txt('auth_saml_add_idp_btn'),
270 $this->ctrl->getLinkTarget($this, self::CMD_SHOW_NEW_IDP_FORM)
271 )
272 );
273 }
274
275 $federation_md_url = rtrim(
276 ILIAS_HTTP_PATH,
277 '/'
278 ) . '/metadata.php?client_id=' . CLIENT_ID;
279 $info = $this->ui_factory->messageBox()->info(
280 sprintf(
281 $this->lng->txt('auth_saml_idps_info'),
282 'auth/saml/config/config.php',
283 'auth/saml/config/authsources.php',
284 $this->ui_renderer->render(
285 $this->ui_factory->link()->standard(
286 'https://simplesamlphp.org/docs/stable/simplesamlphp-sp',
287 'https://simplesamlphp.org/docs/stable/simplesamlphp-sp'
288 )
289 ),
290 $this->ui_renderer->render($this->ui_factory->link()->standard($federation_md_url, $federation_md_url))
291 )
292 );
293
294 $table = new ilSamlIdpTableGUI(
295 $this,
296 $this->ui_factory,
297 $this->ui_renderer,
298 $this->lng,
299 $this->ctrl,
300 $this->http_state->request(),
301 new Factory(),
302 self::CMD_TABLE_ACTIONS,
303 $this->rbac->system()->checkAccess(self::PERMISSION_WRITE, $this->ref_id)
304 );
305 $this->tpl->setContent($this->ui_renderer->render([$info, $table->get()]));
306 }
Builds data types.
Definition: Factory.php:36
const CLIENT_ID
Definition: constants.php:41
$info
Definition: entry_point.php:21

References $info, CLIENT_ID, ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), ILIAS\Repository\rbac(), and ILIAS\Repository\toolbar().

+ Here is the call graph for this function:

◆ metadataValidationConstraint()

ilSamlSettingsGUI::metadataValidationConstraint ( ?string &  $medadata_entity_id = null)
private

Definition at line 582 of file class.ilSamlSettingsGUI.php.

585 $xml_parser_error = null;
586
587 return $this->refinery->custom()->constraint(
588 function (string $value) use (&$xml_parser_error, &$medadata_entity_id): bool {
589 try {
590 $parser = new ilSamlIdpXmlMetadataParser(
591 new Factory(),
593 );
594
595 $result = $parser->parse($value);
596 if ($result->isError()) {
597 $xml_parser_error = $result->error();
598 return false;
599 }
600
601 $medadata_entity_id = $result->value();
602
603 return true;
604 } catch (Throwable) {
605 $xml_parser_error = $this->lng->txt('auth_saml_add_idp_md_error');
606 return false;
607 }
608 },
609 implode(' ', [$this->lng->txt('auth_saml_add_idp_md_error'), $xml_parser_error])
610 );
611 }
A constraint encodes some resrtictions on values.
Definition: Constraint.php:32

References ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ populateWithMetadata()

ilSamlSettingsGUI::populateWithMetadata ( ilSamlIdp  $idp,
array &  $data 
)
private

Definition at line 810 of file class.ilSamlSettingsGUI.php.

810 : void
811 {
812 $idp_disco = $this->saml_auth->getIdpDiscovery();
813
814 $data[self::METADATA_STORAGE_KEY] = $idp_disco->fetchIdpMetadata($idp->getIdpId());
815 }

References $data, and ilSamlIdp\getIdpId().

+ Here is the call graph for this function:

◆ prepareRoleSelection()

ilSamlSettingsGUI::prepareRoleSelection ( )
private
Returns
array<int, string>

Definition at line 532 of file class.ilSamlSettingsGUI.php.

532 : array
533 {
534 $select = [];
535 $global_roles = array_map(
536 intval(...),
538 $this->rbac->review()->getGlobalRoles(),
539 'object_data',
540 'title',
541 'obj_id'
542 )
543 );
544
545 $select[0] = $this->lng->txt('links_select_one');
546 foreach ($global_roles as $role_id) {
547 $select[$role_id] = ilObject::_lookupTitle($role_id);
548 }
549
550 return $select;
551 }
static _lookupTitle(int $obj_id)
static _sortIds(array $a_ids, string $a_table, string $a_field, string $a_id_name)
Function that sorts ids by a given table field using WHERE IN E.g: __sort(array(6,...

References ilObject\_lookupTitle(), ilUtil\_sortIds(), ILIAS\Repository\lng(), and ILIAS\Repository\rbac().

+ Here is the call graph for this function:

◆ saveIdpSettingsCommand()

ilSamlSettingsGUI::saveIdpSettingsCommand ( )
private

Definition at line 708 of file class.ilSamlSettingsGUI.php.

708 : void
709 {
710 $this->ensureWriteAccess();
711
712 $form = $this->getIdpSettingsForm()->withRequest($this->http_state->request());
713
714 if (!$form->getError()) {
715 $this->idp->bindForm($form);
716 $this->idp->persist();
717
718 $this->storeMetadata($this->idp, $form->getData()[self::METADATA_STORAGE_KEY] ?? '');
719 $this->tpl->setOnScreenMessage(
720 self::MESSAGE_TYPE_SUCCESS,
721 $this->lng->txt(self::LNG_SAVED_SUCCESSFULLY),
722 true
723 );
724 }
725
726 $this->ctrl->redirect($this, self::CMD_SHOW_IDP_SETTINGS);
727 }
storeMetadata(ilSamlIdp $idp, string $metadata)

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ saveNewIdpCommand()

ilSamlSettingsGUI::saveNewIdpCommand ( )
private

Definition at line 768 of file class.ilSamlSettingsGUI.php.

768 : void
769 {
770 $this->ensureWriteAccess();
771
772 $form = $this->getIdpForm()->withRequest($this->http_state->request());
773 if (!$form->getError()) {
774 $idp = new ilSamlIdp();
775 $idp->bindForm($form);
776 $idp->persist();
777 $this->storeMetadata($idp, $form->getData()[self::METADATA_STORAGE_KEY] ?? '');
778
779 $this->tpl->setOnScreenMessage(
780 self::MESSAGE_TYPE_SUCCESS,
781 $this->lng->txt(self::LNG_SAVED_SUCCESSFULLY),
782 true
783 );
784 $this->ctrl->setParameter($this, self::REQUEST_PARAM_SAML_IDP_ID, $idp->getIdpId());
785 $this->ctrl->redirect($this, self::TABLE_ACTION_SHOW_IDP_SETTINGS);
786 }
787
788 $this->showNewIdpFormCommand($form);
789 }
bindForm(StandardForm $form)
showNewIdpFormCommand(?StandardForm $form=null)

References ilSamlIdp\bindForm(), ILIAS\Repository\ctrl(), ilSamlIdp\getIdpId(), ILIAS\Repository\lng(), and ilSamlIdp\persist().

+ Here is the call graph for this function:

◆ saveSettingsCommand()

ilSamlSettingsGUI::saveSettingsCommand ( )
private

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

553 : void
554 {
555 $this->ensureWriteAccess();
556
557 $form = $this->getSettingsForm()->withRequest($this->http_state->request());
558 if (!$form->getError()) {
559 $data = $form->getData();
560 ilSamlSettings::getInstance()->setLoginFormStatus($data[self::LNG_LOGIN_FORM]);
561 $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_SUCCESS, $this->lng->txt(self::LNG_SAVED_SUCCESSFULLY));
562 }
563
564 $this->showSettingsCommand($form);
565 }
getSettingsForm(array $values=[])
showSettingsCommand(?StandardForm $form=null)

References $data, ilSamlSettings\getInstance(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ saveUserAttributeMappingCommand()

ilSamlSettingsGUI::saveUserAttributeMappingCommand ( )
private

Definition at line 449 of file class.ilSamlSettingsGUI.php.

449 : void
450 {
451 $this->ensureWriteAccess();
452
453 $form = $this->getUserAttributeMappingForm();
454 if ($form->checkInput()) {
455 $this->mapping->delete();
456
457 foreach ($this->profile->getFields() as $field) {
458 if (in_array($field->getIdentifier(), self::IGNORED_USER_FIELDS, true)) {
459 continue;
460 }
461
462 $id = $field->getIdentifier();
463 if ($field->isCustom()) {
464 $id = "udf_{$id}";
465 }
466
467 $rule = $this->mapping->getEmptyRule();
468 $rule->setAttribute($id);
469 $rule->setExternalAttribute((string) $form->getInput($rule->getAttribute()));
470 $rule->updateAutomatically((bool) $form->getInput($rule->getAttribute() . self::PROP_UPDATE_SUFFIX));
471 $this->mapping[$rule->getAttribute()] = $rule;
472 }
473
474 $this->mapping->save();
475
476 $this->tpl->setOnScreenMessage(self::MESSAGE_TYPE_SUCCESS, $this->lng->txt(self::LNG_SAVED_SUCCESSFULLY));
477 }
478
479 $form->setValuesByPost();
480
482 }
showUserAttributeMappingFormCommand(?ilPropertyFormGUI $form=null)

References $id, ilPropertyFormGUI\checkInput(), ilPropertyFormGUI\getInput(), ILIAS\Repository\lng(), ILIAS\Repository\profile(), and ilPropertyFormGUI\setValuesByPost().

+ Here is the call graph for this function:

◆ setSubTabs()

ilSamlSettingsGUI::setSubTabs ( int  $a_view_mode)
private

Definition at line 352 of file class.ilSamlSettingsGUI.php.

352 : void
353 {
354 switch ($a_view_mode) {
356 $this->tabs->addSubTabTarget(
357 'auth_saml_idps',
358 $this->ctrl->getLinkTarget($this, self::DEFAULT_CMD),
359 array_merge(
360 self::GLOBAL_ENTITY_COMMANDS,
361 [self::DEFAULT_CMD, self::CMD_SHOW_NEW_IDP_FORM, self::CMD_SAVE_NEW_IDP]
362 ),
363 self::class,
364 '',
365 ($this->getTableAction() === self::TABLE_ACTION_CONFIRM_DELETE_IDP)
366 );
367
368 $this->tabs->addSubTabTarget(
369 'settings',
370 $this->ctrl->getLinkTarget($this, self::CMD_SHOW_SETTINGS),
371 [self::CMD_SHOW_SETTINGS, self::CMD_SAVE_SETTINGS],
372 self::class
373 );
374 break;
375
377 $this->tabs->clearTargets();
378 $this->tabs->setBackTarget(
379 $this->lng->txt('back'),
380 $this->ctrl->getLinkTarget($this, self::DEFAULT_CMD)
381 );
382
383 $this->tabs->addSubTabTarget(
384 'auth_saml_idp_settings',
385 $this->ctrl->getLinkTarget($this, self::CMD_SHOW_IDP_SETTINGS),
386 [self::CMD_SHOW_IDP_SETTINGS, self::CMD_SAVE_IDP_SETTINGS],
387 self::class
388 );
389
390 $this->tabs->addSubTabTarget(
391 self::LNG_AUTH_SAML_USER_MAPPING,
392 $this->ctrl->getLinkTarget($this, self::CMD_SHOW_USER_ATTRIBUTE_MAPPING_FORM),
393 [self::CMD_SHOW_USER_ATTRIBUTE_MAPPING_FORM, self::CMD_SAVE_USER_ATTRIBUTE_MAPPING],
394 self::class
395 );
396 break;
397 }
398 }

References ILIAS\Repository\ctrl(), getTableAction(), ILIAS\Repository\lng(), ILIAS\Repository\tabs(), VIEW_MODE_GLOBAL, and VIEW_MODE_SINGLE.

Referenced by executeCommand().

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

◆ shouldRenderGlobalCommandSubTabs()

ilSamlSettingsGUI::shouldRenderGlobalCommandSubTabs ( string  $cmd)
private

Definition at line 246 of file class.ilSamlSettingsGUI.php.

246 : bool
247 {
248 $is_global_command = in_array(strtolower($cmd), array_map('strtolower', self::GLOBAL_COMMANDS), true);
249 $is_global_entity_command = in_array(
250 strtolower($cmd),
251 array_map('strtolower', self::GLOBAL_ENTITY_COMMANDS),
252 true
253 );
254
255 $is_global_table_action = in_array(
256 strtolower($this->getTableAction() ?? ''),
257 array_map('strtolower', self::GLOBAL_ENTITY_TABLE_ACTIONS),
258 true
259 );
260
261 return $is_global_command || $is_global_entity_command || $is_global_table_action;
262 }

References getTableAction().

Referenced by executeCommand().

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

◆ showIdpSettingsCommand()

ilSamlSettingsGUI::showIdpSettingsCommand ( ?StandardForm  $form = null)
private

Definition at line 686 of file class.ilSamlSettingsGUI.php.

686 : void
687 {
688 $this->tabs->setSubTabActive('auth_saml_idp_settings');
689
690 if (!$form) {
691 $data = $this->idp->toArray();
692 $this->populateWithMetadata($this->idp, $data);
693 $form = $this->getIdpSettingsForm($data);
694 }
695
696 $this->help->setSubScreenId('edit_idp');
697
698 $title = $this->ui_factory->item()->standard(
699 sprintf($this->lng->txt('auth_saml_configure_idp'), $this->idp->getEntityId())
700 );
701
702 $this->tpl->setContent($this->ui_renderer->render([
703 $title,
704 $form
705 ]));
706 }
populateWithMetadata(ilSamlIdp $idp, array &$data)

References $data, ILIAS\Repository\help(), ILIAS\Repository\lng(), and ILIAS\Repository\tabs().

+ Here is the call graph for this function:

◆ showNewIdpFormCommand()

ilSamlSettingsGUI::showNewIdpFormCommand ( ?StandardForm  $form = null)
private

Definition at line 791 of file class.ilSamlSettingsGUI.php.

791 : void
792 {
793 $this->ensureWriteAccess();
794
795 if ($form === null) {
796 $form = $this->getIdpForm();
797 } else {
798 $form = $form->withRequest($this->http_state->request());
799 }
800
801 $this->help->setSubScreenId('create_idp');
802
803 $title = $this->ui_factory->item()->standard($this->lng->txt('auth_saml_add_idp_btn'));
804 $this->tpl->setContent($this->ui_renderer->render([
805 $title,
806 $form
807 ]));
808 }

References ILIAS\Repository\help(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ showSettingsCommand()

ilSamlSettingsGUI::showSettingsCommand ( ?StandardForm  $form = null)
private

Definition at line 567 of file class.ilSamlSettingsGUI.php.

567 : void
568 {
569 if (!$form) {
570 $form = $this->getSettingsForm([
571 self::LNG_LOGIN_FORM => ilSamlSettings::getInstance()->isDisplayedOnLoginPage()
572 ]);
573 }
574
575 $title = $this->ui_factory->item()->standard($this->lng->txt('auth_saml_configure'));
576 $this->tpl->setContent($this->ui_renderer->render([
577 $title,
578 $form
579 ]));
580 }

References ilSamlSettings\getInstance(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ showUserAttributeMappingFormCommand()

ilSamlSettingsGUI::showUserAttributeMappingFormCommand ( ?ilPropertyFormGUI  $form = null)
private

Definition at line 484 of file class.ilSamlSettingsGUI.php.

484 : void
485 {
486 $this->tabs->setSubTabActive(self::LNG_AUTH_SAML_USER_MAPPING);
487
488 if (!($form instanceof ilPropertyFormGUI)) {
489 $form = $this->getUserAttributeMappingForm();
490 $data = [];
491 foreach ($this->mapping as $rule) {
492 $data[$rule->getAttribute()] = $rule->getExternalAttribute();
493 $data[$rule->getAttribute() . self::PROP_UPDATE_SUFFIX] = $rule->isAutomaticallyUpdated();
494 }
495 $form->setValuesByArray($data);
496 }
497
498 $this->tpl->setContent($form->getHTML());
499 }

References $data, ilPropertyFormGUI\getHTML(), ilPropertyFormGUI\setValuesByArray(), and ILIAS\Repository\tabs().

+ Here is the call graph for this function:

◆ storeMetadata()

ilSamlSettingsGUI::storeMetadata ( ilSamlIdp  $idp,
string  $metadata 
)
private

Definition at line 817 of file class.ilSamlSettingsGUI.php.

817 : void
818 {
819 $idp_disco = $this->saml_auth->getIdpDiscovery();
820 $idp_disco->storeIdpMetadata($idp->getIdpId(), $metadata);
821 }

References ilSamlIdp\getIdpId().

+ Here is the call graph for this function:

Field Documentation

◆ $ctrl

readonly ilCtrlInterface ilSamlSettingsGUI::$ctrl
private

Definition at line 75 of file class.ilSamlSettingsGUI.php.

◆ $error_handler

readonly ilErrorHandling ilSamlSettingsGUI::$error_handler
private

Definition at line 79 of file class.ilSamlSettingsGUI.php.

◆ $help

readonly ilHelpGUI ilSamlSettingsGUI::$help
private

Definition at line 84 of file class.ilSamlSettingsGUI.php.

◆ $http_state

readonly GlobalHttpState ilSamlSettingsGUI::$http_state
private

Definition at line 82 of file class.ilSamlSettingsGUI.php.

◆ $idp

ilSamlIdp ilSamlSettingsGUI::$idp = null
private

Definition at line 86 of file class.ilSamlSettingsGUI.php.

◆ $lng

readonly ilLanguage ilSamlSettingsGUI::$lng
private

Definition at line 76 of file class.ilSamlSettingsGUI.php.

◆ $mapping

ilExternalAuthUserAttributeMapping ilSamlSettingsGUI::$mapping = null
private

Definition at line 85 of file class.ilSamlSettingsGUI.php.

◆ $profile

readonly Profile ilSamlSettingsGUI::$profile
private

Definition at line 90 of file class.ilSamlSettingsGUI.php.

◆ $rbac

readonly RBACServices ilSamlSettingsGUI::$rbac
private

Definition at line 78 of file class.ilSamlSettingsGUI.php.

◆ $refinery

readonly Refinery ilSamlSettingsGUI::$refinery
private

Definition at line 83 of file class.ilSamlSettingsGUI.php.

◆ $saml_auth

ilSamlAuth ilSamlSettingsGUI::$saml_auth = null
private

Definition at line 87 of file class.ilSamlSettingsGUI.php.

◆ $tabs

readonly ilTabsGUI ilSamlSettingsGUI::$tabs
private

Definition at line 80 of file class.ilSamlSettingsGUI.php.

◆ $toolbar

readonly ilToolbarGUI ilSamlSettingsGUI::$toolbar
private

Definition at line 81 of file class.ilSamlSettingsGUI.php.

◆ $tpl

readonly ilGlobalTemplateInterface ilSamlSettingsGUI::$tpl
private

Definition at line 77 of file class.ilSamlSettingsGUI.php.

◆ $ui_factory

readonly ILIAS UI Factory ilSamlSettingsGUI::$ui_factory
private

Definition at line 88 of file class.ilSamlSettingsGUI.php.

◆ $ui_renderer

readonly ILIAS UI Renderer ilSamlSettingsGUI::$ui_renderer
private

Definition at line 89 of file class.ilSamlSettingsGUI.php.

◆ DEFAULT_CMD

const string ilSamlSettingsGUI::DEFAULT_CMD = self::CMD_LIST_IDPS

Definition at line 34 of file class.ilSamlSettingsGUI.php.

Referenced by executeCommand(), and ilObjAuthSettingsGUI\getTabs().

◆ IGNORED_USER_FIELDS

const array ilSamlSettingsGUI::IGNORED_USER_FIELDS
private
Initial value:
= [
'mail_incoming_mail',
'preferences',
'hide_own_online_status',
'show_users_online',
'roles',
'upload',
'password',
'username',
'language',
'skin_style',
'interests_general',
'interests_help_offered',
'interests_help_looking',
'bs_allow_to_contact_me',
'chat_osc_accept_msg',
'chat_broadcast_typing',
]

Definition at line 56 of file class.ilSamlSettingsGUI.php.

◆ LNG_AUTH_SAML_USER_MAPPING

const string ilSamlSettingsGUI::LNG_AUTH_SAML_USER_MAPPING = 'auth_saml_user_mapping'
private

Definition at line 45 of file class.ilSamlSettingsGUI.php.

◆ LNG_CANCEL

const string ilSamlSettingsGUI::LNG_CANCEL = 'cancel'
private

Definition at line 47 of file class.ilSamlSettingsGUI.php.

◆ LNG_LOGIN_FORM

const string ilSamlSettingsGUI::LNG_LOGIN_FORM = 'login_form'
private

Definition at line 46 of file class.ilSamlSettingsGUI.php.

◆ LNG_SAVE

const string ilSamlSettingsGUI::LNG_SAVE = 'save'
private

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

◆ LNG_SAVED_SUCCESSFULLY

const string ilSamlSettingsGUI::LNG_SAVED_SUCCESSFULLY = 'saved_successfully'
private

Definition at line 44 of file class.ilSamlSettingsGUI.php.

◆ MESSAGE_TYPE_FAILURE

const string ilSamlSettingsGUI::MESSAGE_TYPE_FAILURE = 'failure'
private

Definition at line 41 of file class.ilSamlSettingsGUI.php.

◆ MESSAGE_TYPE_SUCCESS

const string ilSamlSettingsGUI::MESSAGE_TYPE_SUCCESS = 'success'
private

Definition at line 42 of file class.ilSamlSettingsGUI.php.

◆ METADATA_ENTITY_ID

const string ilSamlSettingsGUI::METADATA_ENTITY_ID = 'entity_id'
private

Definition at line 53 of file class.ilSamlSettingsGUI.php.

◆ METADATA_STORAGE_KEY

const string ilSamlSettingsGUI::METADATA_STORAGE_KEY = 'metadata'
private

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

◆ PERMISSION_WRITE

const string ilSamlSettingsGUI::PERMISSION_WRITE = 'write'
private

Definition at line 36 of file class.ilSamlSettingsGUI.php.

◆ PROP_UPDATE_SUFFIX

const string ilSamlSettingsGUI::PROP_UPDATE_SUFFIX = '_update'
private

Definition at line 50 of file class.ilSamlSettingsGUI.php.

◆ REQUEST_PARAM_SAML_IDP_ID

const string ilSamlSettingsGUI::REQUEST_PARAM_SAML_IDP_ID = 'saml_idp_id'
private

Definition at line 38 of file class.ilSamlSettingsGUI.php.

◆ REQUEST_PARAM_SAML_IDP_IDS

const string ilSamlSettingsGUI::REQUEST_PARAM_SAML_IDP_IDS = 'saml_idp_ids'
private

Definition at line 39 of file class.ilSamlSettingsGUI.php.

◆ VIEW_MODE_GLOBAL

const int ilSamlSettingsGUI::VIEW_MODE_GLOBAL = 1
private

Definition at line 31 of file class.ilSamlSettingsGUI.php.

Referenced by setSubTabs().

◆ VIEW_MODE_SINGLE

const int ilSamlSettingsGUI::VIEW_MODE_SINGLE = 2
private

Definition at line 32 of file class.ilSamlSettingsGUI.php.

Referenced by setSubTabs().


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