223 $languages = $this->
lng->getInstalledLanguages();
225 foreach ($languages as $lang_key) {
226 $options[$lang_key] = $this->
lng->txtlng(
'meta',
'meta_l_' . $lang_key, $lang_key);
230 $lang->setOptionsLangAttribute(fn($options, $key) => $key);
231 $lang->setOptions($options);
232 $lang->setValue($this->
user->getLanguage());
233 if (count($options) <= 1 || $this->
settings->get(
'usr_settings_disable_language') ===
'1') {
234 $lang->setDisabled(
true);
241 $skins = $this->style_definition::getAllSkins();
242 if (is_array($skins)) {
246 foreach ($skins as $skin) {
247 foreach ($skin->getStyles() as $style) {
255 $options[$skin->getId() .
':' . $style->getId()] = $skin->getName() .
' / ' . $style->getName();
259 $si->setValue($this->
user->skin .
':' . $this->user->prefs[
'style']);
260 $si->setDisabled((
bool) $this->
settings->get(
'usr_settings_disable_skin_style'));
261 $this->
form->addItem($si);
266 $this->
help->addPersonalSettingToLegacyForm($this->
form);
268 $lv =
new ilSelectInputGUI($this->
lng->txt(
'user_store_last_visited'),
'store_last_visited');
270 0 => $this->
lng->txt(
'user_lv_keep_entries'),
271 1 => $this->
lng->txt(
'user_lv_keep_only_for_session'),
272 2 => $this->
lng->txt(
'user_lv_do_not_store')
275 $last_visited = (
int) ($this->
user->prefs[
'store_last_visited'] ?? 0);
276 $lv->setValue($last_visited);
277 $this->
form->addItem($lv);
281 $this->
lng->txt(
'session_reminder_input'),
282 'session_reminder_lead_time' 286 $session_reminder->setInfo(
288 $this->
lng->txt(
'session_reminder_lead_time_info'),
295 $session_reminder->setValue(
296 (
string) $session_reminder_object->getEffectiveLeadTime()
298 $session_reminder->setSize(3);
300 $session_reminder->setMaxValue($session_reminder_object->getMaxPossibleLeadTime());
301 $this->
form->addItem($session_reminder);
307 $this->
lng->loadLanguageModule(
'dateplaner');
312 $select->setInfo($this->
lng->txt(
'cal_timezone_info'));
313 $select->setValue($user_settings->getTimeZone());
314 $this->
form->addItem($select);
323 $select->setInfo($this->
lng->txt(
'cal_date_format_info'));
324 $select->setValue($user_settings->getDateFormat());
325 $this->
form->addItem($select);
332 $select->setInfo($this->
lng->txt(
'cal_time_format_info'));
333 $select->setValue($user_settings->getTimeFormat());
334 $this->
form->addItem($select);
336 if ($this->starting_point_repository->isPersonalStartingPointEnabled()) {
337 $this->
lng->loadLanguageModule(
'administration');
340 $si->setInfo($this->
lng->txt(
'adm_user_starting_point_info'));
341 $def_opt =
new ilRadioOption($this->
lng->txt(
'adm_user_starting_point_inherit'),
'0');
342 $def_opt->
setInfo($this->
lng->txt(
'adm_user_starting_point_inherit_info'));
343 $si->addOption($def_opt);
344 foreach ($this->starting_point_repository->getPossibleStartingPoints() as $value => $caption) {
348 $si->addOption(
new ilRadioOption($this->
lng->txt($caption), (string) $value));
350 $si->setValue((
string) $this->starting_point_repository->getCurrentUserPersonalStartingPoint());
351 $this->
form->addItem($si);
355 $this->
lng->txt(
'adm_user_starting_point_object'),
358 $repobj_id =
new ilTextInputGUI($this->
lng->txt(
'adm_user_starting_point_ref_id'),
'usr_start_ref_id');
359 $repobj_id->setInfo($this->
lng->txt(
'adm_user_starting_point_ref_id_info'));
360 $repobj_id->setRequired(
true);
361 $repobj_id->setSize(5);
363 $start_ref_id = $this->starting_point_repository->getCurrentUserPersonalStartingObject();
364 $repobj_id->setValue($start_ref_id);
375 $repobj->addSubItem($repobj_id);
376 $si->addOption($repobj);
379 $this->
form->addCommandButton(
'saveGeneralSettings', $this->
lng->txt(
'save'));
380 $this->
form->setTitle($this->
lng->txt(
'general_settings'));
381 $this->
form->setFormAction($this->
ctrl->getFormAction($this));
This class represents an option in a radio group.
static _lookupActivatedStyle(string $a_skin, string $a_style)
lookup if a style is activated
workWithUserSetting(string $setting)
static _getShortTimeZoneList()
get short timezone list
static secondsToString(int $seconds, bool $force_with_seconds=false, ?ilLanguage $a_lng=null)
converts seconds to string: Long: 7 days 4 hour(s) ...
static _getInstanceByUserId(int $a_user_id)
static _lookupObjId(int $ref_id)
static _lookupTitle(int $obj_id)
const START_REPOSITORY_OBJ
const SUGGESTED_LEAD_TIME
form( $class_path, string $cmd, string $submit_caption="")
userSettingVisible(string $setting)
static _lookupType(int $id, bool $reference=false)
static getSessionExpireValue()
Returns the session expiration value.