diff --git a/extensions/approval/extend.php b/extensions/approval/extend.php index 97038ebc7..d630af3b2 100644 --- a/extensions/approval/extend.php +++ b/extensions/approval/extend.php @@ -13,12 +13,11 @@ use Flarum\Approval\Access; use Flarum\Approval\Event\PostWasApproved; use Flarum\Approval\Listener; use Flarum\Discussion\Discussion; -use Flarum\Event\GetModelIsPrivate; use Flarum\Extend; +use Flarum\Post\CommentPost; use Flarum\Post\Event\Saving; use Flarum\Post\Post; use Flarum\Tags\Tag; -use Illuminate\Contracts\Events\Dispatcher; return [ (new Extend\Frontend('forum')) @@ -64,7 +63,9 @@ return [ (new Extend\ModelVisibility(Discussion::class)) ->scope(Access\ScopePrivateDiscussionVisibility::class, 'viewPrivate'), - function (Dispatcher $events) { - $events->listen(GetModelIsPrivate::class, [Listener\UnapproveNewContent::class, 'markUnapprovedContentAsPrivate']); - }, + (new Extend\ModelPrivate(Discussion::class)) + ->checker([Listener\UnapproveNewContent::class, 'markUnapprovedContentAsPrivate']), + + (new Extend\ModelPrivate(CommentPost::class)) + ->checker([Listener\UnapproveNewContent::class, 'markUnapprovedContentAsPrivate']), ]; diff --git a/extensions/approval/src/Listener/UnapproveNewContent.php b/extensions/approval/src/Listener/UnapproveNewContent.php index 6251c7ab8..8f95dd951 100644 --- a/extensions/approval/src/Listener/UnapproveNewContent.php +++ b/extensions/approval/src/Listener/UnapproveNewContent.php @@ -10,10 +10,9 @@ namespace Flarum\Approval\Listener; use Flarum\Discussion\Discussion; -use Flarum\Event\GetModelIsPrivate; use Flarum\Flags\Flag; +use Flarum\Post\CommentPost; use Flarum\Post\Event\Saving; -use Flarum\Post\Post; class UnapproveNewContent { @@ -55,15 +54,13 @@ class UnapproveNewContent } /** - * @param GetModelIsPrivate $event + * @param Discussion|CommentPost $instance * @return bool|null */ - public static function markUnapprovedContentAsPrivate(GetModelIsPrivate $event) + public static function markUnapprovedContentAsPrivate($instance) { - if ($event->model instanceof Post || $event->model instanceof Discussion) { - if (! $event->model->is_approved) { - return true; - } + if (! $instance->is_approved) { + return true; } } }