diff options
Diffstat (limited to 'modules-available/sysconfig/addmodule_shibauth.inc.php')
| -rw-r--r-- | modules-available/sysconfig/addmodule_shibauth.inc.php | 16 |
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) { |
