19declare(strict_types=1);
43 return 'push_notification';
53 $lng->loadLanguageModule(
'notifications');
59 return AvailablePages::MainSettings;
64 return AvailableSections::Communication;
68 FieldFactory $field_factory,
74 $lng->loadLanguageModule(
'notifications_adm');
81 $provider[$obj->getIdentifier()] = $field_factory->checkbox(
83 $obj->getDescription(
$lng),
84 )->withValue(in_array($obj->getIdentifier(), $pref));
87 return $field_factory->section(
89 $lng->txt(
'push_settings')
95 throw new Exception(
'This Setting does not provide an legacy Input.');
100 return $lng->txt(
'none');
105 return $user->
getPref(
'push_notification_provider') !==
null;
111 foreach ($input ?? [] as $key => $value) {
112 if ($value ===
true) {
116 $user->
setPref(
'push_notification_provider', json_encode($active));
123 return json_decode($user->
getPref(
'push_notification_provider') ??
'[]');
isAvailable()
If this function returns false the setting will not be shown, even if it's PropertyAttributes would a...
hasUserPersonalizedSetting(ilSetting $settings, ilObjUser $user)
retrieveValueFromUser(ilObjUser $user)
getInput(FieldFactory $field_factory, Language $lng, Refinery $refinery, ilSetting $settings, ?ilObjUser $user=null)
getLegacyInput(Language $lng, ilSetting $settings, ?ilObjUser $user=null)
getDefaultValueForDisplay(Language $lng, ilSetting $settings)
persistUserInput(ilObjUser $user, mixed $input)
A configuration with no content.
setPref(string $a_keyword, ?string $a_value)
getPref(string $a_keyword)