From 5437d2db1ab2ca214f03652d2845309a39db10ef Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Wed, 28 Jul 2021 14:31:55 +0300 Subject: [PATCH] Fixed `Flex Object` missing key field value when using `FolderStorage` --- CHANGELOG.md | 1 + system/src/Grav/Framework/Flex/Storage/FolderStorage.php | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f8f6dd43c..f5467bd8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ * Fixed error in `loadDirectoryConfig()` if configuration hasn't been saved [#3409](https://github.com/getgrav/grav/issues/3409) * Fixed GPM not using non-standard cache path [#3410](https://github.com/getgrav/grav/issues/3410) * Fixed broken `environment://` stream when it doesn't have configuration + * Fixed `Flex Object` missing key field value when using `FolderStorage` # v1.7.18 ## 07/19/2021 diff --git a/system/src/Grav/Framework/Flex/Storage/FolderStorage.php b/system/src/Grav/Framework/Flex/Storage/FolderStorage.php index 229194d7c..dc9649525 100644 --- a/system/src/Grav/Framework/Flex/Storage/FolderStorage.php +++ b/system/src/Grav/Framework/Flex/Storage/FolderStorage.php @@ -380,6 +380,12 @@ class FolderStorage extends AbstractFilesystemStorage if (isset($data[0])) { throw new RuntimeException('Broken object file'); } + + // Add key field to the object. + $keyField = $this->keyField; + if ($keyField !== 'storage_key' && !isset($data[$keyField])) { + $data[$keyField] = $key; + } } catch (RuntimeException $e) { $data = ['__ERROR' => $e->getMessage()]; } finally {