From d10578cab9c6b10ae07ae3b7dd6df7710d8ceb3e Mon Sep 17 00:00:00 2001 From: Franz Liedke Date: Thu, 8 Feb 2018 18:17:14 +0100 Subject: [PATCH] Inline event listeners These will be replaced - one by one - by appropriate extenders. --- extensions/embed/bootstrap.php | 21 ++++++- ...FlushEmbedAssetsWhenSettingsAreChanged.php | 58 ------------------- 2 files changed, 18 insertions(+), 61 deletions(-) delete mode 100644 extensions/embed/src/Listener/FlushEmbedAssetsWhenSettingsAreChanged.php diff --git a/extensions/embed/bootstrap.php b/extensions/embed/bootstrap.php index e8ef43f15..2267510da 100644 --- a/extensions/embed/bootstrap.php +++ b/extensions/embed/bootstrap.php @@ -10,16 +10,31 @@ */ use Flarum\Embed\EmbeddedDiscussionController; -use Flarum\Embed\Listener; +use Flarum\Embed\EmbedFrontend; use Flarum\Extend; +use Flarum\Extension\Event\Disabled; +use Flarum\Extension\Event\Enabled; +use Flarum\Settings\Event\Saved; use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Contracts\View\Factory; return [ (new Extend\Routes('forum')) ->get('/embed/{id:\d+(?:-[^/]*)?}[/{near:[^/]*}]', 'embed.discussion', EmbeddedDiscussionController::class), - function (Dispatcher $events, Factory $view) { - $events->subscribe(Listener\FlushEmbedAssetsWhenSettingsAreChanged::class); + + // TODO: Convert to extenders + function (Dispatcher $events, Factory $view, EmbedFrontend $frontend) { + $events->listen(Saved::class, function (Saved $event) use ($frontend) { + if (preg_match('/^theme_|^custom_less$/i', $event->key)) { + $frontend->getAssets()->flushCss(); + } + }); + $events->listen(Enabled::class, function () use ($frontend) { + $frontend->getAssets()->flush(); + }); + $events->listen(Disabled::class, function () use ($frontend) { + $frontend->getAssets()->flush(); + }); $view->addNamespace('flarum-embed', __DIR__.'/views'); } diff --git a/extensions/embed/src/Listener/FlushEmbedAssetsWhenSettingsAreChanged.php b/extensions/embed/src/Listener/FlushEmbedAssetsWhenSettingsAreChanged.php deleted file mode 100644 index 01d9be516..000000000 --- a/extensions/embed/src/Listener/FlushEmbedAssetsWhenSettingsAreChanged.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Flarum\Embed\Listener; - -use Flarum\Embed\EmbedFrontend; -use Flarum\Extension\Event\Disabled; -use Flarum\Extension\Event\Enabled; -use Flarum\Settings\Event\Saved; -use Illuminate\Contracts\Events\Dispatcher; - -class FlushEmbedAssetsWhenSettingsAreChanged -{ - /** - * @var EmbedFrontend - */ - protected $frontend; - - /** - * @param EmbedFrontend $frontend - */ - public function __construct(EmbedFrontend $frontend) - { - $this->frontend = $frontend; - } - - /** - * @param Dispatcher $events - */ - public function subscribe(Dispatcher $events) - { - $events->listen(Saved::class, [$this, 'flushCss']); - $events->listen(Enabled::class, [$this, 'flushAssets']); - $events->listen(Disabled::class, [$this, 'flushAssets']); - } - - /** - * @param Saved $event - */ - public function flushCss(Saved $event) - { - if (preg_match('/^theme_|^custom_less$/i', $event->key)) { - $this->frontend->getAssets()->flushCss(); - } - } - - public function flushAssets() - { - $this->frontend->getAssets()->flush(); - } -}