Last active
September 8, 2023 07:45
-
-
Save ivangrozni/17234b73a751861ed6244ad010043e64 to your computer and use it in GitHub Desktop.
Drupal field module fix for broken configuration sync page
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/core/modules/field/field.module b/core/modules/field/field.module | |
index ad9b8f538b..94493a0c3a 100644 | |
--- a/core/modules/field/field.module | |
+++ b/core/modules/field/field.module | |
@@ -318,8 +318,11 @@ function field_form_config_admin_import_form_alter(&$form, FormStateInterface $f | |
$user_input = $form_state->getUserInput(); | |
$storage_comparer = $form_state->get('storage_comparer'); | |
if ($storage_comparer && empty($user_input)) { | |
+ // Method getFieldStoragesToPurge expects first array parameter to have | |
+ // 'module' key. | |
+ $core_extension = $storage_comparer->getSourceStorage()->read('core.extension') ?: ['module' => []]; | |
$field_storages = ConfigImporterFieldPurger::getFieldStoragesToPurge( | |
- $storage_comparer->getSourceStorage()->read('core.extension'), | |
+ $core_extension, | |
$storage_comparer->getChangelist('delete') | |
); | |
if ($field_storages) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From aee0a8e43761099b0e98f20e081b42e8762123e3 Mon Sep 17 00:00:00 2001 | |
From: Lio Novelli <liopold@drunomics.com> | |
Date: Thu, 7 Sep 2023 18:13:35 +0200 | |
Subject: [PATCH] Better handle array parameters in config importer field | |
purger. | |
--- | |
core/modules/field/field.module | 3 +++ | |
core/modules/field/src/ConfigImporterFieldPurger.php | 2 +- | |
2 files changed, 4 insertions(+), 1 deletion(-) | |
diff --git a/core/modules/field/field.module b/core/modules/field/field.module | |
index d5a8182048a6..b39d2fdb808f 100644 | |
--- a/core/modules/field/field.module | |
+++ b/core/modules/field/field.module | |
@@ -318,6 +318,9 @@ function field_form_config_admin_import_form_alter(&$form, FormStateInterface $f | |
$user_input = $form_state->getUserInput(); | |
$storage_comparer = $form_state->get('storage_comparer'); | |
if ($storage_comparer && empty($user_input)) { | |
+ // Method getFieldStoragesToPurge expects first array parameter to have | |
+ // 'module' key. | |
+ $core_extension = $storage_comparer->getSourceStorage()->read('core.extension') ?: ['module' => []]; | |
$field_storages = ConfigImporterFieldPurger::getFieldStoragesToPurge( | |
$storage_comparer->getSourceStorage()->read('core.extension'), | |
$storage_comparer->getChangelist('delete') | |
diff --git a/core/modules/field/src/ConfigImporterFieldPurger.php b/core/modules/field/src/ConfigImporterFieldPurger.php | |
index b2efb68d22dd..aaede369651d 100644 | |
--- a/core/modules/field/src/ConfigImporterFieldPurger.php | |
+++ b/core/modules/field/src/ConfigImporterFieldPurger.php | |
@@ -109,7 +109,7 @@ protected static function initializeSandbox(array &$context, ConfigImporter $con | |
* synchronized. | |
*/ | |
public static function getFieldStoragesToPurge(array $extensions, array $deletes) { | |
- $providers = array_keys($extensions['module']); | |
+ $providers = !empty($extensions['module']) ? array_keys($extensions['module']) : []; | |
$providers[] = 'core'; | |
$storages_to_delete = []; | |
-- | |
GitLab |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment