19declare(strict_types=1);
38 $this->style_definition =
$DIC[
'styleDefinition'];
58 return AvailablePages::MainSettings;
67 FieldFactory $field_factory,
73 $lng->loadLanguageModule(
'style');
75 return $field_factory->select(
76 $lng->txt(
'usr_skin_style'),
77 $this->buildStyleOptions(),
89 $lng->loadLanguageModule(
'style');
91 $input = new \ilSelectInputGUI(
$lng->txt(
'usr_skin_style'));
92 $input->setOptions($this->buildStyleOptions());
93 $input->setValue($this->buildStyleIdFromUserOrDefault($user));
101 $system_style_config = $this->style_definition->getSystemStylesConf();
102 return "{$this->style_definition->getStyle($system_style_config->getDefaultStyleId())->getName()} - "
103 .
"{$this->style_definition->getSkin($system_style_config->getDefaultSkinId())->getName()} ";
110 $system_style_config = $this->style_definition->getSystemStylesConf();
111 [
'style' => $user_style,
'skin' => $user_skin] = $this->retrieveValueFromUser($user);
112 return $user_style !== $system_style_config->getDefaultStyleId()
113 || $user_skin !== $system_style_config->getDefaultSkinId();
120 if ($input === null) {
121 $system_style_config = $this->style_definition->getSystemStylesConf();
122 $user->
setPref(
'style', $system_style_config->getDefaultStyleId());
123 $user->
setPref(
'skin', $system_style_config->getDefaultSkinId());
127 $sknst = explode(
':', $input);
128 $user->
setPref(
'skin', $sknst[0]);
129 $user->
setPref(
'style', $sknst[1]);
136 'style' => $user->
getPref(
'style'),
144 foreach ($this->style_definition::getAllSkins() as $skin) {
145 foreach ($skin->getStyles() as $style) {
153 $options[$skin->getId() .
':' . $style->getId()] = $skin->getName() .
' / ' . $style->getName();
162 if ($user !== null) {
163 [
'style' => $style,
'skin' => $skin] = $this->retrieveValueFromUser($user);
165 $style = $this->style_definition->getSystemStylesConf()->getDefaultStyleId();
166 $skin = $this->style_definition->getSystemStylesConf()->getDefaultSkinId();
168 return "{$skin}:{$style}";
readonly ilStyleDefinition $style_definition
getDefaultValueForDisplay(Language $lng, \ilSetting $settings)
isAvailable()
If this function returns false the setting will not be shown, even if it's PropertyAttributes would a...
getLegacyInput(Language $lng, \ilSetting $settings, ?\ilObjUser $user=null)
You don't need to add a post_var to the input as the User will handle this for you,...
hasUserPersonalizedSetting(\ilSetting $settings, \ilObjUser $user)
buildStyleIdFromUserOrDefault(?\ilObjUser $user)
persistUserInput(\ilObjUser $user, mixed $input)
getInput(FieldFactory $field_factory, Language $lng, Refinery $refinery, \ilSetting $settings, ?\ilObjUser $user=null)
retrieveValueFromUser(\ilObjUser $user)
setPref(string $a_keyword, ?string $a_value)
getPref(string $a_keyword)
static _lookupActivatedStyle(string $a_skin, string $a_style)
lookup if a style is activated
if(!file_exists('../ilias.ini.php'))