From 75ee0670f6e01a0c92ffde534d3edd80cd6cc5d8 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Thu, 6 Feb 2020 16:52:52 +0200 Subject: [PATCH] Fixed saving Flex configuration with ignored values becoming null --- CHANGELOG.md | 1 + system/src/Grav/Common/Data/BlueprintSchema.php | 4 ++++ system/src/Grav/Framework/Flex/FlexDirectoryForm.php | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eec505182..071541677 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ * Regression: Fixed fatal error in blueprints [#2811](https://github.com/getgrav/grav/issues/2811) * Regression: Fixed bad method call in FlexDirectory::getAuthorizeRule() * Regression: Fixed fatal error in admin if the site has custom permissions in `onAdminRegisterPermissions` + * Grav 1.7: Fixed saving Flex configuration with ignored values becoming null # v1.7.0-rc.5 ## 02/03/2020 diff --git a/system/src/Grav/Common/Data/BlueprintSchema.php b/system/src/Grav/Common/Data/BlueprintSchema.php index 08474fe81..e399cb812 100644 --- a/system/src/Grav/Common/Data/BlueprintSchema.php +++ b/system/src/Grav/Common/Data/BlueprintSchema.php @@ -191,6 +191,10 @@ class BlueprintSchema extends BlueprintSchemaBase implements ExportInterface } foreach ($data as $key => $field) { + if (null === $field && !$missingValuesAsNull) { + continue; + } + $val = $rules[$key] ?? $rules['*'] ?? null; $rule = \is_string($val) ? $this->items[$val] : $this->items[$parent . $key] ?? null; diff --git a/system/src/Grav/Framework/Flex/FlexDirectoryForm.php b/system/src/Grav/Framework/Flex/FlexDirectoryForm.php index 4cd721ec2..765a2dfe7 100644 --- a/system/src/Grav/Framework/Flex/FlexDirectoryForm.php +++ b/system/src/Grav/Framework/Flex/FlexDirectoryForm.php @@ -475,7 +475,7 @@ class FlexDirectoryForm implements FlexDirectoryFormInterface, \JsonSerializable protected function filterData($data = null): void { if ($data instanceof Data) { - $data->filter(true, false); + $data->filter(false, true); } } }