diff --git a/system/src/Grav/Framework/Flex/FlexObject.php b/system/src/Grav/Framework/Flex/FlexObject.php index 842bbc801..4bc0131a5 100644 --- a/system/src/Grav/Framework/Flex/FlexObject.php +++ b/system/src/Grav/Framework/Flex/FlexObject.php @@ -618,6 +618,10 @@ class FlexObject implements FlexObjectInterface, FlexAuthorizeInterface $result = $storage->replaceRows([$storageKey => $this->prepareStorage()]); + if (method_exists($this, 'clearMediaCache')) { + $this->clearMediaCache(); + } + $value = reset($result); $meta = $value['__META'] ?? null; if ($meta) { diff --git a/system/src/Grav/Framework/Flex/Traits/FlexMediaTrait.php b/system/src/Grav/Framework/Flex/Traits/FlexMediaTrait.php index 5200df568..8bdb280c8 100644 --- a/system/src/Grav/Framework/Flex/Traits/FlexMediaTrait.php +++ b/system/src/Grav/Framework/Flex/Traits/FlexMediaTrait.php @@ -206,6 +206,10 @@ trait FlexMediaTrait { $updated = false; foreach ($this->getUpdatedMedia() as $filename => $upload) { + if (is_array($upload)) { + // Uses new format with [UploadedFileInterface, array]. + $upload = $upload[0]; + } if ($upload) { $medium = MediumFactory::fromUploadedFile($upload); if ($medium) {