From a55314f19a7475081803c01b69b705463d915d3a Mon Sep 17 00:00:00 2001
From: John Franklin <john.franklin@bixal.com>
Date: Sun, 1 Dec 2024 19:39:06 -0500
Subject: [PATCH] Issue 3063961 by john franklin: Don't override the file
 extension handling of the base ImageItem or ImageWidget.

---
 src/Plugin/Field/FieldType/BgImgItem.php      | 20 -------------------
 .../Field/FieldWidget/BgImageFieldWidget.php  |  3 ---
 2 files changed, 23 deletions(-)

diff --git a/src/Plugin/Field/FieldType/BgImgItem.php b/src/Plugin/Field/FieldType/BgImgItem.php
index e8b5e57..d707752 100644
--- a/src/Plugin/Field/FieldType/BgImgItem.php
+++ b/src/Plugin/Field/FieldType/BgImgItem.php
@@ -56,7 +56,6 @@ class BgImgItem extends ImageItem {
   public static function defaultFieldSettings() {
     $settings = parent::defaultFieldSettings();
     // Change value of setting set in image field.
-    $settings['file_extensions'] = "png jpg jpeg svg";
     $settings['alt_field'] = 0;
     $settings['alt_field_required'] = 0;
     // Add the specific CSS settings.
@@ -221,14 +220,6 @@ class BgImgItem extends ImageItem {
       ],
     ];
 
-    // File extensions input to allow dynamic extensions.
-    $elements['file_extensions'] = [
-      '#type' => 'textfield',
-      '#title' => $this->t('Allowed file extensions'),
-      '#default_value' => $this->getSetting('file_extensions'),
-      '#description' => $this->t('Separate extensions with a space or comma. Example: "png jpg jpeg svg webp".'),
-    ];
-
     $elements['file_settings'] = [
       '#type' => 'details',
       '#title' => $this->t("File Settings"),
@@ -238,15 +229,4 @@ class BgImgItem extends ImageItem {
     return $elements;
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public function preSave() {
-    parent::preSave();
-
-    // Handle the custom file extensions setting before saving.
-    $extensions = preg_split('/[\s,]+/', $this->getSetting('file_extensions'));
-    $this->file_extensions = implode(' ', array_filter($extensions));
-  }
-
 }
diff --git a/src/Plugin/Field/FieldWidget/BgImageFieldWidget.php b/src/Plugin/Field/FieldWidget/BgImageFieldWidget.php
index b95b495..7b4b892 100644
--- a/src/Plugin/Field/FieldWidget/BgImageFieldWidget.php
+++ b/src/Plugin/Field/FieldWidget/BgImageFieldWidget.php
@@ -50,9 +50,6 @@ class BgImageFieldWidget extends ImageWidget {
     $form_state->set('css_values', $item['css_settings']);
     $form_state->set('hide_css_settings', $this->getSetting('hide_css_settings'));
 
-    $elements['#upload_validators']['file_validate_extensions'][0] =
-      $this->getFieldSetting('file_extensions');
-
     return $elements;
   }
 
-- 
GitLab