From b2230225cc278cbcc52cb69d41cff46c11eccb49 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Thu, 4 Jun 2020 22:01:23 +0300 Subject: [PATCH] Fixed media field saving issues in Flex Pages --- UPGRADE-1.7.md | 1 + system/src/Grav/Common/Flex/Types/Users/UserObject.php | 6 +----- system/src/Grav/Framework/Flex/Pages/FlexPageObject.php | 8 +++----- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/UPGRADE-1.7.md b/UPGRADE-1.7.md index 0a3d9d7f0..ab5a97bf2 100644 --- a/UPGRADE-1.7.md +++ b/UPGRADE-1.7.md @@ -188,6 +188,7 @@ ### Flex +* Do not use `Framework` Flex classes directly, it's better to use or extend classes under `Grav\Common\Flex\Types\Generic` namespace * Added `$grav['flex']` to access all registered Flex Directories * Added `FlexRegisterEvent` which triggers when `$grav['flex']` is being accessed the first time * Added `hasFlexFeature()` method to test if `FlexObject` or `FlexCollection` implements a given feature diff --git a/system/src/Grav/Common/Flex/Types/Users/UserObject.php b/system/src/Grav/Common/Flex/Types/Users/UserObject.php index d1f0f1361..6938fd540 100644 --- a/system/src/Grav/Common/Flex/Types/Users/UserObject.php +++ b/system/src/Grav/Common/Flex/Types/Users/UserObject.php @@ -19,17 +19,14 @@ use Grav\Common\Grav; use Grav\Common\Media\Interfaces\MediaCollectionInterface; use Grav\Common\Media\Interfaces\MediaUploadInterface; use Grav\Common\Page\Media; -use Grav\Common\Page\Medium\ImageMedium; use Grav\Common\Page\Medium\Medium; use Grav\Common\Page\Medium\MediumFactory; -use Grav\Common\Page\Medium\StaticImageMedium; use Grav\Common\User\Access; use Grav\Common\User\Authentication; use Grav\Common\Flex\Types\UserGroups\UserGroupCollection; use Grav\Common\Flex\Types\UserGroups\UserGroupIndex; use Grav\Common\User\Interfaces\UserInterface; use Grav\Common\User\Traits\UserTrait; -use Grav\Common\Utils; use Grav\Framework\File\Formatter\JsonFormatter; use Grav\Framework\File\Formatter\YamlFormatter; use Grav\Framework\Flex\Flex; @@ -38,7 +35,6 @@ use Grav\Framework\Flex\FlexObject; use Grav\Framework\Flex\Storage\FileStorage; use Grav\Framework\Flex\Traits\FlexMediaTrait; use Grav\Framework\Form\FormFlashFile; -use Grav\Framework\Media\Interfaces\MediaManipulationInterface; use Psr\Http\Message\UploadedFileInterface; use RocketTheme\Toolbox\File\FileInterface; use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator; @@ -62,7 +58,7 @@ use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator; * @property bool $authenticated * @property bool $authorized */ -class UserObject extends FlexObject implements UserInterface, MediaManipulationInterface, \Countable +class UserObject extends FlexObject implements UserInterface, \Countable { use FlexGravTrait; use FlexObjectTrait; diff --git a/system/src/Grav/Framework/Flex/Pages/FlexPageObject.php b/system/src/Grav/Framework/Flex/Pages/FlexPageObject.php index 44ddda6a5..3b1585478 100644 --- a/system/src/Grav/Framework/Flex/Pages/FlexPageObject.php +++ b/system/src/Grav/Framework/Flex/Pages/FlexPageObject.php @@ -17,7 +17,6 @@ use Grav\Common\Page\Traits\PageFormTrait; use Grav\Common\User\Interfaces\UserCollectionInterface; use Grav\Framework\File\Formatter\YamlFormatter; use Grav\Framework\Flex\FlexObject; -use Grav\Framework\Flex\Interfaces\FlexCollectionInterface; use Grav\Framework\Flex\Interfaces\FlexObjectInterface; use Grav\Framework\Flex\Interfaces\FlexTranslateInterface; use Grav\Framework\Flex\Pages\Traits\PageAuthorsTrait; @@ -26,13 +25,12 @@ use Grav\Framework\Flex\Pages\Traits\PageLegacyTrait; use Grav\Framework\Flex\Pages\Traits\PageRoutableTrait; use Grav\Framework\Flex\Pages\Traits\PageTranslateTrait; use Grav\Framework\Flex\Traits\FlexMediaTrait; -use Grav\Framework\Media\Interfaces\MediaManipulationInterface; /** * Class FlexPageObject * @package Grav\Plugin\FlexObjects\Types\FlexPages */ -class FlexPageObject extends FlexObject implements PageInterface, MediaManipulationInterface, FlexTranslateInterface +class FlexPageObject extends FlexObject implements PageInterface, FlexTranslateInterface { use PageAuthorsTrait; use PageContentTrait; @@ -352,7 +350,7 @@ class FlexPageObject extends FlexObject implements PageInterface, MediaManipulat public function setNestedProperty($property, $value, $separator = null) { if (strpos($property, 'header.') === 0) { - $this->getProperty('header')->set(str_replace('header.', '', $property), $value); + $this->getProperty('header')->set(str_replace('header.', '', $property), $value, $separator); return $this; } @@ -370,7 +368,7 @@ class FlexPageObject extends FlexObject implements PageInterface, MediaManipulat public function unsetNestedProperty($property, $separator = null) { if (strpos($property, 'header.') === 0) { - $this->getProperty('header')->undef(str_replace('header.', '', $property)); + $this->getProperty('header')->undef(str_replace('header.', '', $property), $separator); return $this; }