From 2fd5492286bb1164a187f69b85b33a8874cda08d Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Tue, 29 Oct 2019 20:56:31 +0200 Subject: [PATCH] Updated to Symfony 4.3, use `Symfony EventDispatcher` directly and not rockettheme/toolbox wrapper --- CHANGELOG.md | 2 + composer.json | 10 +- composer.lock | 120 ++++++++++-------- system/src/Grav/Common/Backup/Backups.php | 2 +- system/src/Grav/Common/Cache.php | 2 +- system/src/Grav/Common/Debugger.php | 2 - system/src/Grav/Common/Grav.php | 35 +++-- .../src/Grav/Common/Page/Flex/PageIndex.php | 1 + system/src/Grav/Common/Page/Pages.php | 2 +- system/src/Grav/Common/Plugin.php | 2 +- system/src/Grav/Common/Plugins.php | 2 +- .../Service/AccountsServiceProvider.php | 2 +- system/src/Grav/Common/Themes.php | 2 +- 13 files changed, 102 insertions(+), 82 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d70b9902..c9ede773c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ * Added `Utils::simpleTemplate()` method for very simple variable templating * Added `array_diff()` twig function * Added `template_from_string()` twig function + * Updated Symfony Components to 4.3 1. [](#improved) * Improved `Scheduler` cron command check and more useful CLI information * Improved `Flex Users`: obey blueprints and allow Flex to be used in admin only @@ -14,6 +15,7 @@ * Added mime support for file formatters * Updated built-in `composer.phar` to latest `1.9.0` * Updated vendor libraries + * Use `Symfony EventDispatcher` directly and not rockettheme/toolbox wrapper 1. [](#bugfix) * Fixed `Page::untranslatedLanguages()` not being symmetrical to `Page::translatedLanguages()` * Fixed `Flex Pages` not calling `onPageProcessed` event when cached diff --git a/composer.json b/composer.json index 16baadf62..e84f36f67 100644 --- a/composer.json +++ b/composer.json @@ -30,11 +30,11 @@ "twig/twig": "~1.0", "erusev/parsedown": "1.6.4", "erusev/parsedown-extra": "~0.7", - "symfony/yaml": "~4.2", - "symfony/console": "~4.2.0", - "symfony/event-dispatcher": "~4.2.0", - "symfony/var-dumper": "~4.2.0", - "symfony/process": "~4.2.0", + "symfony/yaml": "~4.3.0", + "symfony/console": "~4.3.0", + "symfony/event-dispatcher": "~4.3.0", + "symfony/var-dumper": "~4.3.0", + "symfony/process": "~4.3.0", "doctrine/cache": "^1.8", "doctrine/collections": "^1.5", "guzzlehttp/psr7": "^1.4", diff --git a/composer.lock b/composer.lock index d4fa80cb1..22b0fad30 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "651a29a09418144e8b0d47bade1e807f", + "content-hash": "451ad4d98f131fac0ea734eb5070afee", "packages": [ { "name": "antoligy/dom-string-iterators", @@ -108,16 +108,16 @@ }, { "name": "doctrine/cache", - "version": "v1.8.0", + "version": "v1.8.1", "source": { "type": "git", "url": "https://github.com/doctrine/cache.git", - "reference": "d768d58baee9a4862ca783840eca1b9add7a7f57" + "reference": "d4374ae95b36062d02ef310100ed33d78738d76c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57", - "reference": "d768d58baee9a4862ca783840eca1b9add7a7f57", + "url": "https://api.github.com/repos/doctrine/cache/zipball/d4374ae95b36062d02ef310100ed33d78738d76c", + "reference": "d4374ae95b36062d02ef310100ed33d78738d76c", "shasum": "" }, "require": { @@ -152,6 +152,10 @@ "MIT" ], "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -160,10 +164,6 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, { "name": "Jonathan Wage", "email": "jonwage@gmail.com" @@ -179,7 +179,7 @@ "cache", "caching" ], - "time": "2018-08-21T18:01:43+00:00" + "time": "2019-10-28T09:31:32+00:00" }, { "name": "doctrine/collections", @@ -1690,16 +1690,16 @@ }, { "name": "psr/log", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" + "reference": "bf73deb2b3b896a9d9c75f3f0d88185d2faa27e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", - "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "url": "https://api.github.com/repos/php-fig/log/zipball/bf73deb2b3b896a9d9c75f3f0d88185d2faa27e2", + "reference": "bf73deb2b3b896a9d9c75f3f0d88185d2faa27e2", "shasum": "" }, "require": { @@ -1708,7 +1708,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { @@ -1733,7 +1733,7 @@ "psr", "psr-3" ], - "time": "2018-11-20T15:27:04+00:00" + "time": "2019-10-25T08:06:51+00:00" }, { "name": "psr/simple-cache", @@ -1923,25 +1923,27 @@ }, { "name": "symfony/console", - "version": "v4.2.11", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "fc2e274aade6567a750551942094b2145ade9b6c" + "reference": "929ddf360d401b958f611d44e726094ab46a7369" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/fc2e274aade6567a750551942094b2145ade9b6c", - "reference": "fc2e274aade6567a750551942094b2145ade9b6c", + "url": "https://api.github.com/repos/symfony/console/zipball/929ddf360d401b958f611d44e726094ab46a7369", + "reference": "929ddf360d401b958f611d44e726094ab46a7369", "shasum": "" }, "require": { "php": "^7.1.3", - "symfony/contracts": "^1.0", - "symfony/polyfill-mbstring": "~1.0" + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/service-contracts": "^1.1" }, "conflict": { "symfony/dependency-injection": "<3.4", + "symfony/event-dispatcher": "<4.3", "symfony/process": "<3.3" }, "provide": { @@ -1951,9 +1953,10 @@ "psr/log": "~1.0", "symfony/config": "~3.4|~4.0", "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/event-dispatcher": "^4.3", "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.4|~4.0" + "symfony/process": "~3.4|~4.0", + "symfony/var-dumper": "^4.3" }, "suggest": { "psr/log": "For using the console logger", @@ -1964,7 +1967,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -1991,7 +1994,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-07-24T17:13:20+00:00" + "time": "2019-10-07T12:36:49+00:00" }, { "name": "symfony/contracts", @@ -2072,30 +2075,36 @@ }, { "name": "symfony/event-dispatcher", - "version": "v4.2.11", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "852548c7c704f14d2f6700c8d872a05bd2028732" + "reference": "6229f58993e5a157f6096fc7145c0717d0be8807" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/852548c7c704f14d2f6700c8d872a05bd2028732", - "reference": "852548c7c704f14d2f6700c8d872a05bd2028732", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/6229f58993e5a157f6096fc7145c0717d0be8807", + "reference": "6229f58993e5a157f6096fc7145c0717d0be8807", "shasum": "" }, "require": { "php": "^7.1.3", - "symfony/contracts": "^1.0" + "symfony/event-dispatcher-contracts": "^1.1" }, "conflict": { "symfony/dependency-injection": "<3.4" }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "1.1" + }, "require-dev": { "psr/log": "~1.0", "symfony/config": "~3.4|~4.0", "symfony/dependency-injection": "~3.4|~4.0", "symfony/expression-language": "~3.4|~4.0", + "symfony/http-foundation": "^3.4|^4.0", + "symfony/service-contracts": "^1.1", "symfony/stopwatch": "~3.4|~4.0" }, "suggest": { @@ -2105,7 +2114,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -2132,7 +2141,7 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2019-06-26T06:46:55+00:00" + "time": "2019-10-01T16:40:32+00:00" }, { "name": "symfony/polyfill-ctype", @@ -2425,16 +2434,16 @@ }, { "name": "symfony/process", - "version": "v4.2.11", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "808a4be7e0dd7fcb6a2b1ed2ba22dd581402c5e2" + "reference": "50556892f3cc47d4200bfd1075314139c4c9ff4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/808a4be7e0dd7fcb6a2b1ed2ba22dd581402c5e2", - "reference": "808a4be7e0dd7fcb6a2b1ed2ba22dd581402c5e2", + "url": "https://api.github.com/repos/symfony/process/zipball/50556892f3cc47d4200bfd1075314139c4c9ff4b", + "reference": "50556892f3cc47d4200bfd1075314139c4c9ff4b", "shasum": "" }, "require": { @@ -2443,7 +2452,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -2470,20 +2479,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-05-30T16:06:08+00:00" + "time": "2019-09-26T21:17:10+00:00" }, { "name": "symfony/var-dumper", - "version": "v4.2.11", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "4e18e041a477edbb8c54e053f179672f9413816c" + "reference": "bde8957fc415fdc6964f33916a3755737744ff05" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/4e18e041a477edbb8c54e053f179672f9413816c", - "reference": "4e18e041a477edbb8c54e053f179672f9413816c", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/bde8957fc415fdc6964f33916a3755737744ff05", + "reference": "bde8957fc415fdc6964f33916a3755737744ff05", "shasum": "" }, "require": { @@ -2512,7 +2521,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -2546,7 +2555,7 @@ "debug", "dump" ], - "time": "2019-07-27T06:42:33+00:00" + "time": "2019-10-04T19:48:13+00:00" }, { "name": "symfony/yaml", @@ -3906,16 +3915,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.2.4", + "version": "v4.2.5", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "97e59c7a16464196a8b9c77c47df68e4a39a45c4" + "reference": "b76bbc3c51f22c570648de48e8c2d941ed5e2cf2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/97e59c7a16464196a8b9c77c47df68e4a39a45c4", - "reference": "97e59c7a16464196a8b9c77c47df68e4a39a45c4", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/b76bbc3c51f22c570648de48e8c2d941ed5e2cf2", + "reference": "b76bbc3c51f22c570648de48e8c2d941ed5e2cf2", "shasum": "" }, "require": { @@ -3923,6 +3932,7 @@ "php": ">=7.0" }, "require-dev": { + "ircmaxell/php-yacc": "0.0.4", "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0" }, "bin": [ @@ -3953,7 +3963,7 @@ "parser", "php" ], - "time": "2019-09-01T07:51:21+00:00" + "time": "2019-10-25T18:33:07+00:00" }, { "name": "ocramius/package-versions", @@ -4747,16 +4757,16 @@ }, { "name": "phpunit/phpunit", - "version": "7.5.16", + "version": "7.5.17", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "316afa6888d2562e04aeb67ea7f2017a0eb41661" + "reference": "4c92a15296e58191a4cd74cff3b34fc8e374174a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/316afa6888d2562e04aeb67ea7f2017a0eb41661", - "reference": "316afa6888d2562e04aeb67ea7f2017a0eb41661", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4c92a15296e58191a4cd74cff3b34fc8e374174a", + "reference": "4c92a15296e58191a4cd74cff3b34fc8e374174a", "shasum": "" }, "require": { @@ -4827,7 +4837,7 @@ "testing", "xunit" ], - "time": "2019-09-14T09:08:39+00:00" + "time": "2019-10-28T10:37:36+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", diff --git a/system/src/Grav/Common/Backup/Backups.php b/system/src/Grav/Common/Backup/Backups.php index e76e05ad6..267b77152 100644 --- a/system/src/Grav/Common/Backup/Backups.php +++ b/system/src/Grav/Common/Backup/Backups.php @@ -17,9 +17,9 @@ use Grav\Common\Scheduler\Scheduler; use Grav\Common\Utils; use Grav\Common\Grav; use RocketTheme\Toolbox\Event\Event; -use RocketTheme\Toolbox\Event\EventDispatcher; use RocketTheme\Toolbox\File\JsonFile; use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator; +use Symfony\Component\EventDispatcher\EventDispatcher; class Backups { diff --git a/system/src/Grav/Common/Cache.php b/system/src/Grav/Common/Cache.php index 6530ebd74..ab08c28da 100644 --- a/system/src/Grav/Common/Cache.php +++ b/system/src/Grav/Common/Cache.php @@ -15,7 +15,7 @@ use Grav\Common\Filesystem\Folder; use Grav\Common\Scheduler\Scheduler; use Psr\SimpleCache\CacheInterface; use RocketTheme\Toolbox\Event\Event; -use RocketTheme\Toolbox\Event\EventDispatcher; +use Symfony\Component\EventDispatcher\EventDispatcher; /** * The GravCache object is used throughout Grav to store and retrieve cached data. diff --git a/system/src/Grav/Common/Debugger.php b/system/src/Grav/Common/Debugger.php index e0f2c0e23..bc6271b73 100644 --- a/system/src/Grav/Common/Debugger.php +++ b/system/src/Grav/Common/Debugger.php @@ -11,7 +11,6 @@ namespace Grav\Common; use Clockwork\Clockwork; use Clockwork\DataSource\MonologDataSource; -use Clockwork\DataSource\PhpDataSource; use Clockwork\DataSource\PsrMessageDataSource; use Clockwork\DataSource\XdebugDataSource; use Clockwork\Helpers\ServerTiming; @@ -38,7 +37,6 @@ use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use RocketTheme\Toolbox\Event\Event; use Symfony\Component\EventDispatcher\EventDispatcherInterface; -use Twig\Environment; use Twig\Template; use Twig\TemplateWrapper; diff --git a/system/src/Grav/Common/Grav.php b/system/src/Grav/Common/Grav.php index a0a1ea75c..e448b1787 100644 --- a/system/src/Grav/Common/Grav.php +++ b/system/src/Grav/Common/Grav.php @@ -11,6 +11,7 @@ namespace Grav\Common; use Grav\Common\Config\Config; use Grav\Common\Config\Setup; +use Grav\Common\Helpers\Exif; use Grav\Common\Page\Interfaces\PageInterface; use Grav\Common\Page\Medium\ImageMedium; use Grav\Common\Page\Medium\Medium; @@ -26,13 +27,16 @@ use Grav\Common\Processors\SchedulerProcessor; use Grav\Common\Processors\TasksProcessor; use Grav\Common\Processors\ThemesProcessor; use Grav\Common\Processors\TwigProcessor; +use Grav\Common\Scheduler\Scheduler; +use Grav\Common\Twig\Twig; use Grav\Framework\DI\Container; use Grav\Framework\Psr7\Response; use Grav\Framework\RequestHandler\RequestHandler; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use RocketTheme\Toolbox\Event\Event; -use RocketTheme\Toolbox\Event\EventDispatcher; +use Symfony\Component\EventDispatcher\EventDispatcher; +use Symfony\Component\EventDispatcher\EventDispatcherInterface; /** * Grav container is the heart of Grav. @@ -70,16 +74,16 @@ class Grav extends Container 'Grav\Common\Service\SessionServiceProvider', 'Grav\Common\Service\StreamsServiceProvider', 'Grav\Common\Service\TaskServiceProvider', - 'browser' => 'Grav\Common\Browser', - 'cache' => 'Grav\Common\Cache', - 'events' => 'RocketTheme\Toolbox\Event\EventDispatcher', - 'exif' => 'Grav\Common\Helpers\Exif', - 'plugins' => 'Grav\Common\Plugins', - 'scheduler' => 'Grav\Common\Scheduler\Scheduler', - 'taxonomy' => 'Grav\Common\Taxonomy', - 'themes' => 'Grav\Common\Themes', - 'twig' => 'Grav\Common\Twig\Twig', - 'uri' => 'Grav\Common\Uri', + 'browser' => Browser::class, + 'cache' => Cache::class, + 'events' => EventDispatcher::class, + 'exif' => Exif::class, + 'plugins' => Plugins::class, + 'scheduler' => Scheduler::class, + 'taxonomy' => Taxonomy::class, + 'themes' => Themes::class, + 'twig' => Twig::class, + 'uri' => Uri::class, ]; /** @@ -407,14 +411,19 @@ class Grav extends Container */ public function fireEvent($eventName, Event $event = null) { - /** @var EventDispatcher $events */ + /** @var EventDispatcherInterface $events */ $events = $this['events']; + if (null === $event) { + $event = new Event(); + } /** @var Debugger $debugger */ $debugger = $this['debugger']; $debugger->addEvent($eventName, $event, $events); - return $events->dispatch($eventName, $event); + $events->dispatch($event, $eventName); + + return $event; } /** diff --git a/system/src/Grav/Common/Page/Flex/PageIndex.php b/system/src/Grav/Common/Page/Flex/PageIndex.php index 5b4b8218e..a7f771a1f 100644 --- a/system/src/Grav/Common/Page/Flex/PageIndex.php +++ b/system/src/Grav/Common/Page/Flex/PageIndex.php @@ -16,6 +16,7 @@ use Grav\Common\Grav; use Grav\Common\Page\Interfaces\PageInterface; use Grav\Common\Utils; use Grav\Framework\Flex\FlexDirectory; +use Grav\Framework\Flex\Interfaces\FlexCollectionInterface; use Grav\Framework\Flex\Interfaces\FlexObjectInterface; use Grav\Framework\Flex\Interfaces\FlexStorageInterface; use Grav\Framework\Flex\Pages\FlexPageIndex; diff --git a/system/src/Grav/Common/Page/Pages.php b/system/src/Grav/Common/Page/Pages.php index 2f2bd2292..9fef16223 100644 --- a/system/src/Grav/Common/Page/Pages.php +++ b/system/src/Grav/Common/Page/Pages.php @@ -28,8 +28,8 @@ use Grav\Framework\Flex\Interfaces\FlexTranslateInterface; use Grav\Framework\Flex\Pages\FlexPageObject; use Grav\Plugin\Admin; use RocketTheme\Toolbox\Event\Event; -use RocketTheme\Toolbox\Event\EventDispatcher; use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator; +use Symfony\Component\EventDispatcher\EventDispatcher; use Whoops\Exception\ErrorException; use Collator; diff --git a/system/src/Grav/Common/Plugin.php b/system/src/Grav/Common/Plugin.php index 4571680c8..71879a72e 100644 --- a/system/src/Grav/Common/Plugin.php +++ b/system/src/Grav/Common/Plugin.php @@ -13,9 +13,9 @@ use Grav\Common\Data\Blueprint; use Grav\Common\Data\Data; use Grav\Common\Page\Interfaces\PageInterface; use Grav\Common\Config\Config; -use RocketTheme\Toolbox\Event\EventDispatcher; use RocketTheme\Toolbox\Event\EventSubscriberInterface; use RocketTheme\Toolbox\File\YamlFile; +use Symfony\Component\EventDispatcher\EventDispatcher; class Plugin implements EventSubscriberInterface, \ArrayAccess { diff --git a/system/src/Grav/Common/Plugins.php b/system/src/Grav/Common/Plugins.php index 0142d6131..1b814c13c 100644 --- a/system/src/Grav/Common/Plugins.php +++ b/system/src/Grav/Common/Plugins.php @@ -13,8 +13,8 @@ use Grav\Common\Config\Config; use Grav\Common\Data\Blueprints; use Grav\Common\Data\Data; use Grav\Common\File\CompiledYamlFile; -use RocketTheme\Toolbox\Event\EventDispatcher; use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator; +use Symfony\Component\EventDispatcher\EventDispatcher; class Plugins extends Iterator { diff --git a/system/src/Grav/Common/Service/AccountsServiceProvider.php b/system/src/Grav/Common/Service/AccountsServiceProvider.php index 9720651b6..0124efff4 100644 --- a/system/src/Grav/Common/Service/AccountsServiceProvider.php +++ b/system/src/Grav/Common/Service/AccountsServiceProvider.php @@ -19,7 +19,7 @@ use Grav\Framework\Flex\FlexDirectory; use Pimple\Container; use Pimple\ServiceProviderInterface; use RocketTheme\Toolbox\Event\Event; -use RocketTheme\Toolbox\Event\EventDispatcher; +use Symfony\Component\EventDispatcher\EventDispatcher; class AccountsServiceProvider implements ServiceProviderInterface { diff --git a/system/src/Grav/Common/Themes.php b/system/src/Grav/Common/Themes.php index f6c12947a..c37f17002 100644 --- a/system/src/Grav/Common/Themes.php +++ b/system/src/Grav/Common/Themes.php @@ -14,9 +14,9 @@ use Grav\Common\File\CompiledYamlFile; use Grav\Common\Data\Blueprints; use Grav\Common\Data\Data; use Grav\Framework\Psr7\Response; -use RocketTheme\Toolbox\Event\EventDispatcher; use RocketTheme\Toolbox\Event\EventSubscriberInterface; use RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator; +use Symfony\Component\EventDispatcher\EventDispatcher; class Themes extends Iterator {