summaryrefslogtreecommitdiffstats
path: root/modules-available/sysconfig/addmodule_shibauth.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/sysconfig/addmodule_shibauth.inc.php')
-rw-r--r--modules-available/sysconfig/addmodule_shibauth.inc.php16
1 files changed, 8 insertions, 8 deletions
diff --git a/modules-available/sysconfig/addmodule_shibauth.inc.php b/modules-available/sysconfig/addmodule_shibauth.inc.php
index 9f243abc..17c9d5b3 100644
--- a/modules-available/sysconfig/addmodule_shibauth.inc.php
+++ b/modules-available/sysconfig/addmodule_shibauth.inc.php
@@ -16,14 +16,14 @@ class ShibAuth_Start extends AddModule_Base
/* If coming via the back button, load the session data */
$session_data = Session::get(SHIB_SESSION_DATA);
if (!is_array($session_data)) {
- $session_data = ['userlogin' => true];
+ $session_data = ['userlogin' => true, 'browser' => true];
}
} elseif ($this->edit !== null) {
$session_data = $this->edit->getData(null)
+ ['title' => $this->edit->title()];
Session::set(SHIB_SESSION_DATA, $session_data);
} else {
- $session_data = ['userlogin' => true];
+ $session_data = ['userlogin' => true, 'browser' => true];
Session::set(SHIB_SESSION_DATA, $session_data);
}
Render::addDialog(Dictionary::translateFile('config-module', 'shibauth_title'), false, 'shibauth-start', [
@@ -49,13 +49,10 @@ class Shibauth_Orgs extends AddModule_Base
protected function preprocessInternal()
{
- $title = trim(Request::post('title', '', 'string'));
- if (empty($title)) {
- Util::redirect('?do=sysconfig&action=addmodule&step=ShibAuth_Start&back=true');
- }
$this->session_data = Session::get(SHIB_SESSION_DATA);
- if (!is_array($this->session_data)) {
- $this->session_data = [];
+ $title = trim(Request::post('title', null, 'string') ?? $this->session_data['title']);
+ if (empty($title) || !is_array($this->session_data)) {
+ Util::redirect('?do=sysconfig&action=addmodule&step=ShibAuth_Start&back=true');
}
$this->session_data['title'] = $title;
$this->session_data['browser'] = !empty(Request::post('browser', '', 'string'));
@@ -89,6 +86,7 @@ class Shibauth_Orgs extends AddModule_Base
'next' => 'ShibAuth_Finish',
'edit' => $this->edit !== null ? $this->edit->id() : 0,
'list' => $list,
+ 'entitlements' => $this->session_data['entitlements'] ?? '',
]);
}
@@ -99,6 +97,7 @@ class ShibAuth_Finish extends AddModule_Base
protected function preprocessInternal()
{
+ $entitlements = Request::post('entitlements', '', 'string');
$userIdpList = Request::post('idp', [], 'array');
if (empty($userIdpList)) {
Message::addError('no-organization-selected');
@@ -155,6 +154,7 @@ class ShibAuth_Finish extends AddModule_Base
$module->setData('userlogin', $session_data['userlogin']);
$module->setData('idp', $userIdpList);
$module->setData('regs', $entireRegs);
+ $module->setData('entitlements', $entitlements);
/* Insert or update database entries */
if ($this->edit !== null) {