137 $this->storage =
new ilSetting(self::STORAGE_ID);
138 $this->filesystem = $DIC->filesystem()->web();
148 if (!self::$instance) {
149 self::$instance =
new self();
151 return new self::$instance;
175 $this->provider =
$url;
223 $this->login_element_type =
$type;
239 $this->login_element_img_name = $a_img_name;
252 $this->login_element_text =
$text;
266 $this->login_prompt_type =
$a_type;
282 $this->logout_scope = $a_scope;
298 $this->custom_session = $a_stat;
314 $this->session_duration = $a_duration;
338 $this->allow_sync = $a_stat;
381 if ($this->filesystem->has(self::FILE_STORAGE .
'/' . $this->getLoginElementImage())) {
415 $this->role_mappings = $a_role_mappings;
433 isset($this->role_mappings[$a_role_id]) &&
434 isset($this->role_mappings[$a_role_id][
'value'])
436 return (
string) $this->role_mappings[$a_role_id][
'value'];
448 isset($this->role_mappings[$a_role_id]) &&
449 isset($this->role_mappings[$a_role_id][
'update'])
451 return (
bool) $this->role_mappings[$a_role_id][
'update'];
461 $this->storage->set(
'active', (
int) $this->
getActive());
462 $this->storage->set(
'provider', $this->
getProvider());
463 $this->storage->set(
'client_id', $this->
getClientId());
464 $this->storage->set(
'secret', $this->
getSecret());
472 $this->storage->set(
'allow_sync', (
int) $this->
isSyncAllowed());
473 $this->storage->set(
'role', (
int) $this->
getRole());
474 $this->storage->set(
'uid', (
string) $this->
getUidField());
480 $this->storage->set(
'role_mappings', (
string) serialize($this->
getRoleMappings()));
489 $this->profile_map[$field] = (string) $this->storage->get(
'pmap_' . $field,
'');
490 $this->profile_update_map[$field] = (bool) $this->storage->get(
'pumap_' . $field,
'');
493 $this->
setActive((
bool) $this->storage->get(
'active', 0));
494 $this->
setProvider($this->storage->get(
'provider',
''));
495 $this->
setClientId($this->storage->get(
'client_id',
''));
496 $this->
setSecret($this->storage->get(
'secret',
''));
500 $this->
setLoginPromptType((
int) $this->storage->get(
'prompt_type', self::LOGIN_ENFORCE));
501 $this->
setLogoutScope((
int) $this->storage->get(
'logout_scope', self::LOGOUT_SCOPE_GLOBAL));
502 $this->
useCustomSession((
bool) $this->storage->get(
'custom_session'),
false);
504 $this->
allowSync((
bool) $this->storage->get(
'allow_sync'),
false);
505 $this->
setRole((
int) $this->storage->get(
'role'), 0);
506 $this->
setUidField((
string) $this->storage->get(
'uid'),
'');
507 $this->
setRoleMappings((array) unserialize($this->storage->get(
'role_mappings', serialize([]))));
515 return (
string) $this->profile_map[$field];
524 $this->profile_map[$field] = $value;
533 return (
bool) $this->profile_update_map[$field];
542 $this->profile_update_map[$field] = $value;
552 'firstname' =>
'firstname',
553 'lastname' =>
'lastname',
555 'birthday' =>
'birthday'
const LOGOUT_SCOPE_GLOBAL
setLoginElementText(string $text)
getProfileMappingFieldValue(string $field)
getRoleMappingValueForId($a_role_id)
deleteImageFile()
Delete image file.
setProfileMappingFieldValue(string $field, string $value)
getProfileMappingFields()
const LOGIN_ELEMENT_TYPE_TXT
setLoginPromptType(int $a_type)
static getInstance()
Get singleton instance.
setClientId(string $client_id)
setRoleMappings(array $a_role_mappings)
setLoginElementType(int $type)
Set login element type.
useCustomSession(bool $a_stat)
Class ilOpenIdConnectSettingsGUI.
setSessionDuration(int $a_duration)
__construct()
ilOpenIdConnectSettings constructor.
setProfileMappingFieldUpdate(string $field, bool $value)
setLoginElementImage(string $a_img_name)
load()
Load from settings.
setSecret(string $secret)
getProfileMappingFieldUpdate(string $field)
getRoleMappingUpdateForId($a_role_id)
setUidField(string $field)
const LOGIN_ELEMENT_TYPE_IMG
getRoleMappings()
Get role mappings.
setLogoutScope(int $a_scope)
static getWebspaceDir($mode="filesystem")
get webspace directory