diff --git a/core/modules/media_library/src/MediaLibraryState.php b/core/modules/media_library/src/MediaLibraryState.php index 5badb051cd..7a0a4f6363 100644 --- a/core/modules/media_library/src/MediaLibraryState.php +++ b/core/modules/media_library/src/MediaLibraryState.php @@ -86,7 +86,11 @@ public function __construct(array $parameters = []) { * @return static * A state object. */ - public static function create($opener_id, array $allowed_media_type_ids, $selected_type_id, $remaining_slots, array $opener_parameters = [], string $form_mode = self::DEFAULT_FORM_MODE) { + public static function create($opener_id, array $allowed_media_type_ids, $selected_type_id, $remaining_slots, array $opener_parameters = [], ?string $form_mode = self::DEFAULT_FORM_MODE) { + // When form_mode is passed explicitly as null, defaulting doesn't happen: + if (is_null($form_mode)) { + $form_mode = self::DEFAULT_FORM_MODE; + } $state = new static([ 'media_library_opener_id' => $opener_id, 'media_library_allowed_types' => $allowed_media_type_ids, @@ -156,7 +160,11 @@ public static function fromRequest(Request $request) { * If one of the passed arguments is missing or does not pass the * validation. */ - protected function validateRequiredParameters($opener_id, array $allowed_media_type_ids, $selected_type_id, $remaining_slots, string $form_mode = self::DEFAULT_FORM_MODE) { + protected function validateRequiredParameters($opener_id, array $allowed_media_type_ids, $selected_type_id, $remaining_slots, ?string $form_mode = self::DEFAULT_FORM_MODE) { + // When form_mode is passed explicitly as null, defaulting doesn't happen: + if (is_null($form_mode)) { + $form_mode = self::DEFAULT_FORM_MODE; + } // The opener ID must be a non-empty string. if (!is_string($opener_id) || empty(trim($opener_id))) { throw new \InvalidArgumentException('The opener ID parameter is required and must be a string.'); diff --git a/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php b/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php index 46bd97d80c..1394543b8c 100644 --- a/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php +++ b/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php @@ -285,6 +285,7 @@ public static function setMediaTypesValue(array &$element, $input, FormStateInte */ public function settingsSummary() { $summary = []; + $media_type_labels = []; $form_modes = $this->entityDisplayRepository->getFormModeOptions('media'); $mode = $this->getSetting('form_mode'); @@ -292,13 +293,11 @@ public function settingsSummary() { $media_types = $this->entityTypeManager->getStorage('media_type')->loadMultiple($this->getAllowedMediaTypeIdsSorted()); if (count($media_types) !== 1) { - $media_type_labels = []; foreach ($media_types as $media_type) { $media_type_labels[] = $media_type->label(); } $summary[] = $this->t('Tab order: @order', ['@order' => implode(', ', $media_type_labels)]); } - return $summary; }