From 9be6424ff25405ab92c197f3aeb096859c53760d Mon Sep 17 00:00:00 2001 From: Rasmus Fuhse Date: Wed, 13 Aug 2025 08:36:28 +0000 Subject: Resolve "Verwaltung der Studiengruppen fehlerhaft" Closes #5805 Merge request studip/studip!4428 --- lib/classes/forms/CalculatorInput.php | 2 +- lib/classes/forms/CheckboxInput.php | 2 +- lib/classes/forms/ColorInput.php | 2 +- lib/classes/forms/ConfirmInput.php | 2 +- lib/classes/forms/DatalistInput.php | 2 +- lib/classes/forms/DatetimepickerInput.php | 2 +- lib/classes/forms/HiddenInput.php | 2 +- lib/classes/forms/I18n_formattedInput.php | 9 ++++----- lib/classes/forms/I18n_textInput.php | 9 ++++----- lib/classes/forms/I18n_textareaInput.php | 9 ++++----- lib/classes/forms/InfoInput.php | 2 +- lib/classes/forms/MultiselectInput.php | 2 +- lib/classes/forms/NumberInput.php | 2 +- lib/classes/forms/PasswordInput.php | 2 +- lib/classes/forms/QuicksearchInput.php | 2 +- lib/classes/forms/QuicksearchListInput.php | 2 +- lib/classes/forms/RadioInput.php | 2 +- lib/classes/forms/RangeInput.php | 2 +- lib/classes/forms/SelectInput.php | 2 +- lib/classes/forms/SerialWysiwygInput.php | 2 +- lib/classes/forms/TextInput.php | 2 +- lib/classes/forms/TextareaInput.php | 2 +- lib/classes/forms/UserFilterInput.php | 2 +- lib/classes/forms/WysiwygInput.php | 2 +- 24 files changed, 33 insertions(+), 36 deletions(-) diff --git a/lib/classes/forms/CalculatorInput.php b/lib/classes/forms/CalculatorInput.php index 40c08c1..6cbace8 100644 --- a/lib/classes/forms/CalculatorInput.php +++ b/lib/classes/forms/CalculatorInput.php @@ -8,7 +8,7 @@ class CalculatorInput extends Input { $template = $GLOBALS['template_factory']->open('forms/calculator_input'); $template->title = $this->title; - $template->value = $this->value; + $template->value = $this->getValue(); $template->attributes = arrayToHtmlAttributes($this->attributes); return $template->render(); } diff --git a/lib/classes/forms/CheckboxInput.php b/lib/classes/forms/CheckboxInput.php index 5616056..21a0ea7 100644 --- a/lib/classes/forms/CheckboxInput.php +++ b/lib/classes/forms/CheckboxInput.php @@ -14,7 +14,7 @@ class CheckboxInput extends Input $template = $GLOBALS['template_factory']->open('forms/checkbox_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); diff --git a/lib/classes/forms/ColorInput.php b/lib/classes/forms/ColorInput.php index 43dac93..865a733 100644 --- a/lib/classes/forms/ColorInput.php +++ b/lib/classes/forms/ColorInput.php @@ -9,7 +9,7 @@ class ColorInput extends Input $template = $GLOBALS['template_factory']->open('forms/color_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); diff --git a/lib/classes/forms/ConfirmInput.php b/lib/classes/forms/ConfirmInput.php index 13e3634..4642066 100644 --- a/lib/classes/forms/ConfirmInput.php +++ b/lib/classes/forms/ConfirmInput.php @@ -9,7 +9,7 @@ class ConfirmInput extends Input $template = $GLOBALS['template_factory']->open('forms/confirm_password_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); diff --git a/lib/classes/forms/DatalistInput.php b/lib/classes/forms/DatalistInput.php index 06cc9e0..e9c0a74 100644 --- a/lib/classes/forms/DatalistInput.php +++ b/lib/classes/forms/DatalistInput.php @@ -11,7 +11,7 @@ class DatalistInput extends Input $template = $GLOBALS['template_factory']->open('forms/datalist_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); diff --git a/lib/classes/forms/DatetimepickerInput.php b/lib/classes/forms/DatetimepickerInput.php index 060946f..1f1f212 100644 --- a/lib/classes/forms/DatetimepickerInput.php +++ b/lib/classes/forms/DatetimepickerInput.php @@ -16,7 +16,7 @@ class DatetimepickerInput extends Input $template = $GLOBALS['template_factory']->open('forms/datetimepicker_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = $attributes; diff --git a/lib/classes/forms/HiddenInput.php b/lib/classes/forms/HiddenInput.php index 24c8c74..4430d06 100644 --- a/lib/classes/forms/HiddenInput.php +++ b/lib/classes/forms/HiddenInput.php @@ -8,7 +8,7 @@ class HiddenInput extends Input { $template = $GLOBALS['template_factory']->open('forms/hidden_input'); $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->attributes = arrayToHtmlAttributes($this->attributes); return $template->render(); diff --git a/lib/classes/forms/I18n_formattedInput.php b/lib/classes/forms/I18n_formattedInput.php index d30c5f7..dde69a5 100644 --- a/lib/classes/forms/I18n_formattedInput.php +++ b/lib/classes/forms/I18n_formattedInput.php @@ -12,11 +12,10 @@ class I18n_formattedInput extends Input } else { $id = $this->attributes['id']; } - if (!is_object($this->value)) { - $value = $this->value; - } else { - $value = [\I18NString::getDefaultLanguage() => $this->value->original()]; - $value = array_merge($value, $this->value->toArray()); + $value = $this->getValue(); + if (is_object($value)) { + $value_arr = [\I18NString::getDefaultLanguage() => $value->original()]; + $value = array_merge($value_arr, $value->toArray()); $value = array_map(function ($item) { return $item ?? ''; }, $value); diff --git a/lib/classes/forms/I18n_textInput.php b/lib/classes/forms/I18n_textInput.php index 4467c54..0b86d87 100644 --- a/lib/classes/forms/I18n_textInput.php +++ b/lib/classes/forms/I18n_textInput.php @@ -12,11 +12,10 @@ class I18n_textInput extends Input } else { $id = $this->attributes['id']; } - if (!is_object($this->value)) { - $value = $this->value; - } else { - $value = [\I18NString::getDefaultLanguage() => $this->value->original()]; - $value = array_merge($value, $this->value->toArray()); + $value = $this->getValue(); + if (is_object($value)) { + $value_arr = [\I18NString::getDefaultLanguage() => $value->original()]; + $value = array_merge($value_arr, $value->toArray()); $value = array_map(function ($item) { return $item ?? ''; }, $value); diff --git a/lib/classes/forms/I18n_textareaInput.php b/lib/classes/forms/I18n_textareaInput.php index a544cb6..a8f9dba 100644 --- a/lib/classes/forms/I18n_textareaInput.php +++ b/lib/classes/forms/I18n_textareaInput.php @@ -12,11 +12,10 @@ class I18n_textareaInput extends Input } else { $id = $this->attributes['id']; } - if (!is_object($this->value)) { - $value = $this->value; - } else { - $value = [\I18NString::getDefaultLanguage() => $this->value->original() ?? '']; - $value = array_merge($value, $this->value->toArray()); + $value = $this->getValue(); + if (is_object($value)) { + $value_arr = [\I18NString::getDefaultLanguage() => $value->original() ?? '']; + $value = array_merge($value_arr, $value->toArray()); $value = array_map(function ($item) { return $item ?? ''; }, $value); diff --git a/lib/classes/forms/InfoInput.php b/lib/classes/forms/InfoInput.php index 561feee..27e655c 100644 --- a/lib/classes/forms/InfoInput.php +++ b/lib/classes/forms/InfoInput.php @@ -8,7 +8,7 @@ class InfoInput extends Input { $template = $GLOBALS['template_factory']->open('forms/info_input'); $template->title = $this->title; - $template->value = $this->value; + $template->value = $this->getValue(); $template->attributes = arrayToHtmlAttributes($this->attributes); return $template->render(); } diff --git a/lib/classes/forms/MultiselectInput.php b/lib/classes/forms/MultiselectInput.php index 67d9ebf..399d307 100644 --- a/lib/classes/forms/MultiselectInput.php +++ b/lib/classes/forms/MultiselectInput.php @@ -16,7 +16,7 @@ class MultiselectInput extends Input $template = $GLOBALS['template_factory']->open('forms/multiselect_input'); $template->title = $this->title; $template->name = $name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); diff --git a/lib/classes/forms/NumberInput.php b/lib/classes/forms/NumberInput.php index 73c233a..6bcfd2e 100644 --- a/lib/classes/forms/NumberInput.php +++ b/lib/classes/forms/NumberInput.php @@ -9,7 +9,7 @@ class NumberInput extends Input $template = $GLOBALS['template_factory']->open('forms/number_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); diff --git a/lib/classes/forms/PasswordInput.php b/lib/classes/forms/PasswordInput.php index 68e4718..535cbf2 100644 --- a/lib/classes/forms/PasswordInput.php +++ b/lib/classes/forms/PasswordInput.php @@ -9,7 +9,7 @@ class PasswordInput extends Input $template = $GLOBALS['template_factory']->open('forms/password_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); diff --git a/lib/classes/forms/QuicksearchInput.php b/lib/classes/forms/QuicksearchInput.php index f4be547..646be9e 100644 --- a/lib/classes/forms/QuicksearchInput.php +++ b/lib/classes/forms/QuicksearchInput.php @@ -9,7 +9,7 @@ class QuicksearchInput extends Input $template = $GLOBALS['template_factory']->open('forms/quicksearch_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); diff --git a/lib/classes/forms/QuicksearchListInput.php b/lib/classes/forms/QuicksearchListInput.php index 3cbc29a..8f1fb26 100644 --- a/lib/classes/forms/QuicksearchListInput.php +++ b/lib/classes/forms/QuicksearchListInput.php @@ -9,7 +9,7 @@ class QuicksearchListInput extends Input $template = $GLOBALS['template_factory']->open('forms/quicksearchlist_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); diff --git a/lib/classes/forms/RadioInput.php b/lib/classes/forms/RadioInput.php index b02cb67..5e68e69 100644 --- a/lib/classes/forms/RadioInput.php +++ b/lib/classes/forms/RadioInput.php @@ -10,7 +10,7 @@ class RadioInput extends Input $template = $GLOBALS['template_factory']->open('forms/radio_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->options = $options; diff --git a/lib/classes/forms/RangeInput.php b/lib/classes/forms/RangeInput.php index 14334c7..c01c005 100644 --- a/lib/classes/forms/RangeInput.php +++ b/lib/classes/forms/RangeInput.php @@ -9,7 +9,7 @@ class RangeInput extends Input $template = $GLOBALS['template_factory']->open('forms/range_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->min = $this->attributes['min'] ?? null; $template->max = $this->attributes['max'] ?? null; diff --git a/lib/classes/forms/SelectInput.php b/lib/classes/forms/SelectInput.php index 36850a9..724c386 100644 --- a/lib/classes/forms/SelectInput.php +++ b/lib/classes/forms/SelectInput.php @@ -11,7 +11,7 @@ class SelectInput extends Input $template = $GLOBALS['template_factory']->open('forms/select_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = (string) $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); diff --git a/lib/classes/forms/SerialWysiwygInput.php b/lib/classes/forms/SerialWysiwygInput.php index 9ce099c..93e477a 100644 --- a/lib/classes/forms/SerialWysiwygInput.php +++ b/lib/classes/forms/SerialWysiwygInput.php @@ -19,7 +19,7 @@ class SerialWysiwygInput extends WysiwygInput $template = $GLOBALS['template_factory']->open('forms/serial_wysiwyg_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = $id; $template->required = $this->required; $template->markers = $this->attributes['markers']; diff --git a/lib/classes/forms/TextInput.php b/lib/classes/forms/TextInput.php index 4ba6eb9..db4f884 100644 --- a/lib/classes/forms/TextInput.php +++ b/lib/classes/forms/TextInput.php @@ -9,7 +9,7 @@ class TextInput extends Input $template = $GLOBALS['template_factory']->open('forms/text_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); diff --git a/lib/classes/forms/TextareaInput.php b/lib/classes/forms/TextareaInput.php index 267c55e..f2fb5fc 100644 --- a/lib/classes/forms/TextareaInput.php +++ b/lib/classes/forms/TextareaInput.php @@ -9,7 +9,7 @@ class TextareaInput extends Input $template = $GLOBALS['template_factory']->open('forms/textarea_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); diff --git a/lib/classes/forms/UserFilterInput.php b/lib/classes/forms/UserFilterInput.php index 7c02726..0a99ea6 100644 --- a/lib/classes/forms/UserFilterInput.php +++ b/lib/classes/forms/UserFilterInput.php @@ -52,7 +52,7 @@ class UserFilterInput extends Input $template = $GLOBALS['template_factory']->open('forms/user_filter_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); diff --git a/lib/classes/forms/WysiwygInput.php b/lib/classes/forms/WysiwygInput.php index f270226..df405f1 100644 --- a/lib/classes/forms/WysiwygInput.php +++ b/lib/classes/forms/WysiwygInput.php @@ -9,7 +9,7 @@ class WysiwygInput extends Input $template = $GLOBALS['template_factory']->open('forms/wysiwyg_input'); $template->title = $this->title; $template->name = $this->name; - $template->value = $this->value; + $template->value = $this->getValue(); $template->id = md5(uniqid()); $template->required = $this->required; $template->attributes = arrayToHtmlAttributes($this->attributes); -- cgit v1.0