From 60903cff90c6ae3a8a724f7ddc231e8faa5e4f6e Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Mon, 28 Oct 2024 16:30:51 +0000 Subject: [PATCH] fix default handling of Request::i18n(), fixes #4774 Closes #4774 Merge request studip/studip!3566 --- lib/classes/Request.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/classes/Request.php b/lib/classes/Request.php index f2ff99afa20..10758f673ca 100644 --- a/lib/classes/Request.php +++ b/lib/classes/Request.php @@ -191,18 +191,18 @@ class Request implements ArrayAccess, IteratorAggregate /** * Return the value of the selected query parameter as an I18NString. * - * @param string $param parameter name - * @param string $default default value if parameter is not set - * @param Callable $op Operation to perform on each text string + * @param string $param parameter name + * @param I18NString|null $default default value if parameter is not set + * @param callable|null $op Operation to perform on each text string * * @return I18NString parameter value as string (if set), else NULL */ - public static function i18n($param, $default = NULL, Callable $op = null) + public static function i18n(string $param, ?I18NString $default = NULL, Callable $op = null) { - $value = self::get($param, $default); + $value = self::get($param, $default ? $default->original() : null); if (isset($value)) { - $lang = self::getArray($param . '_i18n'); + $lang = self::getArray($param . '_i18n') ?: ($default ? $default->toArray() : []); if ($op) { $value = $op($value); -- GitLab