diff --git a/extensions/tags/LICENSE b/extensions/tags/LICENSE index 1e346ea06..e6288c67a 100644 --- a/extensions/tags/LICENSE +++ b/extensions/tags/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2014-2017 Toby Zerner +Copyright (c) 2014-2018 Toby Zerner Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/extensions/tags/bootstrap.php b/extensions/tags/bootstrap.php index 89cbb63cc..f5111f809 100644 --- a/extensions/tags/bootstrap.php +++ b/extensions/tags/bootstrap.php @@ -9,23 +9,34 @@ * file that was distributed with this source code. */ +use Flarum\Extend; use Flarum\Tags\Access; use Flarum\Tags\Listener; use Illuminate\Contracts\Events\Dispatcher; -return function (Dispatcher $events) { - $events->subscribe(Listener\AddClientAssets::class); - $events->subscribe(Listener\AddDiscussionTagsRelationship::class); - $events->subscribe(Listener\AddForumTagsRelationship::class); - $events->subscribe(Listener\AddTagsApi::class); - $events->subscribe(Listener\CreatePostWhenTagsAreChanged::class); - $events->subscribe(Listener\FilterDiscussionListByTags::class); - $events->subscribe(Listener\FilterPostsQueryByTag::class); - $events->subscribe(Listener\SaveTagsToDatabase::class); - $events->subscribe(Listener\UpdateTagMetadata::class); +return [ + (new Extend\Assets('forum')) + ->asset(__DIR__.'/js/forum/dist/extension.js') + ->asset(__DIR__.'/less/forum/extension.less') + ->bootstrapper('flarum/tags/main'), + (new Extend\Assets('admin')) + ->asset(__DIR__.'/js/admin/dist/extension.js') + ->asset(__DIR__.'/less/admin/extension.less') + ->bootstrapper('flarum/tags/main'), + function (Dispatcher $events) { + $events->subscribe(Listener\AddClientAssets::class); + $events->subscribe(Listener\AddDiscussionTagsRelationship::class); + $events->subscribe(Listener\AddForumTagsRelationship::class); + $events->subscribe(Listener\AddTagsApi::class); + $events->subscribe(Listener\CreatePostWhenTagsAreChanged::class); + $events->subscribe(Listener\FilterDiscussionListByTags::class); + $events->subscribe(Listener\FilterPostsQueryByTag::class); + $events->subscribe(Listener\SaveTagsToDatabase::class); + $events->subscribe(Listener\UpdateTagMetadata::class); - $events->subscribe(Access\GlobalPolicy::class); - $events->subscribe(Access\DiscussionPolicy::class); - $events->subscribe(Access\TagPolicy::class); - $events->subscribe(Access\FlagPolicy::class); -}; + $events->subscribe(Access\GlobalPolicy::class); + $events->subscribe(Access\DiscussionPolicy::class); + $events->subscribe(Access\TagPolicy::class); + $events->subscribe(Access\FlagPolicy::class); + }, +]; diff --git a/extensions/tags/src/Access/DiscussionPolicy.php b/extensions/tags/src/Access/DiscussionPolicy.php index 4194da55c..fc2e5807d 100755 --- a/extensions/tags/src/Access/DiscussionPolicy.php +++ b/extensions/tags/src/Access/DiscussionPolicy.php @@ -45,7 +45,7 @@ class DiscussionPolicy extends AbstractPolicy * @param Discussion $discussion * @return bool */ - public function after(User $actor, $ability, Discussion $discussion) + public function can(User $actor, $ability, Discussion $discussion) { // Wrap all discussion permission checks with some logic pertaining to // the discussion's tags. If the discussion has a tag that has been diff --git a/extensions/tags/src/Listener/AddClientAssets.php b/extensions/tags/src/Listener/AddClientAssets.php index 3ebcfb9f5..4addd83b3 100755 --- a/extensions/tags/src/Listener/AddClientAssets.php +++ b/extensions/tags/src/Listener/AddClientAssets.php @@ -12,7 +12,6 @@ namespace Flarum\Tags\Listener; use Flarum\Event\ConfigureForumRoutes; -use Flarum\Frontend\Event\Rendering; use Illuminate\Contracts\Events\Dispatcher; class AddClientAssets @@ -22,32 +21,9 @@ class AddClientAssets */ public function subscribe(Dispatcher $events) { - $events->listen(Rendering::class, [$this, 'addAssets']); $events->listen(ConfigureForumRoutes::class, [$this, 'addRoutes']); } - /** - * @param Rendering $app - */ - public function addAssets(Rendering $app) - { - if ($app->isForum()) { - $app->addAssets([ - __DIR__.'/../../js/forum/dist/extension.js', - __DIR__.'/../../less/forum/extension.less' - ]); - $app->addBootstrapper('flarum/tags/main'); - } - - if ($app->isAdmin()) { - $app->addAssets([ - __DIR__.'/../../js/admin/dist/extension.js', - __DIR__.'/../../less/admin/extension.less' - ]); - $app->addBootstrapper('flarum/tags/main'); - } - } - /** * @param ConfigureForumRoutes $routes */ diff --git a/extensions/tags/src/Listener/FilterDiscussionListByTags.php b/extensions/tags/src/Listener/FilterDiscussionListByTags.php index 5efef1765..59a081c43 100755 --- a/extensions/tags/src/Listener/FilterDiscussionListByTags.php +++ b/extensions/tags/src/Listener/FilterDiscussionListByTags.php @@ -11,8 +11,8 @@ namespace Flarum\Tags\Listener; -use Flarum\Event\ConfigureDiscussionGambits; use Flarum\Discussion\Event\Searching; +use Flarum\Event\ConfigureDiscussionGambits; use Flarum\Tags\Gambit\TagGambit; use Flarum\Tags\Tag; use Illuminate\Contracts\Events\Dispatcher;