diff --git a/CHANGELOG.md b/CHANGELOG.md index ae27a47f2..cedfd4d66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # v1.7.6 ## mm/dd/2021 +1. [](#improved) + * Added abstract `FlexObject`, `FlexCollection` and `FlexIndex` classes to `\Grav\Common\Flex` namespace (extend those instead of Framework or Generic classes) 1. [](#bugfix) * Fixed CLI progressbar in `backup` and `security` commands to use styled output [#3198](https://github.com/getgrav/grav/issues/3198) * Fixed page save failing because of uploaded images [#3191](https://github.com/getgrav/grav/issues/3191) diff --git a/system/src/Grav/Common/Flex/FlexCollection.php b/system/src/Grav/Common/Flex/FlexCollection.php new file mode 100644 index 000000000..13c267544 --- /dev/null +++ b/system/src/Grav/Common/Flex/FlexCollection.php @@ -0,0 +1,29 @@ + + */ +abstract class FlexCollection extends \Grav\Framework\Flex\FlexCollection +{ + use FlexGravTrait; + use FlexCollectionTrait; +} diff --git a/system/src/Grav/Common/Flex/FlexIndex.php b/system/src/Grav/Common/Flex/FlexIndex.php new file mode 100644 index 000000000..846cd6dfb --- /dev/null +++ b/system/src/Grav/Common/Flex/FlexIndex.php @@ -0,0 +1,30 @@ + + */ +abstract class FlexIndex extends \Grav\Framework\Flex\FlexIndex +{ + use FlexGravTrait; + use FlexIndexTrait; +} diff --git a/system/src/Grav/Common/Flex/FlexObject.php b/system/src/Grav/Common/Flex/FlexObject.php new file mode 100644 index 000000000..ef604195c --- /dev/null +++ b/system/src/Grav/Common/Flex/FlexObject.php @@ -0,0 +1,28 @@ + + * @extends FlexCollection */ class GenericCollection extends FlexCollection { - use FlexGravTrait; - use FlexCollectionTrait; } diff --git a/system/src/Grav/Common/Flex/Types/Generic/GenericIndex.php b/system/src/Grav/Common/Flex/Types/Generic/GenericIndex.php index 56c824461..82fa97edd 100644 --- a/system/src/Grav/Common/Flex/Types/Generic/GenericIndex.php +++ b/system/src/Grav/Common/Flex/Types/Generic/GenericIndex.php @@ -11,19 +11,14 @@ declare(strict_types=1); namespace Grav\Common\Flex\Types\Generic; -use Grav\Common\Flex\Traits\FlexGravTrait; -use Grav\Common\Flex\Traits\FlexIndexTrait; -use Grav\Framework\Flex\FlexIndex; +use Grav\Common\Flex\FlexIndex; /** * Class GenericIndex * @package Grav\Common\Flex\Generic * - * @extends FLexIndex - * @mixin GenericCollection + * @extends FlexIndex */ class GenericIndex extends FlexIndex { - use FlexGravTrait; - use FlexIndexTrait; } diff --git a/system/src/Grav/Common/Flex/Types/Generic/GenericObject.php b/system/src/Grav/Common/Flex/Types/Generic/GenericObject.php index e7dccf2ea..370780379 100644 --- a/system/src/Grav/Common/Flex/Types/Generic/GenericObject.php +++ b/system/src/Grav/Common/Flex/Types/Generic/GenericObject.php @@ -11,10 +11,7 @@ declare(strict_types=1); namespace Grav\Common\Flex\Types\Generic; -use Grav\Common\Flex\Traits\FlexGravTrait; -use Grav\Common\Flex\Traits\FlexObjectTrait; -use Grav\Framework\Flex\FlexObject; -use Grav\Framework\Flex\Traits\FlexMediaTrait; +use Grav\Common\Flex\FlexObject; /** * Class GenericObject @@ -22,7 +19,4 @@ use Grav\Framework\Flex\Traits\FlexMediaTrait; */ class GenericObject extends FlexObject { - use FlexGravTrait; - use FlexObjectTrait; - use FlexMediaTrait; } diff --git a/system/src/Grav/Common/Flex/Types/Pages/PageIndex.php b/system/src/Grav/Common/Flex/Types/Pages/PageIndex.php index 12d7f9f7a..d38c6865f 100644 --- a/system/src/Grav/Common/Flex/Types/Pages/PageIndex.php +++ b/system/src/Grav/Common/Flex/Types/Pages/PageIndex.php @@ -36,7 +36,6 @@ use function is_string; * @package Grav\Plugin\FlexObjects\Types\GravPages * * @extends FlexPageIndex - * @mixin PageCollection * * @method PageIndex withModules(bool $bool = true) * @method PageIndex withPages(bool $bool = true) diff --git a/system/src/Grav/Common/Flex/Types/Pages/PageObject.php b/system/src/Grav/Common/Flex/Types/Pages/PageObject.php index 1d4f9b981..c1df616a9 100644 --- a/system/src/Grav/Common/Flex/Types/Pages/PageObject.php +++ b/system/src/Grav/Common/Flex/Types/Pages/PageObject.php @@ -25,7 +25,6 @@ use Grav\Common\Page\Pages; use Grav\Common\Utils; use Grav\Framework\Filesystem\Filesystem; use Grav\Framework\Flex\FlexObject; -use Grav\Framework\Flex\Interfaces\FlexCollectionInterface; use Grav\Framework\Flex\Interfaces\FlexObjectInterface; use Grav\Framework\Flex\Pages\FlexPageObject; use Grav\Framework\Route\Route; @@ -35,7 +34,6 @@ use RocketTheme\Toolbox\Event\Event; use RuntimeException; use stdClass; use function array_key_exists; -use function assert; use function count; use function func_get_args; use function in_array; diff --git a/system/src/Grav/Common/Flex/Types/UserGroups/UserGroupCollection.php b/system/src/Grav/Common/Flex/Types/UserGroups/UserGroupCollection.php index 20dea64fb..c7752b815 100644 --- a/system/src/Grav/Common/Flex/Types/UserGroups/UserGroupCollection.php +++ b/system/src/Grav/Common/Flex/Types/UserGroups/UserGroupCollection.php @@ -11,9 +11,7 @@ declare(strict_types=1); namespace Grav\Common\Flex\Types\UserGroups; -use Grav\Common\Flex\Traits\FlexCollectionTrait; -use Grav\Common\Flex\Traits\FlexGravTrait; -use Grav\Framework\Flex\FlexCollection; +use Grav\Common\Flex\FlexCollection; /** * Class UserGroupCollection @@ -23,9 +21,6 @@ use Grav\Framework\Flex\FlexCollection; */ class UserGroupCollection extends FlexCollection { - use FlexGravTrait; - use FlexCollectionTrait; - /** * @return array */ diff --git a/system/src/Grav/Common/Flex/Types/UserGroups/UserGroupIndex.php b/system/src/Grav/Common/Flex/Types/UserGroups/UserGroupIndex.php index 211296fb0..67b3f6a4f 100644 --- a/system/src/Grav/Common/Flex/Types/UserGroups/UserGroupIndex.php +++ b/system/src/Grav/Common/Flex/Types/UserGroups/UserGroupIndex.php @@ -11,19 +11,14 @@ declare(strict_types=1); namespace Grav\Common\Flex\Types\UserGroups; -use Grav\Common\Flex\Traits\FlexGravTrait; -use Grav\Common\Flex\Traits\FlexIndexTrait; -use Grav\Framework\Flex\FlexIndex; +use Grav\Common\Flex\FlexIndex; /** * Class GroupIndex * @package Grav\Common\User\FlexUser * * @extends FlexIndex - * @mixin UserGroupCollection */ class UserGroupIndex extends FlexIndex { - use FlexGravTrait; - use FlexIndexTrait; } diff --git a/system/src/Grav/Common/Flex/Types/UserGroups/UserGroupObject.php b/system/src/Grav/Common/Flex/Types/UserGroups/UserGroupObject.php index 76652833a..f49906a3a 100644 --- a/system/src/Grav/Common/Flex/Types/UserGroups/UserGroupObject.php +++ b/system/src/Grav/Common/Flex/Types/UserGroups/UserGroupObject.php @@ -11,12 +11,9 @@ declare(strict_types=1); namespace Grav\Common\Flex\Types\UserGroups; -use Grav\Common\Flex\Traits\FlexGravTrait; -use Grav\Common\Flex\Traits\FlexObjectTrait; +use Grav\Common\Flex\FlexObject; use Grav\Common\User\Access; use Grav\Common\User\Interfaces\UserGroupInterface; -use Grav\Framework\Flex\FlexObject; -use Grav\Framework\Flex\Traits\FlexMediaTrait; use function is_bool; /** @@ -29,10 +26,6 @@ use function is_bool; */ class UserGroupObject extends FlexObject implements UserGroupInterface { - use FlexGravTrait; - use FlexObjectTrait; - use FlexMediaTrait; - /** @var Access */ protected $_access; /** @var array|null */ diff --git a/system/src/Grav/Common/Flex/Types/Users/UserCollection.php b/system/src/Grav/Common/Flex/Types/Users/UserCollection.php index f07be1cd9..540d5ebf7 100644 --- a/system/src/Grav/Common/Flex/Types/Users/UserCollection.php +++ b/system/src/Grav/Common/Flex/Types/Users/UserCollection.php @@ -11,11 +11,9 @@ declare(strict_types=1); namespace Grav\Common\Flex\Types\Users; -use Grav\Common\Flex\Traits\FlexCollectionTrait; -use Grav\Common\Flex\Traits\FlexGravTrait; +use Grav\Common\Flex\FlexCollection; use Grav\Common\User\Interfaces\UserCollectionInterface; use Grav\Common\User\Interfaces\UserInterface; -use Grav\Framework\Flex\FlexCollection; use function is_string; /** @@ -26,9 +24,6 @@ use function is_string; */ class UserCollection extends FlexCollection implements UserCollectionInterface { - use FlexGravTrait; - use FlexCollectionTrait; - /** * @return array */ diff --git a/system/src/Grav/Common/Flex/Types/Users/UserIndex.php b/system/src/Grav/Common/Flex/Types/Users/UserIndex.php index eaa13385b..0371d37c3 100644 --- a/system/src/Grav/Common/Flex/Types/Users/UserIndex.php +++ b/system/src/Grav/Common/Flex/Types/Users/UserIndex.php @@ -13,11 +13,9 @@ namespace Grav\Common\Flex\Types\Users; use Grav\Common\Debugger; use Grav\Common\File\CompiledYamlFile; -use Grav\Common\Flex\Traits\FlexGravTrait; -use Grav\Common\Flex\Traits\FlexIndexTrait; +use Grav\Common\Flex\FlexIndex; use Grav\Common\Grav; use Grav\Common\User\Interfaces\UserInterface; -use Grav\Framework\Flex\FlexIndex; use Grav\Framework\Flex\Interfaces\FlexStorageInterface; use Monolog\Logger; use function count; @@ -29,15 +27,11 @@ use function method_exists; * @package Grav\Common\Flex\Types\Users * * @extends FlexIndex - * @mixin UserCollection */ class UserIndex extends FlexIndex { public const VERSION = parent::VERSION . '.1'; - use FlexGravTrait; - use FlexIndexTrait; - /** * @param FlexStorageInterface $storage * @return array diff --git a/system/src/Grav/Common/Flex/Types/Users/UserObject.php b/system/src/Grav/Common/Flex/Types/Users/UserObject.php index a89782053..d51083492 100644 --- a/system/src/Grav/Common/Flex/Types/Users/UserObject.php +++ b/system/src/Grav/Common/Flex/Types/Users/UserObject.php @@ -14,6 +14,7 @@ namespace Grav\Common\Flex\Types\Users; use Countable; use Grav\Common\Config\Config; use Grav\Common\Data\Blueprint; +use Grav\Common\Flex\FlexObject; use Grav\Common\Flex\Traits\FlexGravTrait; use Grav\Common\Flex\Traits\FlexObjectTrait; use Grav\Common\Flex\Types\Users\Traits\UserObjectLegacyTrait; @@ -33,7 +34,6 @@ use Grav\Framework\File\Formatter\JsonFormatter; use Grav\Framework\File\Formatter\YamlFormatter; use Grav\Framework\Flex\Flex; use Grav\Framework\Flex\FlexDirectory; -use Grav\Framework\Flex\FlexObject; use Grav\Framework\Flex\Storage\FileStorage; use Grav\Framework\Flex\Traits\FlexMediaTrait; use Grav\Framework\Form\FormFlashFile; @@ -42,7 +42,6 @@ use RocketTheme\Toolbox\Event\Event; use RocketTheme\Toolbox\File\FileInterface; use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator; use RuntimeException; -use function assert; use function is_array; use function is_bool; use function is_object; diff --git a/system/src/Grav/Framework/Flex/FlexIndex.php b/system/src/Grav/Framework/Flex/FlexIndex.php index d3e800a65..f88defdc3 100644 --- a/system/src/Grav/Framework/Flex/FlexIndex.php +++ b/system/src/Grav/Framework/Flex/FlexIndex.php @@ -38,6 +38,7 @@ use function in_array; * @template C of FlexCollectionInterface * @extends ObjectIndex * @implements FlexIndexInterface + * @mixin C */ class FlexIndex extends ObjectIndex implements FlexCollectionInterface, FlexIndexInterface {