From ba19ce4919922b98d3aab0d115f0fd770786c7ab Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Wed, 15 Sep 2021 12:40:06 +0300 Subject: [PATCH 1/3] Fixed conflicting `$_original` variable in `Flex Pages` --- CHANGELOG.md | 6 ++++++ system/src/Grav/Common/Flex/Types/Pages/PageObject.php | 2 +- system/src/Grav/Framework/Flex/Pages/FlexPageObject.php | 8 ++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a6091c73..860f17f79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# v1.7.22 +## mm/dd/2021 + +3. [](#bugfix) + * Fixed conflicting `$_original` variable in `Flex Pages` + # v1.7.21 ## 09/14/2021 diff --git a/system/src/Grav/Common/Flex/Types/Pages/PageObject.php b/system/src/Grav/Common/Flex/Types/Pages/PageObject.php index 21a03d35f..5ad456b77 100644 --- a/system/src/Grav/Common/Flex/Types/Pages/PageObject.php +++ b/system/src/Grav/Common/Flex/Types/Pages/PageObject.php @@ -311,7 +311,7 @@ class PageObject extends FlexPageObject } // Reset original after save events have all been called. - $this->_original = null; + $this->_originalObject = null; return $instance; } diff --git a/system/src/Grav/Framework/Flex/Pages/FlexPageObject.php b/system/src/Grav/Framework/Flex/Pages/FlexPageObject.php index 621dae046..ebc26b45a 100644 --- a/system/src/Grav/Framework/Flex/Pages/FlexPageObject.php +++ b/system/src/Grav/Framework/Flex/Pages/FlexPageObject.php @@ -50,7 +50,7 @@ class FlexPageObject extends FlexObject implements PageInterface, FlexTranslateI /** @var array|null */ protected $_reorder; /** @var FlexPageObject|null */ - protected $_original; + protected $_originalObject; /** * Clone page. @@ -264,7 +264,7 @@ class FlexPageObject extends FlexObject implements PageInterface, FlexTranslateI */ public function getOriginal() { - return $this->_original; + return $this->_originalObject; } /** @@ -276,8 +276,8 @@ class FlexPageObject extends FlexObject implements PageInterface, FlexTranslateI */ public function storeOriginal(): void { - if (null === $this->_original) { - $this->_original = clone $this; + if (null === $this->_originalObject) { + $this->_originalObject = clone $this; } } From d276af6fa98992aadb0fd419883c767e92f60d39 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Thu, 16 Sep 2021 18:22:09 +0300 Subject: [PATCH 2/3] Register plugin autoloaders into plugin objects --- CHANGELOG.md | 4 +++- system/src/Grav/Common/Plugin.php | 21 +++++++++++++++++++++ system/src/Grav/Common/Plugins.php | 2 +- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 860f17f79..7348112a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,9 @@ # v1.7.22 ## mm/dd/2021 -3. [](#bugfix) +1. [](#new) + * Register plugin autoloaders into plugin objects +1. [](#bugfix) * Fixed conflicting `$_original` variable in `Flex Pages` # v1.7.21 diff --git a/system/src/Grav/Common/Plugin.php b/system/src/Grav/Common/Plugin.php index 65b11dba1..b32e39e6b 100644 --- a/system/src/Grav/Common/Plugin.php +++ b/system/src/Grav/Common/Plugin.php @@ -10,6 +10,7 @@ namespace Grav\Common; use ArrayAccess; +use Composer\Autoload\ClassLoader; use Grav\Common\Data\Blueprint; use Grav\Common\Data\Data; use Grav\Common\Page\Interfaces\PageInterface; @@ -42,6 +43,8 @@ class Plugin implements EventSubscriberInterface, ArrayAccess protected $active = true; /** @var Blueprint|null */ protected $blueprint; + /** @var ClassLoader|null */ + protected $loader; /** * By default assign all methods as listeners using the default priority. @@ -79,6 +82,24 @@ class Plugin implements EventSubscriberInterface, ArrayAccess } } + /** + * @return ClassLoader|null + * @internal + */ + final public function getAutoloader(): ?ClassLoader + { + return $this->loader; + } + + /** + * @param ClassLoader|null $loader + * @internal + */ + final public function setAutoloader(?ClassLoader $loader): void + { + $this->loader = $loader; + } + /** * @param Config $config * @return $this diff --git a/system/src/Grav/Common/Plugins.php b/system/src/Grav/Common/Plugins.php index f9fe32d7e..88b5e524e 100644 --- a/system/src/Grav/Common/Plugins.php +++ b/system/src/Grav/Common/Plugins.php @@ -143,7 +143,7 @@ class Plugins extends Iterator $instance->setConfig($config); // Register autoloader. if (method_exists($instance, 'autoload')) { - $instance->autoload(); + $instance->setAutoloader($instance->autoload()); } // Register event listeners. $events->addSubscriber($instance); From c5fd2826532adfe21e732da5acc9eabda3c8aa35 Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Thu, 16 Sep 2021 13:49:38 -0600 Subject: [PATCH 3/3] prepare for release --- CHANGELOG.md | 2 +- system/defines.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7348112a3..3aa6d4796 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ # v1.7.22 -## mm/dd/2021 +## 09/16/2021 1. [](#new) * Register plugin autoloaders into plugin objects diff --git a/system/defines.php b/system/defines.php index 9ab384fab..b0211a7d2 100644 --- a/system/defines.php +++ b/system/defines.php @@ -9,7 +9,7 @@ // Some standard defines define('GRAV', true); -define('GRAV_VERSION', '1.7.21'); +define('GRAV_VERSION', '1.7.22'); define('GRAV_SCHEMA', '1.7.0_2020-11-20_1'); define('GRAV_TESTING', false);