From efdff2df686531a58ffec5fe8d9052d09b3cc505 Mon Sep 17 00:00:00 2001 From: Franz Liedke Date: Sat, 19 Nov 2016 16:57:11 +0100 Subject: [PATCH 1/6] Extract another variable --- extensions/approval/src/Listener/ApproveContent.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/extensions/approval/src/Listener/ApproveContent.php b/extensions/approval/src/Listener/ApproveContent.php index e88861f84..162b8d687 100644 --- a/extensions/approval/src/Listener/ApproveContent.php +++ b/extensions/approval/src/Listener/ApproveContent.php @@ -57,13 +57,15 @@ class ApproveContent public function approveDiscussion(PostWasApproved $event) { $post = $event->post; + $discussion = $post->discussion; - $post->discussion->refreshCommentsCount(); - $post->discussion->refreshLastPost(); + $discussion->refreshCommentsCount(); + $discussion->refreshLastPost(); if ($post->number == 1) { - $post->discussion->is_approved = true; + $discussion->is_approved = true; } - $post->discussion->save(); + + $discussion->save(); } } From 2ea6cbee46dc9430c5b1f04e842639c0913df8ef Mon Sep 17 00:00:00 2001 From: AakLak <30278646+AakLak@users.noreply.github.com> Date: Wed, 13 Sep 2017 04:59:31 -0700 Subject: [PATCH 2/6] =?UTF-8?q?run=20the=20convert.sh=20script=20by=20CDK2?= =?UTF-8?q?020=20to=20replace=20namespaces=20to=20be=20comp=E2=80=A6=20(#8?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * run the convert.sh script by CDK2020 to replace namespaces to be compatible for beta8 * update docbloc to match updated namespace --- .../2017_07_22_000000_add_default_permissions.php | 2 +- extensions/approval/src/Access/TagPolicy.php | 4 ++-- extensions/approval/src/Event/PostWasApproved.php | 4 ++-- .../approval/src/Listener/AddClientAssets.php | 8 ++++---- .../src/Listener/AddPostApprovalAttributes.php | 14 +++++++------- .../approval/src/Listener/ApproveContent.php | 10 +++++----- .../src/Listener/HideUnapprovedContent.php | 2 +- .../approval/src/Listener/UnapproveNewContent.php | 10 +++++----- 8 files changed, 27 insertions(+), 27 deletions(-) diff --git a/extensions/approval/migrations/2017_07_22_000000_add_default_permissions.php b/extensions/approval/migrations/2017_07_22_000000_add_default_permissions.php index 9e364d89b..7cee62e41 100644 --- a/extensions/approval/migrations/2017_07_22_000000_add_default_permissions.php +++ b/extensions/approval/migrations/2017_07_22_000000_add_default_permissions.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -use Flarum\Core\Group; +use Flarum\Group\Group; use Flarum\Database\Migration; return Migration::addPermissions([ diff --git a/extensions/approval/src/Access/TagPolicy.php b/extensions/approval/src/Access/TagPolicy.php index 30e85a4d5..a796c0bef 100755 --- a/extensions/approval/src/Access/TagPolicy.php +++ b/extensions/approval/src/Access/TagPolicy.php @@ -11,8 +11,8 @@ namespace Flarum\Approval\Access; -use Flarum\Core\Access\AbstractPolicy; -use Flarum\Core\User; +use Flarum\User\AbstractPolicy; +use Flarum\User\User; use Flarum\Tags\Tag; class TagPolicy extends AbstractPolicy diff --git a/extensions/approval/src/Event/PostWasApproved.php b/extensions/approval/src/Event/PostWasApproved.php index 0d42e8239..a726b24ce 100644 --- a/extensions/approval/src/Event/PostWasApproved.php +++ b/extensions/approval/src/Event/PostWasApproved.php @@ -11,8 +11,8 @@ namespace Flarum\Approval\Event; -use Flarum\Core\Post; -use Flarum\Core\User; +use Flarum\Post\Post; +use Flarum\User\User; class PostWasApproved { diff --git a/extensions/approval/src/Listener/AddClientAssets.php b/extensions/approval/src/Listener/AddClientAssets.php index aa96af1ed..96243d6aa 100644 --- a/extensions/approval/src/Listener/AddClientAssets.php +++ b/extensions/approval/src/Listener/AddClientAssets.php @@ -11,7 +11,7 @@ namespace Flarum\Approval\Listener; -use Flarum\Event\ConfigureWebApp; +use Flarum\Frontend\Event\Rendering; use Illuminate\Contracts\Events\Dispatcher; class AddClientAssets @@ -21,13 +21,13 @@ class AddClientAssets */ public function subscribe(Dispatcher $events) { - $events->listen(ConfigureWebApp::class, [$this, 'addAssets']); + $events->listen(Rendering::class, [$this, 'addAssets']); } /** - * @param ConfigureClientView $event + * @param Rendering $event */ - public function addAssets(ConfigureWebApp $event) + public function addAssets(Rendering $event) { if ($event->isForum()) { $event->addAssets([ diff --git a/extensions/approval/src/Listener/AddPostApprovalAttributes.php b/extensions/approval/src/Listener/AddPostApprovalAttributes.php index 62908fdd7..fbb3ecd9d 100644 --- a/extensions/approval/src/Listener/AddPostApprovalAttributes.php +++ b/extensions/approval/src/Listener/AddPostApprovalAttributes.php @@ -11,10 +11,10 @@ namespace Flarum\Approval\Listener; -use Flarum\Api\Serializer\DiscussionBasicSerializer; -use Flarum\Api\Serializer\PostBasicSerializer; +use Flarum\Api\Serializer\BasicDiscussionSerializer; +use Flarum\Api\Serializer\BasicPostSerializer; use Flarum\Api\Serializer\PostSerializer; -use Flarum\Event\PrepareApiAttributes; +use Flarum\Api\Event\Serializing; use Illuminate\Contracts\Events\Dispatcher; class AddPostApprovalAttributes @@ -24,15 +24,15 @@ class AddPostApprovalAttributes */ public function subscribe(Dispatcher $events) { - $events->listen(PrepareApiAttributes::class, [$this, 'addApiAttributes']); + $events->listen(Serializing::class, [$this, 'addApiAttributes']); } /** - * @param PrepareApiAttributes $event + * @param Serializing $event */ - public function addApiAttributes(PrepareApiAttributes $event) + public function addApiAttributes(Serializing $event) { - if ($event->isSerializer(DiscussionBasicSerializer::class) + if ($event->isSerializer(BasicDiscussionSerializer::class) || $event->isSerializer(PostBasicSerializer::class)) { $event->attributes['isApproved'] = (bool) $event->model->is_approved; } diff --git a/extensions/approval/src/Listener/ApproveContent.php b/extensions/approval/src/Listener/ApproveContent.php index d815f9ba8..2616c9b18 100644 --- a/extensions/approval/src/Listener/ApproveContent.php +++ b/extensions/approval/src/Listener/ApproveContent.php @@ -12,8 +12,8 @@ namespace Flarum\Approval\Listener; use Flarum\Approval\Event\PostWasApproved; -use Flarum\Core\Access\AssertPermissionTrait; -use Flarum\Event\PostWillBeSaved; +use Flarum\User\AssertPermissionTrait; +use Flarum\Post\Event\Saving; use Illuminate\Contracts\Events\Dispatcher; class ApproveContent @@ -25,14 +25,14 @@ class ApproveContent */ public function subscribe(Dispatcher $events) { - $events->listen(PostWillBeSaved::class, [$this, 'approvePost']); + $events->listen(Saving::class, [$this, 'approvePost']); $events->listen(PostWasApproved::class, [$this, 'approveDiscussion']); } /** - * @param PostWillBeSaved $event + * @param Saving $event */ - public function approvePost(PostWillBeSaved $event) + public function approvePost(Saving $event) { $attributes = $event->data['attributes']; $post = $event->post; diff --git a/extensions/approval/src/Listener/HideUnapprovedContent.php b/extensions/approval/src/Listener/HideUnapprovedContent.php index 71e44c45c..2a3491636 100644 --- a/extensions/approval/src/Listener/HideUnapprovedContent.php +++ b/extensions/approval/src/Listener/HideUnapprovedContent.php @@ -11,7 +11,7 @@ namespace Flarum\Approval\Listener; -use Flarum\Core\Discussion; +use Flarum\Discussion\Discussion; use Flarum\Event\ScopeHiddenDiscussionVisibility; use Flarum\Event\ScopeModelVisibility; use Flarum\Event\ScopePostVisibility; diff --git a/extensions/approval/src/Listener/UnapproveNewContent.php b/extensions/approval/src/Listener/UnapproveNewContent.php index 6a08d69f9..dcbcc10ea 100644 --- a/extensions/approval/src/Listener/UnapproveNewContent.php +++ b/extensions/approval/src/Listener/UnapproveNewContent.php @@ -11,9 +11,9 @@ namespace Flarum\Approval\Listener; -use Flarum\Core\Post; +use Flarum\Post\Post; use Flarum\Event\ConfigureModelDefaultAttributes; -use Flarum\Event\PostWillBeSaved; +use Flarum\Post\Event\Saving; use Flarum\Flags\Flag; use Illuminate\Contracts\Events\Dispatcher; @@ -25,7 +25,7 @@ class UnapproveNewContent public function subscribe(Dispatcher $events) { $events->listen(ConfigureModelDefaultAttributes::class, [$this, 'approveByDefault']); - $events->listen(PostWillBeSaved::class, [$this, 'unapproveNewPosts']); + $events->listen(Saving::class, [$this, 'unapproveNewPosts']); } /** @@ -39,9 +39,9 @@ class UnapproveNewContent } /** - * @param PostWillBeSaved $event + * @param Saving $event */ - public function unapproveNewPosts(PostWillBeSaved $event) + public function unapproveNewPosts(Saving $event) { $post = $event->post; From 910ddc9f5588e0480e5a38eb1626cb4724670260 Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Wed, 13 Sep 2017 12:00:17 +0000 Subject: [PATCH 3/6] Apply fixes from StyleCI [ci skip] [skip ci] --- .../migrations/2017_07_22_000000_add_default_permissions.php | 2 +- extensions/approval/src/Access/TagPolicy.php | 2 +- .../approval/src/Listener/AddPostApprovalAttributes.php | 5 ++--- extensions/approval/src/Listener/ApproveContent.php | 2 +- extensions/approval/src/Listener/UnapproveNewContent.php | 4 ++-- 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/extensions/approval/migrations/2017_07_22_000000_add_default_permissions.php b/extensions/approval/migrations/2017_07_22_000000_add_default_permissions.php index 7cee62e41..aed5c090f 100644 --- a/extensions/approval/migrations/2017_07_22_000000_add_default_permissions.php +++ b/extensions/approval/migrations/2017_07_22_000000_add_default_permissions.php @@ -9,8 +9,8 @@ * file that was distributed with this source code. */ -use Flarum\Group\Group; use Flarum\Database\Migration; +use Flarum\Group\Group; return Migration::addPermissions([ 'discussion.startWithoutApproval' => Group::MEMBER_ID, diff --git a/extensions/approval/src/Access/TagPolicy.php b/extensions/approval/src/Access/TagPolicy.php index a796c0bef..01768b432 100755 --- a/extensions/approval/src/Access/TagPolicy.php +++ b/extensions/approval/src/Access/TagPolicy.php @@ -11,9 +11,9 @@ namespace Flarum\Approval\Access; +use Flarum\Tags\Tag; use Flarum\User\AbstractPolicy; use Flarum\User\User; -use Flarum\Tags\Tag; class TagPolicy extends AbstractPolicy { diff --git a/extensions/approval/src/Listener/AddPostApprovalAttributes.php b/extensions/approval/src/Listener/AddPostApprovalAttributes.php index fbb3ecd9d..18d4e0c81 100644 --- a/extensions/approval/src/Listener/AddPostApprovalAttributes.php +++ b/extensions/approval/src/Listener/AddPostApprovalAttributes.php @@ -11,10 +11,9 @@ namespace Flarum\Approval\Listener; -use Flarum\Api\Serializer\BasicDiscussionSerializer; -use Flarum\Api\Serializer\BasicPostSerializer; -use Flarum\Api\Serializer\PostSerializer; use Flarum\Api\Event\Serializing; +use Flarum\Api\Serializer\BasicDiscussionSerializer; +use Flarum\Api\Serializer\PostSerializer; use Illuminate\Contracts\Events\Dispatcher; class AddPostApprovalAttributes diff --git a/extensions/approval/src/Listener/ApproveContent.php b/extensions/approval/src/Listener/ApproveContent.php index 2616c9b18..4b941400f 100644 --- a/extensions/approval/src/Listener/ApproveContent.php +++ b/extensions/approval/src/Listener/ApproveContent.php @@ -12,8 +12,8 @@ namespace Flarum\Approval\Listener; use Flarum\Approval\Event\PostWasApproved; -use Flarum\User\AssertPermissionTrait; use Flarum\Post\Event\Saving; +use Flarum\User\AssertPermissionTrait; use Illuminate\Contracts\Events\Dispatcher; class ApproveContent diff --git a/extensions/approval/src/Listener/UnapproveNewContent.php b/extensions/approval/src/Listener/UnapproveNewContent.php index dcbcc10ea..b3a02b238 100644 --- a/extensions/approval/src/Listener/UnapproveNewContent.php +++ b/extensions/approval/src/Listener/UnapproveNewContent.php @@ -11,10 +11,10 @@ namespace Flarum\Approval\Listener; -use Flarum\Post\Post; use Flarum\Event\ConfigureModelDefaultAttributes; -use Flarum\Post\Event\Saving; use Flarum\Flags\Flag; +use Flarum\Post\Event\Saving; +use Flarum\Post\Post; use Illuminate\Contracts\Events\Dispatcher; class UnapproveNewContent From 6f07aef206f1484a9d6589ffcbc635eb17d382b1 Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Sat, 11 Nov 2017 22:43:07 +1030 Subject: [PATCH 4/6] Performance: Reuse list of disallowed tags --- extensions/approval/src/Access/TagPolicy.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/extensions/approval/src/Access/TagPolicy.php b/extensions/approval/src/Access/TagPolicy.php index 01768b432..b713a0092 100755 --- a/extensions/approval/src/Access/TagPolicy.php +++ b/extensions/approval/src/Access/TagPolicy.php @@ -29,7 +29,11 @@ class TagPolicy extends AbstractPolicy */ public function addToDiscussion(User $actor, Tag $tag) { - $disallowedTags = Tag::getIdsWhereCannot($actor, 'discussion.startWithoutApproval'); + static $disallowedTags; + + if (! $disallowedTags) { + $disallowedTags = Tag::getIdsWhereCannot($actor, 'discussion.startWithoutApproval'); + } if (in_array($tag->id, $disallowedTags)) { return false; From 15039737b8ed7174aee7f4be4fb3d1f3b0a240e9 Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Sun, 12 Nov 2017 21:14:53 +1030 Subject: [PATCH 5/6] Don't over-cache the disallowed tags --- extensions/approval/src/Access/TagPolicy.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/approval/src/Access/TagPolicy.php b/extensions/approval/src/Access/TagPolicy.php index b713a0092..228481b2f 100755 --- a/extensions/approval/src/Access/TagPolicy.php +++ b/extensions/approval/src/Access/TagPolicy.php @@ -31,8 +31,8 @@ class TagPolicy extends AbstractPolicy { static $disallowedTags; - if (! $disallowedTags) { - $disallowedTags = Tag::getIdsWhereCannot($actor, 'discussion.startWithoutApproval'); + if (! isset($disallowedTags[$actor->id])) { + $disallowedTags[$actor->id] = Tag::getIdsWhereCannot($actor, 'discussion.startWithoutApproval'); } if (in_array($tag->id, $disallowedTags)) { From a822ab83106c9e1c8f2bed99084972b97548c1e1 Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Tue, 26 Dec 2017 19:47:42 +1030 Subject: [PATCH 6/6] Fix class name --- extensions/approval/src/Listener/AddPostApprovalAttributes.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/approval/src/Listener/AddPostApprovalAttributes.php b/extensions/approval/src/Listener/AddPostApprovalAttributes.php index 18d4e0c81..d8b479383 100644 --- a/extensions/approval/src/Listener/AddPostApprovalAttributes.php +++ b/extensions/approval/src/Listener/AddPostApprovalAttributes.php @@ -32,7 +32,7 @@ class AddPostApprovalAttributes public function addApiAttributes(Serializing $event) { if ($event->isSerializer(BasicDiscussionSerializer::class) - || $event->isSerializer(PostBasicSerializer::class)) { + || $event->isSerializer(PostSerializer::class)) { $event->attributes['isApproved'] = (bool) $event->model->is_approved; }