From 56c7b8ca5f66aa3b2d1517c6bd2a185dfd178304 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Thu, 13 Dec 2018 13:49:04 +0200 Subject: [PATCH] Flex: Fixed uploading images when creating a new object --- system/src/Grav/Framework/Flex/FlexObject.php | 13 +++++++------ .../Grav/Framework/Flex/Traits/FlexMediaTrait.php | 6 +++--- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/system/src/Grav/Framework/Flex/FlexObject.php b/system/src/Grav/Framework/Flex/FlexObject.php index 86af82115..25fb78f44 100644 --- a/system/src/Grav/Framework/Flex/FlexObject.php +++ b/system/src/Grav/Framework/Flex/FlexObject.php @@ -458,6 +458,13 @@ class FlexObject implements FlexObjectInterface, FlexAuthorizeInterface $this->triggerEvent('onBeforeSave'); $result = $this->getFlexDirectory()->getStorage()->replaceRows([$this->getStorageKey() => $this->prepareStorage()]); + + $value = reset($result); + $storageKey = key($result); + if ($value && $storageKey) { + $this->setStorageKey($storageKey); + } + if (method_exists($this, 'saveUpdatedMedia')) { $this->saveUpdatedMedia(); } @@ -475,12 +482,6 @@ class FlexObject implements FlexObjectInterface, FlexAuthorizeInterface // Caching failed, but we can ignore that for now. } - $value = reset($result); - $storageKey = key($result); - if ($value && $storageKey) { - $this->setStorageKey($storageKey); - } - $this->triggerEvent('onAfterSave'); return $this; diff --git a/system/src/Grav/Framework/Flex/Traits/FlexMediaTrait.php b/system/src/Grav/Framework/Flex/Traits/FlexMediaTrait.php index 2a97704bd..6b72987d7 100644 --- a/system/src/Grav/Framework/Flex/Traits/FlexMediaTrait.php +++ b/system/src/Grav/Framework/Flex/Traits/FlexMediaTrait.php @@ -27,7 +27,7 @@ trait FlexMediaTrait { use MediaTrait; - protected $uploads; + protected $_uploads; public function __debugInfo() { @@ -210,7 +210,7 @@ trait FlexMediaTrait } } - $this->uploads = $list; + $this->_uploads = $list; } /** @@ -218,7 +218,7 @@ trait FlexMediaTrait */ protected function getUpdatedMedia(): array { - return $this->uploads ?? []; + return $this->_uploads ?? []; } protected function saveUpdatedMedia(): void