diff --git a/src/Entity/Language.php b/src/Entity/Language.php index 672ae28fea..f8a6f2cc9c 100644 --- a/src/Entity/Language.php +++ b/src/Entity/Language.php @@ -150,9 +150,12 @@ class Language extends Entity * Get all the available languages as well as the languages $actor * prefers and are appropriate for posting in/to $context_actor */ - public static function getSortedLanguageChoices(Actor $actor, ?Actor $context_actor, ?bool $use_short_display): array + public static function getSortedLanguageChoices(?Actor $actor, ?Actor $context_actor, ?bool $use_short_display): array { - $language_choices = self::getLanguageChoices(); + $language_choices = self::getLanguageChoices(); + if (\is_null($actor)) { + return [$language_choices, []]; + } $preferred_language_choices = $actor->getPreferredLanguageChoices($context_actor); ksort($language_choices); if ($use_short_display ?? Common::config('posting', 'use_short_language_display')) { diff --git a/src/Util/Form/FormFields.php b/src/Util/Form/FormFields.php index c29ef676ae..816ed03f03 100644 --- a/src/Util/Form/FormFields.php +++ b/src/Util/Form/FormFields.php @@ -80,7 +80,7 @@ abstract class FormFields /** * Create a from field for `select`ing a language for $actor, in reply or related to $context_actor */ - public static function language(Actor $actor, ?Actor $context_actor, string $label, ?string $help = null, bool $multiple = false, bool $required = true, ?bool $use_short_display = null, ?string $form_id = null, bool $use_no_selection = false): array + public static function language(?Actor $actor, ?Actor $context_actor, string $label, ?string $help = null, bool $multiple = false, bool $required = true, ?bool $use_short_display = null, ?string $form_id = null, bool $use_no_selection = false): array { [$language_choices, $preferred_language_choices] = Language::getSortedLanguageChoices($actor, $context_actor, use_short_display: $use_short_display); if ($use_no_selection) {